百四十三 群馬県榛名町榛名山 榛名神社 明治33年(1900)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円7個,外円,楕円,曲率円
#Julia #SymPy #算額 #和算 #数学
外円の中に,楕円と 2 個の交わる甲円を容れ,それらによって区切られた領域に乙円,丙円を 2 個ずつ容れる。乙円の直径が 1 寸で,楕円の短径がもっとも大きくなる(乙円が曲率円になる)ときの丙円の直径はいかほどか。

外円の半径と中心座標を \(R, (0, 0)\)
甲円の半径と中心座標を \(r_1, (0, r_3)\)
乙円の半径と中心座標を \(r_2, (R - r_2, 0)\)
丙円の半径と中心座標を \(r_3, (R - r_3)\)
楕円の長半径,短半径と中心座標を \(R, R - 2r_3, (0, 0)\)
とおき,以下の連立方程式を解く。
include("julia-source.txt"); # julia-source.txt ソース
@syms R, r1, r2, r3
r1 = R - r3
eq1 = (R - r2)^2 + r3^2 - (r1 + r2)^2 # 乙円は甲円と外接
eq2 = (R - 2r3)^2/R - r2 # 乙円は楕円の曲率円
res = solve([eq1, eq2], (r3, R))[3] # 3 of 3
(r2*(sqrt(2) + 2)/2, r2*(2*sqrt(2) + 3))
丙円の半径 r3 は,乙円の半径 r2 の (√2 + 2)/2 倍である。
乙円の直径が 1 寸で,楕円の短径がもっとも大きくなる(乙円が曲率円になる)とき,丙円の直径は (√2 + 2)/2 = 1.7071067811865475 寸である。
術では「天 = √8 + 3; (天 - √天)*乙円径/2」と複雑な計算式を提示しているが,「(√2/2 + 1)*乙円径」と簡約化できる。
全てのパラメータは以下のとおりである。
r2 = 0.5; r3 = 0.853553; R = 2.91421; r1 = 2.06066
描画関数プログラムのソースを見る
function draw(r2, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
R = r2*(2√2 + 3)
r3 = r2*(√2 + 2)/2
r1 = R - r3
@printf("乙円の直径が %g のとき,丙円の直径は %g である。\n", 2r2, 2r3)
@printf("r2 = %g; r3 = %g; R = %g; r1 = %g\n", r2, r3, R, r1)
plot()
circle(0, 0, R)
circle22(0, R - r3, r3, :blue)
circle22(0, r3, r1, :green)
circle(R - r2, 0, r2, :magenta)
ellipse(0, 0, R, R - 2r3, color=: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, r3, "甲円:r1,(0,r3)", :green, :center ,delta=-delta/2)
point(R - r2, 0, "乙円:r2\n(R-r2,0)", :magenta, :center, :bottom, delta=delta/2)
point(0, R - r3, "丙円:r3,(0,R-r3)", :blue, :center, delta=-delta/2)
point(0, R, "R", :red, :center, :bottom, delta=delta/2)
point(R, 0, " R", :red, :left, :vcenter)
point(0, R - 2r3, "R-2r3", :orange, :center, :bottom, delta=delta/2)
end
end;
draw(1/2, true)
以下のアイコンをクリックして応援してください