算額(その712)
埼玉の算額ほか
https://gunmawasan.web.fc2.com/files/saitama-sangaku-h24.html
愛宕神社の復元算額 明治13年(部分拡大図)(加須市)
https://gunmawasan.web.fc2.com/files/sangak-corner/atago-3s.jpg
等脚台形の中に正方形と 3 個の等円が入っている。上底の長さが 3 寸のとき,下底の長さはいかほどか。
上底,下底の長さをそれぞれ 2b, 2a とする。
正方形の一辺の長さを 2c
等円の半径と中心座標を r, (0, 2c + r), (c + r, r)
台形の高さは 2c + 2r
とおいて,以下の連立方程式を解く。
include("julia-source.txt");
using SymPy
@syms a::positive, b::positive,
c::positive, r::positive
h = 2c + 2r
eq1 = (c + r)^2 + 4c^2 - 4r^2
eq2 = dist(a, 0, b, h, 0, 2c + r) - r^2
eq3 = dist(a, 0, b, h, c + r, r) - r^2
res = solve([eq1, eq2, eq3], (a, c, r))
1-element Vector{Tuple{Sym, Sym, Sym}}:
(69*b/5, 9*b/5, 3*b)
下底の長さは上底の長さの 69/5 倍,
正方形の一辺の長さは上底の長さの 9/5 倍,
等円の直径は上底の長さの 3 倍である。
b = 3/2
2b .*(69/5, 9/5, 3)
(41.400000000000006, 5.4, 9.0)
上底の長さが 3 寸のとき,下底の長さは 41.4 寸である。
「答」では 27.6 寸となっている。
「術」では,「上底の 13.8 倍」と書いている。それに従うと 3✕13.8 = 41.4 寸になる。答えは 2✕13.8 = 27.6 寸 と書いてしまったのであろう。
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
b = 3//2
(a, c, r) = (69*b/5, 9*b/5, 3*b)
@printf("上底の長さ = %g; 下底の長さ = %g; 正方形の一辺の長さ = %g; 等円の直径 = %g\n", 2b, 2a, 2c, 2r)
h = 2c + 2r
#@printf("r1 = %g; x1 = %g; r2 = %g; x2 = %g; r3 = %g\n", r1, x1, r2, x2, r3)
plot([a, b, -b, -a, a], [0, h, h, 0, 0], color=:green, lw=0.5)
circle.([1, -1].*(c + r), r, r)
circle(0, 2c + r, r)
rect(-c, 0, c, 2c, :blue)
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(c, 0, " c", :blue, :left, :bottom, delta=delta/2)
point(0, 2c, " 2c", :blue, :left, delta=-delta/2)
point(a, 0, " a", :green, :left, :bottom, delta=delta/2)
point(b, h, " (b,h)", :green, :center, :bottom, delta=delta)
point(c + r, r, "(c+r,r)", :red, :center, delta=-delta/2)
point(0, 2c + r, " 2c+r", :red, :left, :vcenter)
end
end;