算額(その619)
和算図形問題あれこれ
令和 4 年 4 月の問題 - No.2
https://gunmawasan.web.fc2.com/kongetu-no-mondai.html
正方形の一辺の長さを a とする。図のように,正方形内に 3 本の線を引く。
甲,乙,丙の三角形の面積が 111 平方寸,68 平方寸, 8 平方寸のとき,正方形の一辺の長さはいかほどか。
周りにある直角三角形の面積は計算できる。中央の三角形の面積を x とおき,以下の連立方程式を解けばよい。
include("julia-source.txt");
using SymPy
@syms a::positive, b::positive, c::positive, x::positive;
eq1 = a*b/2 - 68
eq2 = a*c/2 - 111
eq3 = (a - b)*(a - c)/2 - 8
eq4 = 111 + 8 + 68 + x - a^2
res = solve([eq1, eq2, eq3, eq4], (a, b, c, x))
1-element Vector{NTuple{4, Sym}}:
(sqrt(187 - sqrt(4777))*(sqrt(31191) + 11*sqrt(1887))/444, 2*sqrt(352869 - 1887*sqrt(4777))/111, sqrt(1221/4 - 111*sqrt(4777)/68), sqrt(4777))
a = sqrt(187 - sqrt(4777))*(sqrt(31191) + 11*sqrt(1887))/444 となり,SymPy ではこれ以上簡約化できない。
しかし,裏をかいて a^2 を求めて簡約化すると以下のようになる。この平方根をとれば a = sqrt(sqrt(4777) + 187) である。
res[1][1]^2 |> simplify |> println
sqrt(4777) + 187
a = sqrt(sqrt(4777) + 187) = 16.003619739999756 である。
sqrt(sqrt(4777) + 187)
16.003619739999756
その他のパラメータは以下の通り。
a = 16.0036; b = 8.49808; c = 13.8719; x = 69.1158
function draw(more=false)
pyplot(size=(300, 300), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(a, b, c, x) = res[1]
@printf("正方形の一辺の長さ a = %g; b = %g; c = %g; x = %g\n", a, b, c, x)
plot([0, a, a, 0, 0, a, c, 0], [0, 0, a, a, 0, b, a, 0], color=:black, lw=0.5)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3 # size[2] * fontsize * 2
vline!([0], color=:black, lw=0.5)
hline!([0], color=:black, lw=0.5)
point(a, 0, " a", :red, :left, :bottom, delta=delta/2)
point(a, b, " (a,b)", :red, :left, :vcenter)
point(c, a, "(c,a)", :red, :center, :bottom, delta=delta/2)
point(0, a, " a", :red, :center, :bottom, delta=delta/2)
point(5, 12, "甲: 111", :green, :center, :vcenter, mark=false)
point(12.5, 2.5, "乙: 68", :green, :center, :vcenter, mark=false)
point(16, 13, "丙: 8 ", :green, :right, :vcenter, mark=false)
point(11, 9, "x", :green, :center, :vcenter, mark=false)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます