0

GeoGebraの使いかた(軌跡)

637
0

はじめに

最近、 GeoGebra で軌跡を扱う方法を学んだのでメモしておきます。
GeoGebraはGUIだけでも高機能ですが、コマンドを使うと、より多くのことができるそう。
おいおい勉強していきたいです(コマンドを実行する手順は記事の最後かきました)。

曲線上を動く点Pに応じて点Q決まる。
Pを動かしたときに点Qが描く曲線を軌跡という

残像を表示

簡易的には「残像を表示」が便利

  • Qのプロパティで「残像を表示」にチェック
  • Pを手動でグリグリ動かすと、点Qの残像が表示される。
  • Pの動きに対応する、点Qの動きが分かりやすい。
    ※残像はグラフの拡大縮小、視点の移動などで消える。

Locusコマンド

軌跡を描いてくれるコマンド。軌跡を描く点と、参照元の点を指定する。

      loc1=Locus(Q,P)
    

Pの代わりにスライダーを指定することも可能

LocusEquationコマンド

「運が良ければ」軌跡の方程式を算出してくれる。
Locusコマンドと同じく、軌跡を描く点と、参照元の点を指定する方法と
Losusコマンドで得られた軌跡を直接指定する方法がある。

      loc1=Locus(Q,P)
    
  • スライダーを使用した軌跡には使用不可
  • 複雑すぎるものには無効
  • 算出された方程式のグラフが、実際の軌跡以外の線を含む場合あり。
    ※実際の軌跡がf(x,y)=0なのに、f(x,y)g(x,y)=0が出力されるみたいなイメージ。
    「グレブナー基底」を使用して計算している影響らしいが、詳細は不明。

例:円を歪めた図形を描画する

c:x2+y2=100y座標を1f(x)倍した曲線を描画するスクリプト

      #半径10の円を作成
c:x^2+y^2=100

# |x|<=10の範囲で0にならない適当な関数を指定
f0:10/x^2+1
f:if(-10<=x<=10,f0)

#円上に動点Pをとる
P=Point(c)

#点Qを定義する。
Q=(x(P),y(P)/f(x(P)))

#Qの軌跡を描く
loc1=Locus(Q,P)
SetColor(loc1,255,0,0)
    

GoeGebraでコマンドを実行する手順

入力バーにコマンドを入力して「Enter」

複数のコマンドを連続実行する方法1

Executeコマンドを実行する

      Execute({"command1","command2","command3"})
    

複数のコマンドを連続実行する方法2(スクリプト)

手順はこんな感じ(もしかしたら、もっと良い方法があるかも)。

  1. ボタンを挿入して「スクリプトの記述」の欄にスクリプトを書く(クリック時用スクリプト)。
  2. オブジェクトの設定パネルを閉じる(閉じないとスクリプトが動作しない)
  3. ボタンをクリックする。
スクリプトについて

GGBスクリプト(通常のコマンド)かJavaScriptが使える。

GGBスクリプト

  • 通常のコマンドを順に書いていけば良い
  • スクリプトのみ使用可能なコマンドがある( Scripting Commands )。
  • 行頭に#をいれるとコメントアウト可能

JavaScript

  • GeoGebraの機能を使いたいときは JavaScript用リファレンス を参照。
  • 「グローバルJavaScript」の欄に関数を記述すると、他のオブジェクトから呼び出せる。
  • GGBスクリプトよりも多機能っぽい。
スクリプト例
      //点Aの表示/非表示を切り替える
var v=ggbApplet.getVisible("A");
ggbApplet.setVisible("A",!v);
    
      //「実行ボタンを作る」
ggbApplet.evalCommand("Button(\"実行\")")
    

注意

少しいじった感じだと、コマンドとGUIが微妙に連動してない感じがする。
※ShowAxesコマンドで軸の表示/非表示を変えても、設定パネルには反映されないっぽい。
不都合が生じることはあまりないと思うが、留意しておいた方が良いかも。

投稿日:2024429
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

tanu
29
19044

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 軌跡
  3. 残像を表示
  4. Locusコマンド
  5. 例:円を歪めた図形を描画する
  6. GoeGebraでコマンドを実行する手順