算額(その735)
福島県田村郡三春町 龍穏院 明治26年(1893)
~落書き帳「○△□」~ 64.手作りの封筒
http://streetwasan.web.fc2.com/math15.5.22.html
一辺の長さが 3 寸の正方形の中に斜線 4 本を描き,区画された領域に宇円4個,宙円 1 個を入れる。それぞれの円の直径を求めよ。
正方形の一辺の長さを 2a
宇円の半径と中心座標を r1, (a - r1, 0)
宙円の半径と中心座標を r2, (0, 0)
とおき,以下の連立方程式を解く。
include("julia-source.txt");
using SymPy
@syms a::positive, r1::positive, r2::positive, d
eq1 = dist(0, 2r1 - a, a, a, a - r1, 0) - r1^2
eq2 = dist(0, 2r1 - a, a, a, 0, 0) - r2^2
eq1 = numerator(apart(eq1, d)) # a^2*(-a + r1)*(-a + 3*r1)
eq2 = numerator(apart(eq2, d))
res = solve([eq1, eq2], (r1, r2))
2-element Vector{Tuple{Sym{PyCall.PyObject}, Sym{PyCall.PyObject}}}:
(a/3, a/5)
(a, a)
2 組の解が求まるが,最初のものが適解である。
正方形の一辺の長さを 2a としたとき,宇円,宙円の半径は a/3, a/5 である。
正方形の一辺の長さが 3 寸のとき,宇円,宙円の直径は 1 寸,6 分である。
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = 3//2
(r1, r2) = (1/2, 3/10)
@printf("正方形の一辺の長さ = %g; 宇円の直径 = %g; 宙円の直径 = %g\n", 2a, 2r1, 2r2)
plot([a, a, -a, -a, a], [-a, a, a, -a, -a], color=:black, lw=0.5)
circle(0, 0, r2, :blue)
circle2(a - r1, 0, r1)
circle22(0, a - r1, r1)
plot!([-a, 0, a], [a, 2r1 - a, a], color=:green, lw=0.5)
plot!([-a, 0, a], [-a, a - 2r1, -a], color=:green, lw=0.5)
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, a, "a", :black, :center, :bottom, delta=delta)
point(0, r2, "r2", :black, :center, :bottom, delta=delta)
point(0, a - r1, " a-r1", :red, :center, :bottom, delta=delta)
point(0, 0, "宙円:r2\n(0,0)", :blue, :center, :bottom, delta=delta)
point(0, a - 2r1, "a-2r1", :red, :center, :bottom, delta=delta)
point(a - r1, 0, "宇円:r1,(a-2r1,0)", :red, :center, :bottom, delta=delta)
point(a, 0, " a", :black, :left, :vcenter)
end
end;