算額(その915)
一〇八 加須市騎西町 玉敷神社 大正4年(1915)
埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
正方形の中に2本の平行な斜線を引き,小円を 4 個入れる。正方形の一辺の長さが 1 寸のとき,小円の直径はいかほどか。
正方形の一辺の長さを a
小円の半径と中心座標を r, (r, r), (a - r, r)
斜線と正方形の辺との交点座標を (b, 0), (a, a - b)
とおき,以下の連立方程式を解く。
include("julia-source.txt");
using SymPy
@syms a::positive, b::positive, r::positive
eq1 = dist2(b, 0, a, a - b, r, r, r)
eq2 = dist2(b, 0, a, a - b, a - r, r, r)
(r, b) = solve([eq1, eq2], (r, b))[2] # 2 of 3
((1 - sqrt(2)/2)*(-2*a^2*(1 - sqrt(2)/2)^2 + 2*a^2*(1 - sqrt(2)/2) + a^2)/(2*a), a*(1 - sqrt(2)/2))
式は簡約化できる。
r |> simplify |> println
b |> simplify |> println
a*(-1 + sqrt(2))/2
a*(2 - sqrt(2))/2
等円の半径は正方形の一辺の長さの (√2 - 1)/2 倍
正方形の一辺の長さが 1 寸のとき,等円の直径は √2 - 1 = 0.41421356237309515 寸である。
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = 1
(r, b) = a .* ((√2 - 1)/2, 1 - √2/2)
@printf("正方形の一辺の長さが %g 寸のとき,小円の直径は %g 寸\n", a, 2r)
@printf("a = %g; r = %g; b = %g\n", a, r, b)
plot([0, a, a, 0, 0], [0, 0, a, a, 0], color=:blue, lw=0.5,
xlims=(-0.05a, 1.17a), ylims=(-0.05a, 1.05a))
circle(r, r, r)
circle(a - r, r, r)
circle(r, a - r, r)
circle(a - r, a - r, r)
segment(b, 0, a, a - b, :green)
segment(0, b, a - b, a, :green)
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 ", :green, :right, :vcenter)
point(a, 0, "a", :green, :center, delta=-delta/2)
point(a, a - b, " (a,a-b)", :green, :left, :vcenter)
point(b, 0, "b", :green, :center, delta=-delta/2)
point(r, r, "小円:r,(r,r)", :red, :center, delta=-delta/2)
point(a - r, r, "小円:r,(a - r,r)", :red, :center, delta=-delta/2)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます