70 岩手県川崎村薄衣字諏訪前(現一関市川崎町)浪分神社 明治35年(1902)
安富有恒:和算—岩手の現存算額のすべて,青磁社,東京都,1987.
http://www.wasan.jp/iwatenosangaku_yasutomi.pdf
キーワード:3次元,球,円錐
#Julia #SymPy #算額 #和算 #数学

円錐の中に大球 1 個,小球 12 個を容れる。大球は円錐の側面に内接し,小球と外接する。小球は円錐の側面に内接し,大球に外接し,互いに外接し合っている。
小球の直径が 1 寸のとき,円錐の底面の直径はいかほどか。
算額(その1495)の類題である。
左図は横から見た図,右図は上から見た図 青は大球,赤は小球,オレンジ色は円錐の外縁(右の図では底面の円)。小球の中心は灰色の円周上にある。
円錐の底面の半径と座標を \(a, (0, 0, 0)\)
円錐の高さを \(h\)
大球の半径と中心座標を \(r_1, (0, 0, r_1)\)
小球の半径と中心座標を \(r_2, (b, 0, r_2)\)
とおき,以下の連立方程式を \(r_2\) を既知として解き \(a, r_1, h\) を求める。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms a, b, h, r1, r2
b = r2/sind(Sym(30)/2)
eq1 = r1/(h - r1) - a/sqrt(a^2 + h^2)
eq2 = 2sqrt(r1*r2) - b
eq3 = r2/(a - b) - r1/a;
res = solve([eq1, eq2, eq3], (a, r1, h))[1]
(r2*(sqrt(6) + 2*sqrt(2)), r2*(sqrt(3) + 2), 4*r2*(sqrt(3) + 2))
底面の円の半径 \(a\) は,小球の半径 \(r_2\) の \(\sqrt{6} + 2\sqrt{2}\) 倍である。
小球の直径が 1 寸のとき,底面の円の直径は 5.27791686752936 寸である。
ちなみに円錐の高さは 7.46410161513775 寸,大球の直径は 3.73205080756888 寸である。
res[2](r2 => 1).evalf() |> println
3.73205080756888
術は \(\sqrt{\sqrt{192} + 14}\) であるが,二重根号を外すと上と同じく \(\sqrt{6} + 2\sqrt{2}\) である。
描画関数プログラムのソースを見る
function draw(r2, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(a, r1, h) = (r2*(sqrt(6) + 2*sqrt(2)), r2*(sqrt(3) + 2), 4*r2*(sqrt(3) + 2))
b = r2/sind(30/2)
@printf("小球の直径が %g のとき,底面の円の直径は %g, 高さは %g, 大球の直径は %g である。\n", 2r2, 2a, h, 2r1)
p1 = plot([a, 0, -a, a], [0, h, 0, 0], color=:green, lw=0.5)
circle(0, r1, r1)
circle(b, r2, r2, :blue)
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)
end
p2 = plot()
rotate(b, 0, r2, angle=30, :blue)
circle(0, 0, b, :gray80)
circle(0, 0, r1)
circle(0, 0, a, :green)
plot(p1, p2)
end;
draw(1/2, true)
以下のアイコンをクリックして応援してください