・(解法3)を作成中です。 作成済 12月9日
・(その3/5) もサラッと。(解法1)と(解法2)と(解法3) です。
・私は、相似の証明を省略しています。勉強中です。
オリジナル
Youtube
マイティ 様 (0:00〜13:36) はじめまして。よろしくお願いします。
↓高校入試問題 数学 解説 2025年 和歌山県
https://youtu.be/pl3lO9VWJAk
(再)PDF
・保護されていない通信
↓30和歌山県 <R7年(2025年)全問PDF -(6)- > 大問4(3)だけ
http://homepage1.canvas.ne.jp/ynaka/R7PDF/30wakayama.pdf#page=7
<数学苦手な中学生,応援します 様内。いつもお世話になっております。
http://homepage1.canvas.ne.jp/ynaka/index.html
sympyで(Youtbeオリジナル 様の方法を参考に)
・>目標はrを求める。
・??? 丸写しです。
ver3.1
(解法1) 相似を2回 (0:00〜8:45)
# ver3.1
from sympy import *
var('r' ,real=True,poitive=True)
var('CF CO OF' ,real=True,poitive=True)
var('AE AB DE DC',real=True,poitive=True)
var('AD AE BC BE',real=True,poitive=True)
CF=(CO+OF).subs({CO:r,OF:1/sqrt(3)*r})
# △ABE∽△DCE
DE=solve(Eq(AE/AB,DE/DC).subs({AE:3*sqrt(2),AB:r,DC:sqrt(2)*r} ),DE)[0];print("#",DE)
# △AED∽△BEC
BE=solve(Eq(AD/AE,BC/BE).subs({AD:sqrt(3)*r,AE:3*sqrt(2),BC:sqrt(2)*r}),BE)[0];print("#",BE)
BD=BE+DE ;print("#",BD/2)
print("#",(CF.subs({r:BD/2})).simplify())
# 6
# 2*sqrt(3)
# sqrt(3) + 3
# 2*sqrt(3) + 4
ver3.2
(解法2) 角の二等分線の比 (8:45〜11:05)
# ver3.2
from sympy import *
var('AB,AD,BE,ED',real=True,poitive=True)
BE=solve(Eq(AB/AD,BE/ED).subs({AB:1,AD:sqrt(3),ED:6}),BE)[0] ;print("#",BE)
# 2*sqrt(3)
ver3.3
(解法3) 座標を使う。(11:05〜13:36)
# ver3.3
from sympy import *
var('r' ,real=True,poitive=True)
var('x,y',real=True)
O,A,B,C,D=map(Point,[(0,0),(-r/2,r/2*sqrt(3)),(-r,0),(0,-r),(r,0)])
y_x =Line(A,C).equation()
E =Point(solve(Eq(y_x.subs({y:0}),0),x)[0],0) #;print(E)
y_x =Line(A,D).equation()
F =Point(0,solve(Eq(y_x.subs({x:0}),0),y)[0]) #;print(F)
#
r_sol =solve(Eq(A.distance(E),3*sqrt(2)),r)[1] #;print(r_sol)
print("#",radsimp((F.y-C.y).subs({r:r_sol})))
# 2*sqrt(3) + 4
ver3.4
・ver3.3と同じ。
・変数y_x,r_solを使わない。ソースの行数を少なく。
# ver3.4
from sympy import *
var('r' ,real=True,poitive=True)
var('x,y',real=True)
O,A,B,C,D=map(Point,[(0,0),(-r/2,r/2*sqrt(3)),(-r,0),(0,-r),(r,0)])
E =Point(solve(Eq(Line(A,C).equation().subs({y:0}),0),x)[0],0) #;print(E)
F =Point(0,solve(Eq(Line(A,D).equation().subs({x:0}),0),y)[0]) #;print(F)
print("#",radsimp((F.y-C.y).subs({r:solve(Eq(A.distance(E),3*sqrt(2)),r)[1]})))
# 2*sqrt(3) + 4
いつもと違うおすすめです。
sympy のdoc
ver3.1
ver3.2
ver3.3
・equation(x='x', y='y') < Line
https://docs.sympy.org/latest/modules/geometry/lines.html#sympy.geometry.line.Line2D.equation
ver3.4
〃