岡山県瀬戸内市長船町土師宮森 片山日子神社 明治6年(1873)
深川英俊,トニー・ロスマン:聖なる数学:算額,p. 110,森北出版株式会社,2010年4月22日.
キーワード:円7個,正三角形,正六角形
#Julia #SymPy #算額 #和算 #数学
正六角形の中に対角線を 6 本引いて正三角形を 2 個作り,内部にできる小さな正六角形に内接する大円と,正三角形の一辺と正六角形の二辺に接する小円を 6 個容れる。大円の半径が 10 寸のとき,小円の半径はいかほどか。

正六角形の一辺の長さを \(R\)
大円の半径と中心座標を \(r_1,\ (0,\ 0)\)
小円の半径と中心座標を \(r_2,\ (0,\ r_1 + r_2)\)
とする。
大円の直径は正六角形の一辺の長さと等しい。
小円が内接している二等辺三角形の高さは大円の半径に等しい。
小円と大円の間には \( (r_1 - r_2)\cos(30°) = r_2\) の関係がある。
これを解いて,\(r_2 = r_1(2\sqrt{3} - 3)\) である。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms r1::positive, r2::positive
eq = (r1 - r2)*cosd(Sym(30)) - r2
solve(eq, r2)[1] |> factor |> println
r1*(-3 + 2*sqrt(3))
小円の半径 \(r_2\) は大円の半径 \(r_1\) の \(2\sqrt{3} - 3\) 倍である。
大円の半径が 10 寸のとき,小円の半径は 4.641016151377544 寸である。
描画関数プログラムのソースを見る
function draw(r1, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r2 = r1*(-3 + 2*sqrt(3))
R = 2r1
x = [R*cosd(z) for z in 90:60:510]
y = [R*sind(z) for z in 90:60:510]
@printf("大円の半径が %g のとき,小円の半径は %g である。\n", r1, r2)
plot()
circle(0, 0, r1, :green)
rotate(0, r1 + r2, r2, angle=60)
for i = 1:6
segment(x[i], y[i], x[i + 1], y[i + 1], :blue)
segment(x[i], y[i], x[i + 2], y[i + 2], :blue)
end
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, r1, "r1", :green, :center, :bottom, delta=delta/2)
point(0, R, "R", :blue, :center, :bottom, delta=delta/2)
point(0, r1 + r2, "r1+r2", :red, :center, delta=-delta/2)
end
end;
draw(10, true)
以下のアイコンをクリックして応援してください