算額(その1146)
一〇四 北足立郡桶川町加納 氷川天満神社 明治43年(1910)
埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
キーワード:円2個,直角三角形,正方形
直角三角形の中に正方形と 2 個の円を容れる。鈎,股が 3 寸,4 寸のとき,正方形の一辺の長さと円の直径を求めよ。
正方形の一辺の長さを a,円の直径を r とおき,以下の方程式を解く。
include("julia-source.txt")
using SymPy
@syms 鈎::positive, 股::positive, a::positive, r::positive
eq1 = (鈎 - a)/a - 鈎/股
eq2 = 2a - sqrt(2a^2) - 2r;
まず,正方形の一辺の長さを求める。
a = 股*鈎/(股 + 鈎) で,鈎,股が 3 寸, 4 寸のとき,正方形の一辺の長さは 1.71428571428571 寸である。
ans_a = solve(eq1, a)[1]
ans_a |> println
ans_a(鈎 => 3, 股 => 4).evalf() |>println
股*鈎/(股 + 鈎)
1.71428571428571
eq2 の a に代入し,方程式を解き r を求める。
r = -鈎*(sqrt(2)*股*sqrt(股^2/(股 + 鈎)^2) - 2*股 + sqrt(2)*鈎*sqrt(股^2/(股 + 鈎)^2))/(2*股 + 2*鈎) で,鈎,股が 3 寸, 4 寸のとき,円の直径は 1.00420532164612 寸である。
eq2 = eq2(a => ans_a);
ans_r = solve(eq2, r)[1] |> simplify
ans_r |> println
2ans_r(鈎 => 3, 股 => 4).evalf() |>println
-鈎*(sqrt(2)*股*sqrt(股^2/(股 + 鈎)^2) - 2*股 + sqrt(2)*鈎*sqrt(股^2/(股 + 鈎)^2))/(2*股 + 2*鈎)
1.00420532164612
function draw(鈎, 股, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = 股*鈎/(股 + 鈎)
r = -鈎*(sqrt(2)*股*sqrt(股^2/(股 + 鈎)^2) - 2*股 + sqrt(2)*鈎*sqrt(股^2/(股 + 鈎)^2))/(2*股 + 2*鈎)
@printf("鈎,股が %g,%g のとき,正方形の一辺の長さは %g,円の直径は %g である。\n", 鈎, 股, a, 2r)
plot([0, 股, 0, 0], [0, 0, 鈎, 0], color=:blue, lw=0.5)
plot!([0, a, a, 0, 0], [0, 0, a, a, 0], color=:green, lw=0.5)
segment(0, a, a, 0, :magenta)
circle(r, r, r)
circle(a - r, a - r, r)
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, " 股", :blue, :left, :bottom, delta=delta/2)
point(a, 0, " a", :blue, :left, :bottom, delta=delta/2)
point(0, 鈎, " 鈎", :blue, :left, :bottom, delta=delta/2)
point(0, a, " a", :blue, :left, :bottom, delta=delta/2)
point(r, r, "(r, r)", :red, :center, delta=-delta/2)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます