算額(その92)
千葉県君津市 鹿野山神野寺 明治20(1887)年4月
http://www.wasan.jp/chiba/jinyaji4.html
山口正義(2018): やまぶき4(第58号)
https://yamabukiwasan.sakura.ne.jp/ymbk58.pdf
長方形内に大円,中円,小円入っている。長方形の長辺の長さが25寸のとき,小円の径を求めよ。
長方形の長辺の長さを 2a,短辺の長さを b とおく。
大円の半径と中心座標を r1, (r1, b - r1)
中円の半径と中心座標を r2, (0, r2), (2r2, r2)
小円の半径と中心座標を r3, (0, 2r2 + r3)
とおき,連立方程式を解く。
include("julia-source.txt")
using SymPy
@syms r1::positive, r2::positive, r3::positive, a::positive, b::positive;
(r1, r2) = a .* (1//2, 1//3)
eq1 =(r1 - r2)^2 + (b - r1 - r2)^2 - (r1 + r2)^2
eq2 = r1^2 + (b - r1 - (2r2 + r3))^2 - (r1 + r3)^2
res = solve([eq1, eq2], (b, r3))
1-element Vector{Tuple{Sym, Sym}}:
(23*a*(-31/69 + 16*sqrt(6)/69)/16 + 71*a/48, a*(-31/69 + 16*sqrt(6)/69))
r3 = 1.48403; b = 20.6229
小円の直径 = 2.96806
小円の半径は a*(16√6 - 31)/69 である。
2a = 25 寸のとき,小円の半径は 1.4840282399512403寸(直径は 2.968056479902481寸)である。
(25/2)*(16√6 - 31)/69
1.4840282399512403
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = 25//2
(r1, r2) = a .* (1//2, 1//3)
(b, r3) = (23*a*(-31/69 + 16*sqrt(6)/69)/16 + 71*a/48, a*(-31/69 + 16*sqrt(6)/69))
@printf("r3 = %g; b = %g\n", r3, b)
@printf("小円の直径 = %g\n", 2r3)
plot([a, a, -a, -a, a], [0, b, b, 0, 0], color=:black, lw=0.5)
circle(r1, b - r1, r1)
circle(-r1, b - r1, r1)
circle(0, r2, r2, :green)
circle(a - r2, r2, r2, :green)
circle(r2 - a, r2, r2, :green)
circle(0, 2r2 + r3, r3, :blue)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) / 3 # size[2] * fontsize * 2
point(r1, b - r1, "大円:r1,(r1,b-r1)", :red, :center, delta=-delta)
point(a - r2, r2, "中円:r2,(a-r2,r2)", :green, :center, delta=-delta)
point(0, 2r2 + r3, " 小円:r3,(0,2r2+r3)", :blue, :left, :vcenter)
hline!([0], color=:gray, lw=0.5)
vline!([0], color=:gray, lw=0.5)
else
plot!(showaxis=false)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます