算額(その582)
長崎市 鎮西大社諏訪神社 明治20年(1887)
米光丁: 長崎県の和算の概説
http://hyonemitsu.web.fc2.com/Nagasakiwasan.pdf
問題 5. 外円の中に中円,小円を入れる。中円,小円の直径が40寸,20寸のとき,外円の直径はいかほどか。
算額(その334)で小生が最初に考えたものと図形的には同じである。
これも算額にはよくあることであるが,算額の図と実際に得られた解に基づいて描いた図の乖離に驚く。
外円の半径と中心座標を r, (0, 0)
小円の半径と中心座標を r1, (r1, y1)
中円の半径と中心座標を r2, (r2, y2)
とおき,以下の連立方程式を解く。
最初,y2 を negative としていたので,解が得られない。実に,y2 は 0 である。
図を描いてみれば,問題文を見ただけで解けたのにと悔しくなる。
include("julia-source.txt");
using SymPy
@syms r::positive, r1::positive, y1::positive, r2::positive, y2;
(r1, r2) = (20, 40) .// 2
eq1 = (r1 - r2)^2 + (y1 - y2)^2 - (r1 + r2)^2
eq2 = r1^2 + y1^2 - (r - r1)^2
eq3 = r2^2 + y2^2 - (r - r2)^2
res1 = solve([eq1, eq2, eq3], (r, y1, y2))
1-element Vector{Tuple{Sym, Sym, Sym}}:
(40, 20*sqrt(2), 0)
外円の直径は中円の直径の2倍,80 寸である。
using Plots
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r1, r2) = (20//2, 40//2)
(r, y1, y2) = (40, 20*sqrt(2), 0)
@printf("外円の直径 = %g\n", 2r)
plot()
circle(0, 0, r)
circle(r1, y1, r1, :blue)
circle(-r1, y1, r1, :blue)
circle(r2, y2, r2, :orange)
circle(-r2, y2, r2, :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(r1, y1, "小円:r1\n(r1,y1)", :blue, :center, :top, delta=-delta/2)
point(r2, y2, "中円:r2,(r2,y2)", :black, :center, :top, delta=-delta/2)
point(r, 0, "r ", :red, :right)
end
end;