0

GeoGebraの使いかた(軌跡)

33
0
$$$$

はじめに

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

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

残像を表示

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

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

Locusコマンド

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

      loc1=Locus(Q,P)
    

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

LocusEquationコマンド

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

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

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

$c:x^2+y^2=100$$y$座標を$\frac{1}{f(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コマンドで軸の表示/非表示を変えても、設定パネルには反映されないっぽい。
不都合が生じることはあまりないと思うが、留意しておいた方が良いかも。

投稿日:17日前

この記事を高評価した人

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

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

バッジはありません。

投稿者

tanu
23
4794

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中