算額(その298)
愛媛県 伊佐爾波神社 昭和12年(1937)
算額22 中村正教
http://www.wasan.jp/ehime/isaniwa22.html
https://isaniwa.official.jp/%E5%BE%A1%E5%AE%9D%E7%89%A9/%E7%AE%97%E9%A1%8D/
大円の中に中円 4 個,小円 1 個が入っている。大円の径を知って,中円,小円の径を求めよ。
大円,中円,小円の半径を r0, r1, r2 とし,図に示すように記号を定め,以下の連立方程式を r1, r2 について解く(r0 は未知数として記号のまま残る)。
include("julia-source.txt");
using SymPy
@syms r1::positive, r2::positive, r0::positive
eq1 = 2r1^2 - (r1 + r2)^2
eq2 = 2r1^2 - (r0 - r1)^2
res = solve([eq1, eq2], (r1, r2))
1-element Vector{Tuple{Sym, Sym}}:
(-r0 + sqrt(2)*r0, r0*(3 - 2*sqrt(2)))
大円の半径を r0 とすると,中円の半径は (√2 - 1)r0,小円の半径は (3 - √8)r0 である。
r0 = 2 のとき,r1 = 0.82843; r2 = 0.34315
using Plots
function draw(zoomin=false, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r0 = 2 # 大円の直径が 4 のとき
(r1, r2) = ((√2 - 1)r0, (3 - √8)r0)
@printf("r0 = %.5f; r1 = %.5f; r2 = %.5f\n", r0, r1, r2)
plot()
circle(0, 0, r0, :black)
circle4(r1, r1, r1, :blue)
circle(0, 0, r2)
if more
point(r1, r1, " 中円:r1\n (r1,r1)", :blue)
point(0, 0, " 小円:r2,(0,0)", :red, :center)
point(r0, 0, "r0 ", :black, :right, :bottom)
vline!([0], color=:black, lw=0.5)
hline!([0], color=:black, lw=0.5)
zoomin && plot!(showaxis=true, xlims=(0, 47), ylims=(0, 35))
else
plot!(showaxis=false)
end
end;