算額(その1273)
百四十 群馬県甘楽郡妙義町下高田 高太神社 明治22年(1888)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円8個,四分円4個,正方形
正方形の中に,甲円 4 個,乙円 4 個,四分円 4 個を容れる。正方形の一辺の長さが与えられたとき,乙円の直径はいかほどか。
正方形の一辺の長さを 2a
甲円の半径と中心座標を r1, (x1, x1); x1 = r1 - r2
乙円の半径と中心座標を r2, (x1, 0)
とおき,以下の連立方程式を解く。
include("julia-source.txt");
using SymPy
@syms a::positive, r1::positive, x1::positive, r2::positive;
x1 = r1 - r2
eq1 = 2x1^2 - r1^2
eq2 = 2(x1 + a)^2 - (2a - r1)^2
res = solve([eq1, eq2], (r1, r2))[2]
(a*(3/2 - sqrt(2))/2 + a/4, a*(3/2 - sqrt(2)))
乙円の直径は正方形の一辺の長さの (3/2 - √2) 倍である。
たとえば,正方形の一辺の長さが 10 寸のとき,乙円の直径は 10(3/2 - √2) = 0.8578643762690485 である。
10(3/2 - √2)
0.8578643762690485
すべてのパラメータは以下のとおりである。
a = 5; r1 = 1.46447; x1 = 1.03553; r2 = 0.428932
function draw(a, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(r1, r2) = (a*(3/2 - sqrt(2))/2 + a/4, a*(3/2 - sqrt(2)))
x1 = r1 - r2
@printf("正方形の一辺の長さが %g のとき,乙円の直径は %g である。\n", 2a, 2r2)
@printf("a = %g; r1 = %g; x1 = %g; r2 = %g\n", a, r1, x1, r2)
plot([a, a, -a, -a, a], [-a, a, a, -a, -a], color=:blue, lw=0.5)
circle(a, a, 2a, beginangle= 180, endangle=270)
circle(-a, a, 2a, beginangle= 270, endangle=360)
circle(a, -a, 2a, beginangle= 90, endangle=180)
circle(-a, -a, 2a, beginangle= 0, endangle=90)
circle4(x1, x1, r1, :green)
circle42(0, x1, r2, :magenta)
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(a, a, "(a,a)", :blue, :right, :bottom, delta=delta/2)
point(x1, x1, "甲円:r1\n(x1,x1)", :green, :center, :bottom, delta=delta/2)
point(x1, 0, "乙円:r2,(x1,0)", :magenta, :left, delta=-3delta, deltax=-5delta)
end
end;
draw(10/2, true)
※コメント投稿者のブログIDはブログ作成者のみに通知されます