算額(その1379)
七十三 群馬県安中市下後閑 威徳神社 嘉永3年(1850)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円5個,楕円,正方形
#Julia, #SymPy, #算額, #和算
第七問
「群馬の算額」によれば,「十問あるが文章は不明」とのことであるが,以下のようなものでもあろう。
正三角形の中に大円 1 個,小円 4 個,斜線 3 本を容れる。大円は正三角形の三辺と 3 箇所で接し,正三角形の隅にある小円は正三角形の二辺と大円に接する。また,斜線はそれぞれ正三角形の隅にある小円 2 個と中央にある小円に接する。
正三角形の一辺の長さが与えられたとき,小円の直径はいかほどか。
または,小円の直径が与えられたとき,正三角形の一辺の長さはいかほどか。
正三角形の一辺の長さを 2a
大円の半径と中心座標を r1, (0, 0); r1 = a/√3
小円の半径と中心座標を r2, (0, r1 + r2), (x2, r2); r2 = (a - x2)/√3
とおき,以下の方程式を解き,x2 を求める。
include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf
using SymPy
@syms a, r1, r2, x2
r2 = (a - x2)/√Sym(3)
eq1 = x2^2 + (r2 - a/√Sym(3))^2 - (a/√Sym(3) + r2)^2
solve(eq1, x2)[2] |> println
2*a/3
x2 = 2a/3 であり,小円の半径は r2 = (a - x2)/√3 = √3a/9 である。
正三角形の一辺の長さが 1 のとき,小円の直径は √3/9 = 0.19245008972987523 である。
小円の直径が 1 のとき,正三角形の一辺の長さは 5.196152422706632 である。
function draw(a, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r1 = a/√3
x2 = 2a/3
r2 = √3a/9 # (a - x2)/√3
@printf("正三角形の一辺の長さが %g のとき,小円の直径は %.15g である。\n", 2a, 2r2)
plot([a, 0, -a, a], [-a/√3, 2a/√3, -a/√3, -a/√3], color=:blue, lw=0.5)
circle(0, 0, r1)
circle(0, 0, r2, :green)
rotate(0, r1 + r2, r2, :green)
segment((2a/√3 - r1 - r2)/√3, r1 + r2, -a + 2(2a/√3 - r1 - r2)/√3, -a/√3, :orange)
segment(-(2a/√3 - r1 - r2)/√3, r1 + r2, a - 2(2a/√3 - r1 - r2)/√3, -a/√3, :orange)
segment(-a + 2r2/√3, 2r2 - a/√3, a - 2r2/√3, 2r2 - a/√3, :orange)
if more == true
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 + r2, " r1+r2", :green, :left, :vcenter)
point(0, 2a/√3, " 2a/√3", :green, :left, :vcenter)
point(a, -a/√3, "(a,-a/√3)", :green, :right, delta=-delta/2)
point(x2, r2 - a/√3, "(x2,r2-a/√3)", :green, :center, delta=-delta/2, deltax=2delta)
ylims!(-a/√3 - 5delta, 2a/√3 + 5delta)
end
end;
draw(1/2, true)
※コメント投稿者のブログIDはブログ作成者のみに通知されます