算額(その68)
新潟県柏崎市 椎谷観音堂 寛政7年(1795)5月
http://www.wasan.jp/niigata/shiiyahukugen.png
外円の中に、弦と外円に接する甲円 1 個,乙円 2 個がある。外円の径が 5 寸であるとき,弦と甲円の径の差が最も大きくなるような乙円の径を求めよ。
答えは 1 寸
外円の半径を 5 とし,図のように記号を定め,方程式を解く。
弦(の 1/2)と r2 の差は以下である。
using SymPy
@syms r2::positive
gen = sqrt((5^2 - (5 - 2r2)^2)) - r2
gen |> println
-r2 + sqrt(25 - (5 - 2*r2)^2)
これが最も大きくなるのは gen の導関数が 0 になるときの r2 である。
r2 = solve(diff(gen))[1]
println("r2 = $r2 = $(r2.evalf())")
r2 = 5/2 - sqrt(5)/2 = 1.38196601125011
using Plots
plot(gen, color=:black, aspectratio=:none, ylims=(0, 3.5), size=(500, 300), label="")
xlabel!("y2")
ylabel!("gen")
vline!([r2], label="")
r2 = 5/2 - sqrt(5)/2 として,二本の方程式を立て,解く。
@syms x1, r1
r2 = 5//2 - sqrt(Sym(5))/2
eq1 = x1^2 +(5 - 2r2 + r1)^2 - (5 - r1)^2;
eq2 = x1^2 + (r2 - r1)^2 - (r2 + r1)^2;
solve([eq1, eq2], (x1, r1))
2-element Vector{Tuple{Sym, Sym}}:
(-sqrt(10 - 2*sqrt(5)), 1)
(sqrt(10 - 2*sqrt(5)), 1)
2 組目の解が適切な解である。すなわち,乙円の径は 1 である。
また,乙円の中心座標は,(sqrt(10 - 2*sqrt(5)), 1+sqrt(5)) である。
using Plots
function circle(ox, oy, r, color=:red; beginangle=0, endangle=360)
θ = beginangle:0.1:endangle
x = r.*cosd.(θ)
y = r.*sind.(θ)
plot!(ox .+ x, oy .+ y, color=color, linewidth=0.5)
end;
function point(x, y, string="", color=:green, position=:left, vertical=:top; mark=true)
mark && scatter!([x], [y], color=color, markerstrokewidth=0)
annotate!(x, y, text(string, 10, position, color, vertical))
end;
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
plot(ylims=(-0.2, 5.1))
r2 = 5/2 - sqrt(5)/2
x1, r1 = (sqrt(10 - 2*sqrt(5)), 1)
gen = sqrt(5^2 - (5 - 2r2)^2)
println("x1 = $x1; r1 = $r1; r2 = $r2")
println("弦 = $gen; 差 = $(gen - r2)")
circle(0, 0, 5)
circle(0, 5-r2, r2, :blue)
circle(x1, 5-2r2+r1, r1, :magenta)
hline!([5-2r2])
if more
point(0, 5-r2, "5-r2 ", :blue, :right)
point(0, 5-2r2, "5-2r2 ", :blue, :right)
point(x1, r1+√5, "(x1,r1+√5))", :blue, :center)
hline!([0], color=:black, lw=0.5)
vline!([0], color=:black, lw=0.5)
end
end;
x1 = 2.3511410091698925; r1 = 1; r2 = 1.381966011250105
弦 = 4.47213595499958; 差 = 3.0901699437494745
※コメント投稿者のブログIDはブログ作成者のみに通知されます