算額(その1139)
二五 武州妻沼 聖天宮 文政11年(1828)
埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
キーワード:円10個,正三角形
正三角形の中に大円 3 個,小円 7 個を容れる。正三角形の一辺の長さが 20 寸のとき,小円の直径はいかほどか。
正三角形の一辺の長さを 2a
大円の半径と中心座標を r1, (x1, r1)
小円の半径と中心座標を r2, (2x1, r2)
とおき以下の連立方程式を解く。
include("julia-source.txt")
using SymPy
@syms a::positive, r1::positive, x1::positive, r2::positive, x2::positive
x2 = 2x1
eq1 = x2 - x1 - 2sqrt(r1*r2)
eq2 = r1/(a - x1) - √Sym(3)/3
eq3 = r2/(a - x2) - √Sym(3)/3
res = solve([eq1, eq2, eq3], (r1, x1, r2))[1]
(sqrt(3)*a/5, 2*a/5, sqrt(3)*a/15)
小円の直径 2r2 は,正三角形の一辺の長さ 2a の √3/15 倍である
正三角形の一辺の長さが 20 寸のとき,小円の直径は 20*√3/15 = 2.309401076758503 寸である。
ちなみに,大円の直径は小円の直径の 3 倍で,6.928203230275509 寸である。
function draw(a, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r1, x1, r2) = (sqrt(3)*a/5, 2*a/5, sqrt(3)*a/15)
@printf("正三角形の一辺の長さが %g のとき,小円の直径は %g である(大円の直径は %g)。\n", 2a, 2r2, 2r1)
@printf("a = %g; r1 = %g; x1 = %g; r2 = %g\n", a, r1, x1, r2)
plot([a, 0, -a, a], [0, √3a, 0, 0], color=:blue, lw=0.5)
circle2(x1, r1, r1)
circle(0, √3a/3 + r2 + r1, r1)
circle2(2x1, r2, r2, :green)
circle(0, r2, r2, :green)
circle(0, √3a/3, r2, :green)
circle2(x1, 2r1 + r2, r2, :green)
circle(0, √3a/3 + 2r2 + 2r1, r2, :green)
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(x1, r1, "大円:r1,(x1,r1)", :red, :center, delta=-delta/2)
point(0, √3a/3 + r2 + r1, "大円:r1\n(0,√3a/3+r2+r1)", :red, :center, delta=-delta/2)
point(0, √3a/3, "小円:r2,(0,√3a/3)", :green, :left, :vcenter)
point(0, r2, "小円:r2,(0,r2) ", :green, :right, :vcenter)
point(2x1, r2, "小円:r2,(2x1,r2) ", :green, :right, :vcenter)
point(x1, 2r1+r2, "小円:r2,(x1,2r1+r2) ", :green, :right, :vcenter)
point(0, √3a/3 + 2r2 + 2r1, " 小円:r2,(0,√3a/3+2r2+2r1)", :green, :left, :vcenter)
point(a, 0, " a", :blue, :left, :bottom, delta=delta/2)
point(0, √3a, " √3a", :blue, :left, :vcenter)
end
end;