百五十一 群馬県前橋市下大屋町 産泰神社 年代不明
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
桜沢門人 武州幡羅郡三箇尾村 権田源之助正賢
山口正義:やまぶき2 第37号,2016年6月20日.
https://yamabukiwasan.sakura.ne.jp/ymbk37.pdf
キーワード:円12個,外円,正三角形
#Julia #SymPy #算額 #和算 #数学
外円の中に甲円 1 個,乙円 2 個を容れる。甲円,乙円の中には正三角形を容れ,さらに甲円の中には丙円と等円,乙円の中には 3 個ずつの等円を容れる。外円の直径が 9 寸のとき,等円の直径はいかほどか。

注:本問と関連する算額を「算額(その1411)」に掲示する。違いは甲円の中にある丙円の位置と大きさである。
外円の中の甲円と乙円の位置と大きさについて
外円の半径と中心座標を \(R, (0, 0)\)
甲円の半径と中心座標を \(r_1, (0, R - r_1)\)
乙円の半径と中心座標を \(r_2, (r_2, y_2)\)
等円の半径を\( r\)
とおき,以下の方程式を解く。
(1) 甲円の中の正三角形と丙円,等円の大きさについては,「算額(その593)」に示したように,甲円の中にある等円の直径は甲円の直径の 1/6 である。\(r = r_1/6\)
(2) 乙円の中の正三角形と等円の大きさについては,「算額(その918)」に示したように,乙円の中にある等円の直径は乙円の直径の 1/4である。 \(r = r_2/4\)
よって,\(r_2 = 2r_1/3\) である。外円の中に甲円と乙円が入っているので,以下の連立方程式を解いて甲円と乙円の半径と中心座標を求める。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms R, r, r1, r2, y2
eq1 = 3r2 - 2r1
eq2 = r2^2 + y2^2 - (R - r2)^2
eq3 = r2^2 + (R - r1 - y2)^2 - (r1 + r2)^2
res = solve([eq1, eq2, eq3], (r1, r2, y2))[2] # 2 of 3
(R*(-4 + sqrt(21)), 2*R*(-4 + sqrt(21))/3, R*(-2 + sqrt(21)/3))
甲円の半径 \(r_1\) は外円の半径 \(R\) の \(\sqrt{21} - 4\) 倍,乙円の半径 \(r_2\) は外円の半径 \(R\) の \( (\sqrt{21} - 4)\cdot 2/3\) 倍である。
甲円の中にある等円の半径は外円の半径 \(R\) の \( (\sqrt{21} - 4)/6\) 倍,乙円の中にある等円の半径は外円の半径 \(R\) の \( (\sqrt{21} - 4)\cdot 2/3/4 = (\sqrt{21} - 4)/6\) 倍で等しくなる。
問のように外円の直径が 9 寸のとき,等円の直径は \(9(\sqrt{21} - 4)/6 = 0.8738635424337597\) 寸となる。
\(R = 4.5; r_1 = 2.62159; r_2 = 1.74773; y_2 = -2.12614\)
甲円の直径 = 5.2431812546025585
丙円の直径 = 1.3107953136506396
甲円の中にある等円の直径 = 0.8738635424337597
乙円の直径 = 3.495454169735039
乙円の中にある等円の直径 = 0.8738635424337597
おかしいですね。
答,術は「外円径を 9 で割れば,等円の直径が得られる。」すなわち,「外円径が 9寸ならば,等円径は 1 寸」のはず。
実は同じような算額が他に 2 件あるのは承知していた(その 2 件の算額の内容は同じ)。(時系列とは逆に)たまたまこちらを先に解いた。
似ている算額について,次の記事「算額(その1411)」を書く。
ここまで書いてきて,だいぶ前に読んだ記事にあった図(山口)を思い出した。再確認した所,「図の写し間違いだろう」という指摘も同じであった。
描画関数プログラムのソースを見る
function draw_sub(sw, x, y, r, color, color2, color3)
circle(x, y, r, color)
(x1, y1) = r .* (cosd(30), -sind(30))
plot!(x .+ [x1, 0, -x1, x1], y .+ [y1, r, y1, y1], color=color2, lw=0.5)
if sw == 1
circle(x, y, r/2, color2)
circle(x, y + (r/2 + r/6), r/6, color3)
@printf("甲円の直径 = %.15g,丙円の直径 = %.15g,甲円の中にある等円の直径 = %.15g\n", 2r, r/2, 2r/6)
else
for deg in (30, 150, 270)
circle(x + 3r/4*cosd(deg), y + 3r/4*sind(deg), r/4, color3)
end
sw == 2 && @printf("乙円の直径 = %.15g,乙円の中にある等円の直径 = %.15g\n", 2r, 2r/4)
end
end
function draw(R, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r1, r2, y2) = (R*(-4 + sqrt(21)), 2*R*(-4 + sqrt(21))/3, R*(-2 + sqrt(21)/3))
@printf("R = %g; r1 = %g; r2 = %g; y2 = %g\n", R, r1, r2, y2)
plot()
circle(0, 0, R)
# circle(0, R - r1, r1, :orange)
draw_sub(1, 0, R - r1, r1, :green, :chartreuse3, :darkorange)
# circle2(r2, y2, r2, :blue)
draw_sub(2, r2, y2, r2, :blue, :darkblue, :darkorange)
draw_sub(3, -r2, y2, r2, :blue, :darkblue, :darkorange)
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", :red, :center, :bottom, delta=delta)
point(0, R - r1, "甲円:r1,(0,R-r1)", :green, :center,:bottom, delta=delta/2)
point(0, R - r1, "丙円:r1/2,(0,R-r1)", :tomato, :center, delta=-delta/2, mark=false)
point(0, R - r1/3, "等円:r1/6,(0,R-r1/3)", :tomato, :center, delta=-delta/2)
point(r2, y2, "乙円:r2,(r2,y2)", :blue, :center, delta=-delta/2)
point(r2, y2 - 3r2/4, "等円:r2/4\n(r2,y2-3r2/4)", :darkorange, :left, delta=-8delta/2, deltax=4delta)
point(2.1, 0, "r1 = R*(√21 - 4)\nr2 = 2r1/3", :black, :left, :vcenter, deltax=-0.5delta, mark=false)
end
end;
draw(9/2, true)
以下のアイコンをクリックして応援してください