『福島の算額』 矢祭神社の算額 明治21年(1888)
http://takasakiwasan.web.fc2.com/gunnsann/yamaturi.html
キーワード:円3個,正三角形
#Julia #SymPy #算額 #和算 #数学
正三角形内に全円,大円,小円を容れる。大円,小円の直径が 8 寸,6 寸のとき,全円の直径はいかほどか。

正三角形の一辺の長さを \(2a\)
全円の半径と中心座標を \(r_1,\ (0,\ r_1)\)
大円の半径と中心座標を \(r_2,\ (x_2,\ 0)\)
小円の半径と中心座標を \(r_3,\ (x_3,\ r_3)\)
として,以下の連立方程式を解く。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms a, r1, r2, x2::negative, r3, x3
eq1 = (x3 - x2)^2 + (r3 - r2)^2 - (r3 + r2)^2
eq2 = (a - x3)/r3 - sqrt(Sym(3))
eq3 = (a + x2)/r2 - sqrt(Sym(3))
eq4 = a/r1 - sqrt(Sym(3))
res = solve([eq1, eq2, eq3, eq4], (a, r1, x2, x3))[2] # 2 of 2
(sqrt(3)*r2/2 + sqrt(3)*r3/2 + sqrt(r2*r3), r2/2 + r3/2 + sqrt(3)*sqrt(r2*r3)/3, sqrt(3)*r2/2 - sqrt(3)*r3/2 - sqrt(r2*r3), sqrt(r2*r3) + sqrt(3)*(r2 - r3)/2)
全円の半径は 11/2 である。
res[2] |> println
res[2](r2 => 8//2, r3 => 6//2) |> println
r2/2 + r3/2 + sqrt(3)*sqrt(r2*r3)/3
11/2
その他のパラメータは以下の通りである。
\(a = 9.52628;\ r_1 = 5.5;\ x_2 = -2.59808;\ x_3 = 4.33013\)
描画関数プログラムのソースを見る
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r2, r3) = (8, 6) .// 2
(a, r1, x2, x3) = (
(r2 + r3)√3/2 + sqrt(r2*r3),
(r2 + r3)/2 + sqrt(r2*r3)√3/3,
(r2 - r3)√3/2 - sqrt(r2*r3),
sqrt(r2*r3) + (r2 - r3)√3/2)
@printf("a = %g; r1 = %g; x2 = %g; x3 = %g\n", a, r1, x2, x3)
plot([a, 0, -a, a], [0, √3a, 0, 0], color=:brown, lw=0.5)
circle(0, r1, r1)
circle(x2, r2, r2, :green)
circle(x3, r3, r3, :orange)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3 # size[2] * fontsize * 2
hline!([0], color=:black, lw=0.5)
vline!([0], color=:black, lw=0.5)
point(0, r1, " 全円:r1,(0,r1)", :red, :left, :vcenter)
point(x2, r2, "大円:r2,(x2,r2)", :green, :center, :top, delta=-delta)
point(x3, r3, "小円:r3,(x3,r3)", :black, :center, :top, delta=-delta)
point(a, 0, "a ", :brown, :right, :bottom, delta=delta/2)
point(0, √3a, " √3a", :brown, :left, :vcenter)
end
end;
以下のアイコンをクリックして応援してください