算額(その1250)
七十四 群馬県甘楽郡妙義町菅原 菅原神社 嘉永4年(1851)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円2個,正方形3個
2 個の円が交わっており,区画された領域に正方形 3 個を容れる。円の直径が与えられたとき,正方形の一辺の長さを求めよ。
算額(その429)から小円を除いた問題である。小円の有無は円と正方形の大きさには無関係である。
正方形の一辺の長さを 2a
円の半径と中心座標を r1, (x1, 0), (-x1, 0)
として,以下の連立方程式を解く。
コメントアウトしたのは算額(その429)でのもの。
include("julia-source.txt");
using SymPy
@syms r1::positive, x1::positive, r2::positive,
a::positive;
# eq1 = x1^2 + (a + r2)^2 - (r1 - r2)^2
eq2 = a^2 + (x1 + a)^2 - r1^2
eq3 = (r1 - 2x1 + 2a)^2 + a^2 - r1^2
# res = solve([eq1, eq2, eq3], (r2, x1, a))
res = solve([eq2, eq3], (x1, a))[1]
((-919*r1^3*(-4/25 + 6*sqrt(6)/25)^2 - 1700*r1^3*(-4/25 + 6*sqrt(6)/25)^3 + 180*r1^3 + 484*r1^3*(-4/25 + 6*sqrt(6)/25))/(180*r1^2), r1*(-4/25 + 6*sqrt(6)/25))
x1, a は簡約化できる。
res[1] |> simplify |> println
r1*(2*sqrt(6) + 7)/25
res[2] |> simplify |> println
2*r1*(-2 + 3*sqrt(6))/25
正方形の一辺の長さ 2a は 円の直径 2r1 の 2(3√6 - 2)/25 倍である。
円の直径が 6.17 のとき,正方形の一辺の長さは 2.64000441111333 である。
6.17*2(3√6 - 2)/25
2.64000441111333
function draw(r1, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
x1 = r1*(2√6 + 7)/25
a = 2r1*(3√6 - 2)/25
@printf("円の直径が %g のとき,正方形の一辺の長さは %g である。\n", 2r1, 2a)
@printf("x1 = %.15g; a = %.15g\n", x1, a)
plot()
circle(x1, 0, r1, :red)
circle(-x1, 0, r1, :red)
rect(-a, -a, a, a, :blue)
# # circle(0, a + r2, r2, :green)
rect(r1 - x1, -a, r1 - x1 + 2a, a, :blue)
rect(-r1 + x1, -a, -r1 + x1 - 2a, a, :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(r1 - x1, 0, " r1-x1", :red, :left, delta=-delta)
point(x1 - r1, 0, "x1-r1", :red, :right, delta=-delta)
point(x1, 0, "x1 ", :red, :right, :bottom, delta=delta/2)
point(-a, a, " (-a,a)", :blue, :left, delta=-delta/2)
point(r1 - x1 + 2a, a, "(r1-x1+2a,a) ", :blue, :right, delta=-delta/2)
# # point(0, a + r2, " a+r2", :green)
end
end;
draw(6.17/2, true)