算額(その1228)
(8) 兵庫県山崎町門前 八幡神社 明治3年(1870)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:円8個,外円,弦2本
長方形の中に斜線2本をひき,黒円 2 個と赤円 1 個を容れる。
長方形の長辺と短辺の長さが 6 寸,4 寸,赤円の直径が 3 寸のとき,黒円の直径はいかほどか。
注:条件が 3 つ与えられているが,赤円の直径は黒円の直径を求めるのには何の役割も持たない。長方形の長辺と短辺の長さだけが与えられれば,黒円の直径も,赤円の直径も別々に求めることができる。
方形の長辺と短辺の長さを 2a, b
黒円の半径と中心座標を r1, (a - r1, r1)
赤円の半径と中心座標を r2, (0, b - r2)
とおき,以下の方程式を(別々に)解く。
1. 黒円の直径
include("julia-source.txt");
using SymPy
@syms a::positive, b::positive,
r1::positive, r2::positive
eq1 = a + b - sqrt(a^2 + b^2) - 2r1
res1 = solve(eq1, r1)[1]
res1 |> println
res1(a => 6/2, b => 4) |> println
a/2 + b/2 - sqrt(a^2 + b^2)/2
1.00000000000000
長方形の長辺と短辺の長さが 6 寸,4 寸 のとき,黒円の直径は 2 寸である。
2. 赤円の直径
赤円の直径は「問」で与えられているが,長方形の長辺と短辺の長さから計算できる。
eq2 = r2/(b - r2) - a/sqrt(a^2 + b^2)
res2 = solve(eq2, r2)[1]
res2 |> println
res2(a => 6/2, b => 4) |> println
a*b/(a + sqrt(a^2 + b^2))
1.50000000000000
長方形の長辺と短辺の長さが 6 寸,4 寸 のとき,赤円の直径は(「問」で述べられている通り) 3 寸である。
function draw(a, b, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r1 = a/2 + b/2 - sqrt(a^2 + b^2)/2
r2 = a*b/(a + sqrt(a^2 + b^2))
@printf("長方形の長辺と短辺の長さが %g,%g のとき,黒円の直径は %g,赤円の直径は %g である。\n", 2a, b, 2r1, 2r2)
plot([a, a, -a, -a, a], [0, b, b, 0, 0], color=:green, lw=0.5)
circle2(a - r1, r1, r1, :black)
circle(0, b - r2, r2)
plot!([-a, 0, a], [b, 0, b], color=:magenta, 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(a - r1, r1, "黒円:r1,(a-r1,r1)", :black, :center, delta=-delta)
point(0, b - r2, "赤円:r2,(0,b-r2)", :red, :center, delta=-delta)
point(a, b, "(a,b)", :green, :right, :bottom, delta=delta)
end
end;
draw(6/2, 4, true)
※コメント投稿者のブログIDはブログ作成者のみに通知されます