41 岩手県一関市滝沢字寺田下 熊野白山滝神社 文久元年(1861)
安富有恒:和算—岩手の現存算額のすべて,青磁社,東京都,1987.
http://www.wasan.jp/iwatenosangaku_yasutomi.pdf
一関市博物館>>和算に挑戦>>平成20年度出題問題&回答例
https://www.city.ichinoseki.iwate.jp/museum/wasan/h20/index.html
キーワード:円,二等辺三角形,斜線
#Julia #SymPy #算額 #和算 #数学
圭(二等辺三角形)の中に斜線を入る。斜線の長さ(BD),底辺(BC),斜辺と斜線の交点と頂点までの距離(AD)の 3 つの長さが 1 寸である。求める黒積は,上部の三角形に内接する円を描いたとき図に色付した部分の面積の 2 倍である。

まず,\(\theta\) を求める。
AD = BD = BC = \(a\),∠BAC = \(\theta\) とする。
△ABC は △BCD と相似なので,∠ACB = ∠ABC = ∠ABD + ∠CBD = \(2\theta\), ∠ACB + ∠ABC + ∠BAC = \(5\theta\) = 180° ゆえ,\(\theta\) = 36° である。
次に,円の半径 \(r\) を求める。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms L::positive, a::positive, θ::positive, r::positive, h::positive;
θ = Sym(36)
h = a*sind(θ)
L = sqrt(a^2 - h^2)
eq4 = tand(θ/2) - r/L;
r = solve(eq4, r)[1];
println("r = ", r)
r = a*sqrt(50 - 10*sqrt(5))/20
灰色の部分の面積 \(S\) は,△BEF の面積から,半径 \(r\) の円の面積の 72/360 を引いたものなので,以下のようになる。
S = L*r/2 - PI*r^2*( (90 - θ/2)/360)
S |> println
-pi*a^2*(50 - 10*sqrt(5))/2000 + a*sqrt(50 - 10*sqrt(5))*sqrt(-a^2*(5/8 - sqrt(5)/8) + a^2)/40
\(\displaystyle\frac{ - \pi a^{2} \left( 50 - 10 \sqrt{5} \right)}{2000} + \frac{a \sqrt{50 - 10 \sqrt{5}} \sqrt{ - a^{2} \left( \frac{5}{8} - \frac{\sqrt{5}}{8} \right) + a^{2}}}{40}\)
求める面積(黒積)は \(S\) の 2 倍なので,\(a = 1\) を代入して 0.125831216718928 を得る(算額の「答」に一致する)。
なお,tan(18°),tan(36°) は結構きれいな形で表すことができるので,覚えておいて損はない。
tand(Sym(18))
\(\sqrt{1 - \frac{2 \sqrt{5}}{5}}\)
tand(Sym(36))
\(\sqrt{5 - 2 \sqrt{5}}\)
描画関数プログラムのソースを見る
function draw(a, more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(a, θ) = (1, 36)
r = a*sqrt(50 - 10√5)/20
h = (a/2)tand(2θ)
plot([a, 0, -a, a] ./ 2, [0, h, 0, 0], color=:black, lw=0.5)
segment(a/2, 0, a/2 - a*cosd(θ), a*sind(θ))
h2 = a*( (12 + 4√5)sqrt(25 - 5√5) + 5(√2 + √10)*sqrt(10 + 2√5))/(20(3 + √5)^1.5)
(Ex, Ey) = (a/4, h/2)
plot!([Ex, 0, a/2, Ex], [Ey, h2, 0, Ey], color=:black, lw=0.5, seriestype=:shape, fillcolor=:gray80)
circlef(0, h2, r, :white)
circle(0, h2, r)
plot!([Ex, 0, a/2, Ex], [Ey, h2, 0, Ey], color=:black, 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(0, h, " A:(0,h)", :black, :left, :vcenter)
point(a/2, 0, " B:(a/2,0)", :black, :left, :vcenter)
point(-a/2, 0, " C:(-a/2,0)", :black, :left, :bottom, delta=delta)
point(a/2 - a*cosd(θ), a*sind(θ), "D ", :black, :right, :vcenter)
point(Ex, Ey, " E", :black, :left, :vcenter)
point(0, h2, "F:(0,h2) ", :red, :right, :vcenter)
end
end;
以下のアイコンをクリックして応援してください