GeoGebraとは、動的な数学ソフトウェアです。
ジオジェブラ(英語読み?)と読んでもいいし、ゲオゲブラ(ドイツ語読み?)と読んでもいいようですので、好きな呼び方で呼びましょう
ブラウザ版
https://www.geogebra.org/?lang=ja
スマホアプリ版は、
GeoGebra関数グラフ:グラフ作成専用アプリ
GeoGebra空間図形:空間図形専用アプリ
GeoGebra幾何:平面図形専用アプリ
GeoGebra CAS(数式処理):グラフ作成アプリ
GeoGebra科学計算用電卓
などなど、多岐に分割されているようです。
外心3つ法とは、正角四角形問題のなかで、初等幾何学における証明が見つかってない問題群を、初等幾何学の範疇で解いてしまったとされる方法です。
(これを解いたのがどうやら日本人らしいのです。)
このソフトウェアを使って、正角四角形問題を作図し、解法を解説してみようかと考えているんだが、私の中でまだまだ理解不能なのであるw。
というわけで、GeoGebraを使った作図にチャレンジということで、題材として正角四角形問題を外心3つ法で解く流れとします。
まずは、GeoGebraにアカウントを作る。
まぁ、作らなくても使えるのだろうけど、アカウントがないと機能制限されるんだろうから、私は作りました。
メインメニューは左上の≡をクリック
knife1968でログインしています。
左ペインは、
電卓アイコン:数式
↑ここにソフトウェアキーボードがあるので、ここからギリシャ文字やら、「˚」記号などを入力出来ます。
ちょっとフライングして、数式を入れちゃいました。
参考にしてみてください。
図形アイコン:ツール
こちらはマウスで指定していく形で、先の数式を作っていくようです。
初めのうちは、この2つのタブを交互にみて、右ペインの挙動をみながら手探りしていきたいと思います。
ソフトウェアキーボードもみてみましょう。
簡単な電卓といった感じです。
関数ですね。
ここの右上に「˚」記号があるので、覚えておいてください。
アルファベットのキーボードですね。
左下のシフトキー「#&¬」を押すと、記号モードになります。
ギリシャ文字のキーボードですね。
左ペインの数式入力では、日本語の入力はまともに出来ません。
ソフトウェアキーボードを駆使して入力するか、
メモ帳などに入力したものをコピペするか、
方法はいろいろあるかとは思います。
まずは、底辺を適当に決めてしまおう。
電卓アイコンをクリックして、数式を入れてみます。
※一行ずつ入れて下さい。
B=(0,0)
C=(1000,0)
これで点Bと点Cが描けました。
とりあえず、底辺を1000としてみたということです。
D'=Rotate(C,46˚,B)
A'=Rotate(D',38˚,B)
A''=Rotate(B,-(22˚),C)
D''=Rotate(A'',-(48˚),C)
これで、底角を構成する4つの角度を決めてみました。
AやDは後で使うので、A'、A''、D'、D''としておきます。
ba':Ray(B,A')
ca'':Ray(C,A'')
bd':Ray(B,D')
cd'':Ray(C,D'')
これで点B、点Cから、それぞれ2方向にAやDを求めるための補助線が引けました。
A=Intersect(ba',ca'')
D=Intersect(bd',cd'')
先の補助線の交点を、それぞれ点A、点Dとしました。
ab=Segment(A,B)
bc=Segment(B,C)
cd=Segment(C,D)
da=Segment(D,A)
ac=Segment(A,C)
bd=Segment(B,D)
これで、点と点を結んで正角四角形問題の図が出来ました。
α=Angle(D,B,A)
β=Angle(C,B,D)
γ=Angle(A,C,B)
δ=Angle(D,C,A)
θ=Angle(A,D,B)
これで、角度が入りました。
マウスをドラッグして、文字の位置などを調整したりできます。
不要な補助線、ラベルなどは非表示にします。
右ペインは、こんな感じに仕上がっています。
これは、算数やら数学の図形問題を作るのに最適なソフトですね。
とりあえず、ここで保存しておきましょうかね。
外心3つ法にチャレンジします。
名前の通り、外心を3つ作っていくようです。
しかし、ツールに外心の項目がありません。
「3点を通る円」というものはありますが、中心座標を取得出来ません。
まぁ、無くても困らないんですけどね。
Pは⊿ABCの外心
Qは⊿BCDの外心
Rは⊿PQCの外心
外心が無いので、ツールの作図にある「垂直二等分線」を使って、交点から求めましょう。
ツールを使ってやってみます。
「垂直二等分線」をクリックし、線分ACをクリックすると、f という垂直二等分線が引けました。
同様に、線分AC、線分DCを行う。
数式メニューを見ると、
f:PerpendicularBisector(ac)
g:PerpendicularBisector(bc)
h:PerpendicularBisector(cd)
と追加されていました。
交点もツールで出来ますが、今回は数式でやってみます。
P=Intersect(f,g)
Q=Intersect(g,h)
さて、今度はRを一気に数式で書いてみます。
R=Intersect(PerpendicularBisector(P,C),PerpendicularBisector(Q,C))
これでもいけますね。
f、g、hといった補助線は、オブジェクトの表示のチェックを外せばよいでしょう。
今後のことを考えると、今後まったく使わないような補助線は、定義しないでもいいかもしれません。
つまり、
P=Intersect(PerpendicularBisector(ac),PerpendicularBisector(bc))
Q=Intersect(PerpendicularBisector(bc),PerpendicularBisector(cd))
R=Intersect(PerpendicularBisector(P,C),PerpendicularBisector(Q,C))
だけでもよいわけです。
マウス操作だけで、ツールで作っていくことも可能ですが、数式は冗長になっていくということでもあります。
因みに、PerpendicularBisectorに線分を与える方法と、2点を与える方法など、多様性がありますね。
続いて数式を使って、二等辺三角形PRCを描きます。
二等辺三角形PRC=Polygon(P,R,C)
日本語も使えますが、左ペインの数式入力では、日本語入力が出来ないので、
コピペするか、︙から設定を選んで、右に出るダイアログであれば日本語の入力も可能なので、名前の変更などが行なえます。
c=Segment(P,R,二等辺三角形PRC)
p=Segment(R,C,二等辺三角形PRC)
r=Segment(C,P,二等辺三角形PRC)
という線分が自動的に追加されました。
続いて、
⊿PRC≡⊿PSA
となるように、点Sをつくる。
さて、どうしましょうか。
数式で、
円1=Circle(P,R)
これで、点Pを中心とし、点Rを通る円が描かれた。
円2=Circle(A,distance(P,R))
点Aを中心に、半径をPとRの距離としてみた。
ここから、2つの円の交点を求める。
S=Intersect(円1,円2)
2円の交点のため、S_1とS_2が出来た。
S_1の方を使いたいので、こちらの名前をSにします。
二等辺三角形PSA=Polygon(P,S,A)
これで、点対称で描けました。
続いて、
⊿QRC≡⊿DTQ
となるように点Tをとる。
のですが、数学的に⊿QRTが正三角形になることは解っているので、
線分QRを底辺とし上方向に正三角形を描き、頂点をTとします。
ツールの多角形にて「正多角形」をクリック。
Q、Rの順に選択し、頂点を3とする。
描けたら、名前を正三角形1としましょうか。
同様に、
線分SPを1辺とする正五角形を上方向に描き、頂点を反時計回りにSPUVWとする。
ツールの多角形にて「正多角形」をクリック。
S、Pの順に選択し、頂点を5とする。
描けたら、名前を正五角形1としましょうか。
同様に、
線分DTを底辺とし、右方向に正三角形を描き、頂点をXとする。
ツールの多角形にて「正多角形」をクリック。
D,Tと順に選択し、頂点を3とする。
描けたら、名前を正三角形2としましょうか。
⊿PRUは正三角形となります。
「正多角形」ではなく、「多角形」でP、R、U、Pの順につなぎます。
URTYが平行四辺形になるようにYを取ります。
※ここでは、平行四辺形と書いてますが、実際は描いたすべての正三角形は合同なので、UR=RTとなり、平行四辺形であり、隣り合う二辺が等しいので菱形となります。
ツールの作図の「平行線」で、
線分TR、点U
線分UR、点T
の順で選択します。
ほぼ、すべての点が出揃ったので、いろいろと微調整をして、色を変えたりしてみました。
こんな複雑怪奇な図形が、探り探りやったのにも関わらず、ものの数十分で出来てしまいました。
慣れればもっと速くできますね。
さて、外心3つ方ですが、ここからまだまだ線を繋げたりしていくようです。
θの値が求まるのでしょうが、どうやって求まっていくのでしょうか。
θは何度かって?
θ=Angle(A,D,B)
とした段階で、
→18˚
と求まっちゃっています。
すげーな、このアプリ。
まぁ、私が作ったlangray.exeも、この角度では誤差は出ていませんので、正角四角形問題のなかでは図形的に誤差が出にくい角度ということなのでしょうね。
ではでは
PS:
今回はアプリの紹介なので、ジャンルをIT関連としておきます。
数楽でも、プログラミングでもよかったんだけどね。
PS:
本当は、いつものようにJavaScript+HTML5で手書きで書こうかと思ってたんだけど、
図形的に計算誤差が出てて、
ちょっと合ってるんか?ってなって、
GeoGebraの出番が来たんです。
存在は知っていたんだけど、なかなか機会に恵まれず、今回初めて使ってみました。
GeoGebraは誤差がほとんど出てないので、自分の手書きの方のトラブルのようです。
因みにでデフォルトは小数点以下13桁で丸めとなっているようで、15桁で丸めまで出来るようです。
Javascriptも、整数を3桁とすると、小数は12~13桁になるので、それほど誤差は変わらないはずなのに、どこか誤差が集中しているところがあるんだろうか。