算額(その1580)
福島県田村郡三春町御木沢 厳島神社
三春まちなか寺子屋 30.12.22
https://miharukoma.com/wp-content/uploads/2018/12/寺子屋12.22 問題解説.pdf
キーワード:円4個,半円2個,正方形
#Julia, #SymPy, #算額, #和算, #数学
正方形の中に半円 2 個,乙円 2 個,丙円 2 個を容れる。半円の直径が 96 寸のとき,乙円,丙円の直径はいかほどか。
半円の半径と中心座標を r1, (0, r1)
丙円の半径と中心座標を r3, (r1 - r3, 0)
乙円の半径と中心座標を r2, (r1 - 2r3 - r2, 0)
とおき,以下の連立方程式を解く。
include("julia-source.txt")
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf
using SymPy
@syms r1::positive, r2::positive, r3::positive
eq1 = (r1 - r3)^2 + r1^2 - (r1 + r3)^2
eq2 = (r1 - 2r3 - r2)^2 + r1^2 - (r1 + r2)^2
res = solve([eq1, eq2], (r2, r3))[1]
(r1/12, r1/4)
乙円,丙円の直径は,甲円の直径の 1/12, 1/4 倍である。
甲円の直径が 96 寸のとき,乙円,丙円の直径は 8 寸,24 寸である。
using Colors
function draw(r1, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r2, r3) = (r1/12, r1/4)
@printf("半円の直径が %g のとき,乙円,丙円の直径は %g, %g である。\n", 2r1, 2r2, 2r3)
plot()
circlef(0, r1, r1, parse(Colorant, "#FFF565"), beginangle=180, endangle=360)
circlef(0, -r1, r1, parse(Colorant, "#FFF565"), beginangle=0, endangle=180)
circle2f(r1 - r3, 0, r3, parse(Colorant, "#F02F22"))
circle2f(r1 - 2r3 - r2, 0, r2, parse(Colorant, "#757CF7"))
circle(0, r1, r1, :black, beginangle=180, endangle=360)
circle(0, -r1, r1, :black, beginangle=0, endangle=180)
circle2(r1 - r3, 0, r3, :black)
circle2(r1 - 2r3 - r2, 0, r2, :black)
rect(-r1, -r1, r1, r1, :black)
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, r1, "半円:r1,(0,r1)", :black, :center, :bottom, delta=delta/2)
point(r1 - r3, 0, "丙円:r2\n(r1-r3,0)", :black, :center, delta=-delta/2)
point(r1 - 2r3 - r2, 0, "乙円:r2,(r1-2r3-r2,0)", :black, :right, delta=-3delta)
end
end;
draw(96/2, true)