算額(その1579)
福島県田村市 日渡神社 明治21年(1888)
https://www.city.tamura.lg.jp/soshiki/30/bunkazai.html
キーワード:円9個,外円
#Julia, #SymPy, #算額, #和算, #数学
外円の中に,大円 2 個と,小円 6 個を容れる。大円の直径が与えられたときに小円の直径を求める術を述べよ。
外円の半径と中心座標を R, (0, 0)
大円の半径と中心座標を r1, (r1, 0)
小円の半径と中心座標を r2, (0, y21), (r2, y22)
とおき,以下の連立方程式を解く。
include("julia-source.txt")
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf
using SymPy
@syms R::positive, r1::positive,
r2::positive, y21::positive, y22::positive
r1 = R/2
eq1 = r1^2 + y21^2 - (r1 + r2)^2
eq2 = r2^2 + (y22 - y21)^2 - 4r2^2
eq3 = r2^2 + y22^2 - (R - r2)^2
res = solve([eq1, eq2, eq3], (r2, y21, y22))[1]
(R*(-5 + sqrt(33))/4, R*(-5*sqrt(2) + sqrt(66))/(2*sqrt(7 - sqrt(33))), R*sqrt(7/2 - sqrt(33)/2))
小円の半径 r2 は,大円の半径 R の (√33 - 5)/4 倍である。
大円の直径が 3954 のとき,736.0001761028412 である。
3954*(√33 - 5)/4
736.0001761028412
using Colors
function draw(R, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r1 = R/2
(r2, y21, y22) = (R*(-5 + sqrt(33))/4, R*(-5*sqrt(2) + sqrt(66))/(2*sqrt(7 - sqrt(33))), R*sqrt(7/2 - sqrt(33)/2))
@printf("外円の直径が %g のとき,小円の直径は %g である。\n", 2R, 2r2)
plot()
circlef(0, 0, R, RGB(194/255, 214/255, 236/255))
circle2f(r1, 0, r1, RGB(234/255, 51/255, 35/255))
circle22f(0, y21, r2, RGB(229/255, 74/255, 233/255))
circle4f(r2, y22, r2, RGB(229/255, 74/255, 233/255))
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, R, "R", :green, :center, :bottom, delta=delta/2)
point(r1, 0, "大円:r1,(r1,0)", :white, :center, delta=-delta/2)
point(0, y21, "小円:r2,(0,y21)", :black, :left, :bottom, delta=delta)
point(r2, y22, " 小円:r2,(r2,y22)", :black, :left, :bottom, delta=delta)
end
end;
draw(1977, true)