・(再かも)ページ最後にリンクあります。
オリジナル
まなびスクエア 様 (0:00〜14:19) いつもお世話になっております。
↓【頭の良い人しか解けない難問】天才小学生が解く図形【中学受験の算数】
https://youtu.be/3Sa5_6rxU34
いつものsympyで(オリジナル Youtbe様の方法を参考に)
ver0.1
・先生の丸写しです。図形の証明を省略です。△FCE'∽FDA
・求解は、最短距離の周長じゃなく、面積 なのがステキ。そうかも。
・次のソースコードはプログラムでありません。
プログラム風です。無理がありました。
# ver0.1
from sympy import *
var('iti_maru,nii_maru,san_maru',real=True,positive=True)
DA =15
CF =nii_maru
DF =san_maru
rep={nii_maru:2*iti_maru,san_maru:3*iti_maru}
CD =(CF+DF).subs(rep) #;print(CD)
sol_iti_maru=solve(Eq(CD,DA),iti_maru)[0] #;print(sol_iti_maru)
CF=nii_maru=2*sol_iti_maru
CD=goo_maru=5*sol_iti_maru
EEd =20
EEdF=Rational(1,2)*EEd*CF #;print(EEdF)
AEF =Rational((goo_maru-nii_maru),nii_maru)*EEdF
print("#",AEF)
# 90
いつもの sympyで
ver1.1
・鏡写しを、EじゃなくAにしました。A→E→F→A。point.reflect(ln)
# ver1.1
from sympy import *
AB=BC=CD=DA=15
A,B,C,D,E=map(Point,[(0,AB),(0,0),(BC,0),(BC,AB),(Rational(1,3)*BC,0)])
Ad =A.reflect(Line(C,D)) #;print(Ad)
F =Line(C,D).intersection(Line(E,Ad))[0] ;print(F)
print("#",Triangle(A,E,F).area)
# 90
ver1.2
・共テ風。平方完成?とグラフを忘れていました。
(Gemini先生へ)平方完成の変換?とグラフを出力をお願いします。
(ver1.3ソースコード省略)
未確認
ver1.3
・大学入試2次試験風。微分diff です。
# ver1.3
from sympy import *
var('Fy',real=True,positive=True)
AB=BC=CD=DA=15
A,B,C,D,E=map(Point,[(0,AB),(0,0),(BC,0),(BC,AB),(Rational(1,3)*BC,0)])
F =Point(BC,Fy)
L_AEF =A.distance(E)+E.distance(F)+F.distance(A) #;print("#",L_AEF)
m_Fy =solve(Eq(diff(L_AEF),0),Fy)[0] #;print(m_Fy)
print("#",Triangle(A,E,F).area.subs({Fy:m_Fy}))
# 90
ver1.4
・素直に?,最小値minimum ,Intervalです。
# ver1.4
from sympy import *
var('Fy',real=True,positive=True)
AB=BC=CD=DA=15
A,B,C,D,E=map(Point,[(0,AB),(0,0),(BC,0),(BC,AB),(Rational(1,3)*BC,0)])
F =Point(BC,Fy)
L_AEF =A.distance(E)+E.distance(F)+F.distance(A) #;print("#",L_AEF)
m_AEF =minimum(L_AEF,Fy,Interval(0,CD)) #;print(m_Fy)
m_Fy =solve(Eq(L_AEF,m_AEF),Fy)[0] #;print(m_Fy)
print("#",Triangle(A,E,F).area.subs({Fy:m_Fy}))
# 90
・ver1.1 の作図
A→E→F→A。点Eのバケツを取りに寄る。川はCD。
Fで水を汲んで戻る。矢印追加してもらえばヨカッタ。
(水が重ければA→E→D?→A)
いつもの? sympyの実行環境 と 参考のおすすめです。
sympyのweb上での実行方法
SymPy Live Shellで。
ソースコードの解説は、私よりGemini先生へのソースコードの丸投げがおすすめです。質問の追加はいくらでも。
モーダル対応?「実行して」。「作図して」「問題文章の丸投げ」いい時代です。
いつもと違うおすすめです。
Qiita内で
sympy のdoc
・いらないカモ。
