アドバイスをいただけたら幸いです。
・ステキ???すぎて、回答の抜粋です。
・先生は、とりあえずありそうなメソッド名でぶち上げる。 実際ないメソッド名。注意です。
「おっしゃる通りです。...」で開き直られます。
続けて、ないと言えば、追加修正してもらえます。
・三角形ABCだけではダメです。具体的な値で聞く。
・質問は続けて聞かない。会話できますが。
裏返しの合同を含めて 1行、1回が望ましい。
合同
A = Point(0, 0)
B = Point(3, 0)
C = Point(0, 4)
D = Point(0, 0)
E = Point(-3, 0)
F = Point(0, -4)
三角形ABCと三角形DEFの合同を,裏返しの合同を含めて判定するsympyの関数を教えて下さい
・次のソースコードは、間違っています。私が、手を加えています。
from sympy import *
from sympy import Point, Triangle
# 各頂点の座標を定義
A = Point(0, 0)
B = Point(3, 0)
C = Point(0, 4)
D = Point(0, 0)
E = Point(-3, 0)
F = Point(0, -4)
# 三角形ABCと三角形DEFを定義
triangle_ABC = Triangle(A, B, C)
triangle_DEF = Triangle(D, E, F)
# SSS条件(3辺がそれぞれ合同)を使用して合同を判定
# congruent_sss = triangle_congruence.sss_criterion(triangle_ABC, triangle_DEF)
congruent_sss =triangle_ABC == triangle_DEF
# 裏返しの合同を判定するために、頂点の対応を変更
# ここではAとD, BとE, CとFが対応する
triangle_DEF_flipped = Triangle(A, E, F)
# congruent_flipped = triangle_congruence.sss_criterion(triangle_ABC, triangle_DEF_flipped)
congruent_flipped = triangle_ABC == triangle_DEF_flipped
# 合同かどうかを出力
print("ABCとDEFの合同:", congruent_sss)
print("ABCとDEFの裏返しの合同:", congruent_flipped)
作図
別に、FreeCADで作図しました。(省略)
(???Chromebookだけ縦線が見えません。???・拡大すると見えます。またでました。)
相似1
A = Point(0, 0)
B = Point(3, 0)
C = Point(0, 4)
D = Point(0, 0)
E = Point(-3, 0)
F = Point(0, -4)
三角形ABCと三角形DEFの相似を,裏返しの相似を含めて判定する方法を、
sympyのare_similar関数を使って教えて下さい
(出力のソースコードを省略)
・SymPy Liveで
三角形ABCと三角形DEFは相似です。
相似2
A = Point(0, 0)
B = Point(3, 0)
C = Point(0, 4)
D = Point(0, 0)
E = Point(-3, 0)
F = Point(0, -4)
三角形ABCと三角形DEFの相似を,裏返しの相似を含めて判定して下さい。
相似なら、相似比を教えて下さい。
..
以上の結果から、対応する角が等しく、対応する辺の長さの比も等しいので、三角形ABCとDEFは相似です。
相似比を求めるために、例えばABとDEの長さの比を取ります。この場合、ABとDEの長さの比は1です。したがって、相似比は1:1となります。
裏返しの相似も含めると、相似比は1:-1となります。
合同ですか、それとも裏返しの合同ですか?
...
以上の結果から、対応する辺の長さと対応する角が全て等しいので、三角形ABCとDEFは合同です。
裏返しの合同を考慮すると、三角形ABCとDEFは裏返しの合同です。
つづく。
いつもと違うおすすめです。
>sympyに are_similar関数がありました。
https://qiita.com/mrrclb48z/items/d46183cd3864ed4e999f#%E3%83%AA%E3%83%B3%E3%82%AF