【随時更新】ユークリッド幾何学の定理や作図まとめ - ニート歴10年からの数学日記 を機械的に適用して、解答に至れるかを探る。今はこの自分で書いたプログラムを使っている。考察はユークリッド幾何学の原理についてのメモ - ニート歴10年からの数学日記とジュニア算数オリンピック04年度ファイナル問題6 辺の和について、三角形の検出について - ニート歴10年からの数学日記。
『図の四角形ABCDはAB=BC=CDで、角B=168度、角C=108度です。角Dの大きさを求めなさい。
』
前回の続き。別件(旅行の計画)であまり寝てないんで、説明が分かりにくいかもしれない。
一晩考えてみたのだが、この問題は3Dで思い描くと議論が簡単というか本質的になるかもしれない。
3Dでも三角形定理ループは回せる。ただ、四角形つまり4つの点のクラスタとなると、実は内角は360°とは限らないと分かる。確かに限界は360°だが、例えるなら折りたたみ傘を畳むような感じで、ほとんど0°まで減らすことができる。
またangle_equだが、対頂角は3Dでも成立するし、平行的な関係もあると分かる。その並行的な関係同士では、お互いに辺が跨った時に、そのまま突っ切っていった辺と、その並行の予め登録しておいた同じ方向に、同位角ができる。ただ、まだ平行だと分かっていない辺と辺で同位角ができたからといって、それが平行とは限らない。というのも、ある辺の交わりがあったとして、3Dで1辺に干渉せずに同じ大きさの角を作ることは可能だからだ、そしてそれは平行では無い。平行にするには、合同の三角形の1辺同士を反転させて合わせ、それだけでなくその離れた点同士も結んで、それが同じように合同な三角形の1辺同士を反転させて合わせたようなものになっている必要があるのではないか。
side_equは今まで通り。sum_side_lstも今まで通りできると分かる。
一番の問題は、やっぱりというか、sum_angle_lstだ。今までは、1つの点から3つの辺が伸びているような時に、1つの辺が2つの辺からなる角を割っているものだと思っていた。しかし実際には、3Dで考えてみると1つの点から伸びている辺は、傘の骨のような感じでバラバラな方向に伸びているかもしれないわけだ。2Dのユークリッド幾何学は、そこに制約を加えたものだと考えるべきなんじゃないか。
3次元の空間において、2次元のユークリッド幾何学をやるにはどうすれば良いか、という考え方をすると分かりやすいのかもしれない。あのいちいち角の和を登録していく作業は、振り返ってみるとかなり本質的なものだったと分かる。
例えばこの問題において、点AとCを繋げる時は、ただ点AとCを繋げるだけでなく、角BADを割るという作業だと考える必要がある。これは全然自明なことでは無い。
まだどうするかは手探りだが、180°以下の角BADは今まで通り角BADと呼んで、「360 - BAD」の方は「BAD_n」と呼ぶことにしてみる。このnはネガとかnotとかのnだ。もし駄目だったらまた元に戻せば良い。
四角形ABCDは、だから点が繋がっているだけでは無く、普通の角4つが向き合っているクラスタだと考えれば良いのではないか。
この方針で最初から、(おそらく部分的に自然言語で)作図をしてみる。
以下5種類の作図をしていく。直接作図したもの以外に三角形や、あるいは正四角形や正五角形ができていたら、次の定理ループで角度が明らかになる可能性がある。
まず問題文や図から情報を読み取る。
四角形ABCDがある。四角形ABCDは、角BAD、角ABC、角BCD、角ADC、のクラスタだ。
角ABCは168°、つまり角ABC_nは192°。角BCDは108°、角BCD_nは252°。
辺ABとBCとCDはイコール。
対頂角も平行線も無いし、他の角の和とか辺の和とかも無し。
では1ステップの作図に入る。
点AとCを繋げる。四角形ABCDがクラスタとして登録されているので、この線によって角BADと角BCDが割られる。
BAC + CAD = BAD。
ACB + ACD = BCD。
元々ポジティブ(ネガティブのnに対して)な角を割っているので、BACやCADなどもポジティブだと分かる。
点BとDを繋げるのも似たような感じだろう。
で、次は線の延長。
まず辺ABを点A側に延長してみる。また、この延長はさっき言ったように角の分割でもあるべきだ。
延長側に新しく追加した点をEとして、角BAEは180°、180°の場合は、三次元で想像して貰えれば分かると思うけど、BAE_nを想定する必要は無い。辺ADと辺AEでできる角は、180°に一つでも他の角が入っているので、ポジティブだと分かる。
つまり、角DAE + 角BAE = 角BAD_n、だと分かる。それで登録しておく。(この角の足し算は、数値の足し算というより、隣接の表現であるべきなのかもしれない。まだ分からん)
1ステップ目においては、どの点も似たような感じだろうと思う。
次は「2点と、その間の垂直線とどこか1辺の交点による、二等辺三角形の作図」。
この、交点がどこにできるかを探るという作業は、おそらくユークリッド幾何学でもある工程で、だからおそらくそこまで技術的な問題は無いのではないかと思う。
まず辺ABを底辺とした二等辺三角形を考える。
すると、もしこの角BADが大きく、角ADCが小さい場合、辺ABの垂直二等分線はCDと交わることもあり得る。もちろん実際には、点AからBCDと形は決まっているので、それを結んだ辺ADによってできる角度も決まっている。しかし三角関数?が無い以上、おそらく判断はできないのではないか。辺CDについても同じように言えるだろう。
辺ADについては、実はこれは判断ができてしまう。
三角形ABDを想定し、ABよりBDが長ければ、三角形ABDにおいてはBDに交わる。そして三角形BCDに着目すると、その角Cが60°以上なので、正三角形よりも底辺が大きいと分かる。よってBDとABだと、BDの方が長いと分かる。
三角形ACDを想定しても、同じことが言える。
ということは、クラスタABCDにおいて、ABより右で、CDより左に交わるので、BCに交わると分かってしまう。
しかしこれは理論上の話で、実際にはそういう作図はしないことに暫定的に決めていたんだった。
辺BCについても同じようなことが言える。
次は「ある1辺と同じ長さの辺を別の辺に落とすことによる二等辺三角形の作図」。
どうすれば良いか分からない。振り返ってみると、分からないなら作図しなければ良いんじゃないかで終わっているけど。
始めたばかりだけど、昼寝でもしてまた取り組むことにする。
これは、本質的には、円と線がどこで点を作るかという問題なんじゃないか。
円と円が点を作るかは、今考えれば簡単で、円の距離が分かれば作るし、分からなければ分からない。
考えてみると、条件は2つある。
1つ目は、円の中心から垂線を垂らして、それが円の長さより大きいか小さいか。というよりはつまり、例えばこの場合にABをADに下ろそうとしているなら、BADの角度が90°より大きいか小さいかというだけだろうな。まあ自分でも変な説明になったと思うけど、90°よりも小さければ、当たり前だけど遠すぎて無理ということは無い。
1つ目が円が辺に届かない場合だとしたら、2つ目は、円の内側に辺が入り込んでしまうような場合。まあでもこれは、つまり1角が既に決まっていて、二等辺三角形だからもう1角も決まっていて、ということは3角が決まっているということで、これは三角関数?の問題ということになってしまうのではないか。できあがるはずの三角形の底辺より長いか短いかで。
いやこの場合は、ADの中心と点Bの位置関係の問題なのではないか。点Bの方が左にあるなら、作ることができる。しかしどう判定すれば良いんだろう。休憩。
さっき、円と円で交点を作るかで、円の距離が分かれば作ると書いたが、あれは間違いだった気がする。
もし、何の間接的な接点も無い円と円があったとして、その二つはその後も絶対に接点を持ち得ないと考えるべきだ。
また、もし辺の連なりがあって、その端同士で円と円があったとして、その辺の連なりは3D空間でヒョロヒョロしているだけで、その二つの関係は、おそらく間を三角形だとかで固めないと全く分からない。これはあくまで例えだが、その連なりの2辺で三角形を作ると、辺が1本減る。それを繰り返せば、いずれ端と端の関係も明らかになるだろう。それが円と円であれ、辺と辺であれ、円と辺であれ。
話を戻すが、ADの中心と点Bの位置関係は、一つは、点BからADに垂線を垂らした時の角Bの角度(180 - 90 - 角A)と、ADの中心と点Bを結んだ時の角Bの角度(どうなるかは分からない、明らかになれば)を比較すれば分かるだろう。
もう一つは、点BからADに垂線を垂らした時の辺の長さと、ADの中心と点Bを結んだ時の辺の長さを比較すれば分かるだろう。
いや、下の辺を比べてもそれでも良いのかな?
なんか曖昧な感じだけど、くり返している内に固まってくるだろう、多分。
次の作図が大変だろうから、今日はここで切ることにする。