A スクリプト

GeoGebraには2つのスクリプトがあります。GeoGebraScriptとJavaScriptです。

CinderellaにはCindyscriptというプログラミング言語があります。

「Script」という名称は同じですが,それぞれ異なったものです。

GeoGebraでのスクリプトについては,「GeoGebra日本」の「06 スクリプト」に説明がありますが,すこし補足しましょう。

GeoGebraでのツールとコマンド

GeoGebraでは,入力バーにコマンドを入力することで,点や線,グラフを描くことができます。また,作図ツールで点や線を描くことができます。作図ツールで図を描くとき,背景ではコマンドを実行しています。それは,できたオブジェクトを右クリックしてプロパティを開き,プレファレンスを見るとわかります。

たとえば,直線ツールで引いた直線のプロパティープレファレンスは次のようになっています。

「定義」に Line[A,B] とあるのがわかります。

これに対し,Cinderellaではすこし事情が異なります。内部的には同じような処理をしているのでしょうが,作図された幾何要素とコマンドとの関連をユーザーは見ることができません。また,点をとるコマンドの draw(座標)でできる点と,ツールでとる点は性質が異なっています。

上の図で,「スクリプティング」タブをクリックすると,複数行のスクリプトを書くことができます。「GeoGebra日本」の「06 スクリプト」の「GeoGebraスクリプト」にその説明があります。

ここに書いたスクリプトは,該当するオブジェクトを動かしたりするタイミングで実行されます。

Cindyscript

CinderellaにはCindyscriptというプログラミング言語が付随しています。付随というより,Cinderella.2 は「幾何(Cinderella)」「物理(CindyLab)」「Cindyscript」という3本柱でできているという方が正確です。

メニューの「スクリプト」から「Cindyscript」を選ぶと,スクリプトエディタが別ウィンドウで開きます。

画面左に並んでいるものを「スロット」といいます。スクリプトの実行タイミングで分類します。よく使うのは次のものです。

・Draw もっともよく使うもので,Cinderellaの描画面に変化が起きるとその都度実行されます。

・Initialization プログラムを実行するときにはじめに一度だけ実行されます。

初期設定をここで行ったり,ユーザー定義関数をここで定義します。

・Timer Tick アニメーションを行うときに,ここで内部時計を取得します。

・Simulation Start アニメーションのプレイボタンを押すと実行されます。

・Simulation Stop アニメーションのストップボタンを押すと実行されます。

・Mouse Click マウスをクリックすると実行されます。

・Key Typed キーボードを打つと実行されます。

Cindyscriptでは,作図ツールで描いた幾何要素のコントロールの他,さまざまなことをプログラミングすることができます。弱点は,インタプリタであるため動作速度が遅いことでしょう。遅いといっても大量のデータを処理するのでなければほとんど問題になりません。

Java

Cinderellaでは,プラグインを作って機能強化をすることができます。たとえば,レイトレーシングで3DグラフィクスができるCindy3Dはプラグインです。Javaで作成したプラグインは,プラグインフォルダに入れて,importして使います。