千葉県成田市 成田山新勝寺 明治30年(1897)
「算額」第三集 全国調査,香川県算額研究会.(香川県立図書館蔵)
キーワード:楕円,正方形,対角線
#Julia #SymPy #算額 #和算 #数学
正方形の中に対角線を引き,楕円 4 個を容れる。楕円の長径が 3 寸のとき,正方形の一辺の長さはいかほどか。

正方形の一辺の長さを a,楕円の長径,短径を P,Q とおく。
楕円は等辺が a/2 の直角二等辺三角形に内接するものである。
算法助術の公式97が適用できるが,問に示された「楕円の長径が 3 寸」という条件だけでは,条件不足である。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms a, A, B, C, H, P, Q;
eq97 = -(B^2 - C^2)^2*H*Q^2 + (B^2 - C^2)^2*Q^3 + A^4*H*(2H - Q)^2 - A^4*Q*(2H - Q)^2 - A^2*H*P^2*(2H - Q)^2
eq = eq97(A => a, B => a/√Sym(2), C => a/√Sym(2), H => a/2)
\(\displaystyle - \frac{P^{2} a^{3} \left(- Q + a\right)^{2}}{2} - Q a^{4} \left(- Q + a\right)^{2} + \frac{a^{5} \left(- Q + a\right)^{2}}{2}\)
方程式 eq を解いて a を得るには,P および Q が既知でなければならない。
a = solve(eq, a)[4]
@show(a)
a = Q + sqrt(P^2 + Q^2)
\(\displaystyle Q + \sqrt{P^{2} + Q^{2}}\)
逆に言えば,\(a = Q + \sqrt{P^2 + Q^2}\) なので,\(P = 3\) だけでは \(Q\) はどんな値でも取ることができ,それぞれにおいて \(a\) も様々な値になる。

なお,「答」で「方が 3.62 寸」になるのは,P = 3, Q = 0.566906077348066 のときである。
(solve(eq, Q)[2])(P => 3, a => 3.62) |> println
(a^2 - 9)/(2*a)
描画関数プログラムのソースを見る
function draw(P, Q, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho",
fg_color_border=:gray50, fg_color_text=:gray50, fg_color_axis=:gray50)
a = Q + sqrt(P^2 + Q^2)
ah = a/2
p = P/2
q = Q/2
plt = plot([a, a, -a, -a, a]./2, [-a, a, a, -a, -a]./2, color=:green, lw=0.5)
segment(ah, ah, -ah, -ah)
segment(-ah, ah, ah, -ah)
ellipse(ah - q, 0, q, p, color=:red)
ellipse(q - ah, 0, q, p, color=:red)
ellipse(0, ah - q, p, q, color=:red)
ellipse(0, q - ah, p, q, color=:red)
point(0, ah - q, @sprintf("長径 = %g, 短径 = %g\n方面 = %g", P, Q, a),
:black, :center, :vcenter, mark=false)
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(ah, ah, "(a/2,a/2)", :green, :right, :bottom, delta=delta)
end
return plt
end;
plt1 = draw(3, 1, false)
plt2 = draw(3, 2, false)
plt3 = draw(3, 3, false)
plt4 = draw(3, 4, false)
plot(plt1, plt2, plt3, plt4)
以下のアイコンをクリックして応援してください