算額(その1343)
岐阜県垂井町 西法寺 令和6年(2024)
http://www.wasan.jp/gifu/saihoji.html
キーワード:円3個,円弧3個
#Julia, #SymPy, #算額, #和算
一辺が 1 の正三角形の頂点を中心とする 3 個の円弧内に互いに接する黄円 3 個がある。黄円の半径はいかほどか。
正三角形が内接する円の半径と中心座標を R, (0, 0)
円弧の半径と中心座標を √3R, (0, y), (√3R/2, -R/2), (-√3R/2, -R/2)
とおき,以下の連立方程式を解く。
include("julia-source.txt");
using SymPy
@syms a::positive, r::positive, R::positive, y::positive
eq1 = (√Sym(3)R/2)^2 + (y + R/2)^2 - (√Sym(3)R - r)^2
eq2 = dist2(0, 0, √Sym(3)R, R, 0, y, r)
res = solve([eq1, eq2], (r, y))[1]
(sqrt(3)*(-8*R^2*(-4 + 3*sqrt(2)) - 4*R^2*(-4 + 3*sqrt(2))^2 + 8*R^2)/(24*R), 2*R*(-4 + 3*sqrt(2)))
# r
res[1] |> simplify |> println
R*(-4*sqrt(3) + 3*sqrt(6))
# y
res[2] |> println
2*R*(-4 + 3*sqrt(2))
正三角形の一辺の長さが 1 ならば,R = 1/√3 である。そのとき,黄円の半径は 3√2 - 4 である。
res[1](R => 1/√Sym(3)) |> simplify |> println
-4 + 3*sqrt(2)
function draw(R, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r = R*(3√6 - 4√3)
y = 2R*(3√2 - 4)
plot()
circle(0, 0, R, :pink)
circle(0, R, √3R, :blue, beginangle=240, endangle=300)
circle(√3R/2, -R/2, √3R, :blue, beginangle=120, endangle=180)
circle(-√3R/2, -R/2, √3R, :blue, beginangle=0, endangle=60)
rotatef(0, y, r, :orange)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3 # size[2] * fontsize * 2
hline!([0], color=:gray80, lw=0.5)
vline!([0], color=:gray80, lw=0.5)
point(0, y, "黄円:r,(0,y)", :blue, :center, delta=-delta/2)
point(√3y/2, -y/2, "黄円:r,(√3y/2,-y/2)", :blue, :center, delta=-delta/2)
point(0, R, "R", :red, :center, :bottom, delta=delta/2)
point(√3R/2, -R/2, "(√3R/2,-R/2)", :blue, :center, delta=-3delta)
end
end;
draw(1/√3, true)
※コメント投稿者のブログIDはブログ作成者のみに通知されます