(参考)平成29年度学力テスト中学校数学B-問4>筋道を立てて証明し,証明を振り返って考えること(正三角形)
http://www.nier.go.jp/17chousa/pdf/17kaisetsu_chuu_suugaku.pdf#PAGE=119
(1)は,sympyでどうすればいいか、わかりませんでした。クラスメソッドになりますか?
(参考)ASAでいいですか。
https://en.wikipedia.org/wiki/Solution_of_triangles
sympyの三角形の合同条件をさがしています。よろしくお願いします。
(2)(3)は、x,tに値を入力しています。CADを使ったほうが早いかも。
from sympy import *
var('x t')
print('(1)===================================================')
x=100
B=Point(0,0)
A=Point(x*cos(pi/180*60) ,x*sin(pi/180*60))
C=Point(x*cos(pi/180*60)*2,0)
E2=C.rotate(pi/180*20,B)
ans=Line(B,E2).intersection(Line(A,C))
E=Point(ans[0].x,ans[0].y)
print("#角度BEA=",float(mpmath.degrees(Polygon(B,E,A).angles[E])))
print('(2)===================================================')
t=50
D=B.translate(t*cos(pi/180* 0),t*sin(pi/180* 0))
E=C.translate(t*cos(pi/180*120),t*sin(pi/180*120))
ans=Line(B,E).intersection(Line(A,D))
F=Point(ans[0].x,ans[0].y)
print("#角度BFD=",float(mpmath.degrees(Polygon(B,F,D).angles[F])))
print('---------------------------------------------------')
t=50
D=B.translate(t*cos(mpmath.radians( 0)),t*sin(mpmath.radians( 0)))
E=C.translate(t*cos(mpmath.radians(120)),t*sin(mpmath.radians(120)))
ans=Line(B,E).intersection(Line(A,D))
F=Point(ans[0].x,ans[0].y)
print("#角度BFD=",float(mpmath.degrees(Polygon(B,F,D).angles[F])))
#
#角度BEA= 80.0
#角度BFD= 59.99999999999999
#角度BFD= 60.00000000000002