J 入力ボックスの作成

ユーザーが式や値を入力できるようにします。GeoGebraとCinderellaでは動作が異なります。

例として,関数式を入力してそのグラフを描くようにしてみます。

GeoGebra

GeoGebraでは,オブジェクトにリンクした入力ボックスとそうでない入力ボックスを作ることができます。

オブジェクトにリンクした入力ボックス

まず,オブジェクトを1つ作ります。ここでは関数のグラフを描くので,入力バーに f(x)=x^2 と入力して2次関数のグラフでも描いておきましょう。(何でもよいです)

入力ボックスツール(右から2番目のツールグループ)をクリックし,グラフィクスビューの適当なところをクリックします。入力ボックスの設定ウィンドウが開きます。

見出しに f(x)= を入力し,リンクされたオブジェクトで f(x)=x^2 を選択します。

OKボタンを押すと入力ボックスができます。

動かすモードにして,入力ボックスでクリックし,式を入力するとそのグラフが描かれます。

三角関数などもできます。

入力ボックスに値を入れて使う

入力ボックスに値を入れてオブジェクトで利用する方法です。

例として,点の大きさを入力して変えてみましょう。

まず,点Aを作図し,入力ボックスを作りますが,こんどは,「見出し」に「Size=」とでも書いておき,リンクされたオブジェクトは空欄のままOKボタンを押します。

できた入力ボックスを右クリックしてプロパティを開き,プレファレンスの「スクリプティング」タブをクリックします。OnClick タブに,SetPointSize[A,%0] とコマンドを入力します。この %0 が入力ボックスに入力された値になります。

入力ボックスに数字を入れると,点の大きさが変わります。

入力ボックスの位置変更,削除

入力ボックスの位置を変更したり削除する方法はボタンと同じです。一度右クリックで「オブジェクトの固定」のチェックを外します。

Cinderella

Cinderellaでは,モードメニューの「特別」「文字列入力」で作った文字列のボックスを入力ボックスとして使うことができます。上のGeoGebraの例を同じことをやってみましょう。

モードメニューの「特別」「文字列入力」を選び,画面上の適当なところでクリックします。ここに「y=x^2」とでも書いておきます。OKボタンを押すと,枠で囲まれた文字列ができます。

枠の大きさは,入力時に文字幅を設定するか,インスペクタで変更します。また,文字の大きさはインスペクタで変更できます。

次に,スクリプトメニューからCindyscriptを選び,左側の「Draw」をクリックして,スクリプトを書きます。

できた文字列の識別名は Text0 ですので(最初に作った文字列は Text0。インスペクタで確認するとよい)その内容を Text0.val で取得します。

これを解釈して(parse()),関数を定義し,plot()で描くのです。

str=Text0.val;

f(x):=parse(str);

plot(f(x));

Shift+Enter で実行するとグラフが描かれます。

三角関数も描けます。

GeoGebraと異なり,かけ算の * は略せません。また,累乗は ^2 の表示のままです。

Cindyscriptでは,Text0.val でその内容を取得するので,次の例の,点Aの大きさを変える場合も手順は同じです。

スクリプトを, A.size=parse(Text0.val) とするだけです。

入力ボックスの位置変更,削除

入力ボックスの位置を変更したり削除する方法は普通の幾何要素と同じです。動かすモードで選択してドラッグしたり,消去ツールを選べばよいのです。