以下の内容はhttps://sangaku0418.hatenablog.com/entry/2025/03/15/170243より取得しました。


算額(その1655)

岩手県一関市 一関八幡神社 天保9年(1838)

今有如図 03014
https://w.atwiki.jp/sangaku/pages/198.html
キーワード:円2個,直角三角形,等脚台形

#Julia #SymPy #算額 #和算 #数学


等脚台形の中に合同な直角三角形を 2 個容れ,できた区画に天円と地円を容れる。大頭(下底),小頭(上底)と天円の直径が与えられたとき,地円の直径を求める術を述べよ。

大頭,小頭,高さを \(2a, 2b, h\)
天円の半径と中心座標を \(r_1, (0, h - r_1)\)
地円の半径と中心座標を \(r_2, (0, r_2)\)
直角三角形の頂点と y 軸の接点を \( (0, i)\)
とおき,以下の連立方程式を解く。

include("julia-source.txt");  # julia-source.txt ソース

using SymPy
@syms a, b, r1, h, i, r2
eq1 = ( (a^2 + i^2) + (b^2 + (h - i)^2)) - ( (a - b)^2 + h^2)
eq2 = dist2(0, i, b, h, 0, h - r1, r1)
eq3 = dist2(0, i, a, 0, 0, r2, r2)
res = solve([eq1, eq2, eq3], (r2, h, i))[2]  # 2 of 2

    ( (a*b - a*r1)/(b + r1), -(a*b^4 - 2*a*b^2*r1^2 + a*r1^4 + 4*b^3*r1^2)/(2*b*r1*(-b + r1)*(b + r1)), -a*(-b + r1)*(b + r1)/(2*b*r1))

# r2
res[1] |> simplify |> println

    a*(b - r1)/(b + r1)

地円の半径 \(r_2\) は,\(r_2 = a*(b - r1)/(b + r1)\) である。

\(大頭 = a = 5\),\(小頭 = b = 3\),\(天円の半径 = r1 = 1.5\) のとき,\(地円の半径 = r2 = 5/3 ≒ 1.66667\) である。

res[1](a => 5, b => 3, r1 => 3//2) |> println

    5/3

# h
res[2] |> simplify |> println

    (a*b^4 - 2*a*b^2*r1^2 + a*r1^4 + 4*b^3*r1^2)/(2*b*r1*(b - r1)*(b + r1))

# i
res[3] |> simplify |> println

    a*(b - r1)*(b + r1)/(2*b*r1)

描画関数プログラムのソースを見る

function draw(a, b, r1, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    (h, i, r2) = (-(a*b^4 - 2*a*b^2*r1^2 + a*r1^4 + 4*b^3*r1^2)/(2*b*r1*(-b + r1)*(b + r1)), -a*(-b + r1)*(b + r1)/(2*b*r1), (a*b - a*r1)/(b + r1))
    @printf("a = %g;  b = %g;  r1 = %g;  h = %g;  i = %g;  r2 = %g\n", a, b, r1, h, i, r2)
    plot([a, b, -b, -a, a], [0, h, h, 0, 0], color=:green, lw=0.5)
    plot!([a, 0, b], [0, i, h], color=:blue, lw=0.5)
    plot!([-a, 0, -b], [0, i, h], color=:blue, lw=0.5)
    circle(0, h - r1, r1)
    circle(0, r2, r2, :magenta)
    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, " h", :green, :center, :bottom, delta=delta)
        point(0, i, "  i", :green, :left, :vcenter)
        point(b, h, "(b,h)", :green, :center, :bottom, delta=delta)
        point(a, 0, "(a,0)", :green, :right, delta=-delta)
        point(0, h - r1, "天円:r1,(0,h-r1)", :red, :center, delta=-delta)
        point(0, r2, "地円:r2,(0,r2)", :magenta, :center, delta=-delta)
        ylims!(-5delta, h + 2delta)
    end
end;

draw(5, 3, 1.5, true)


以下のアイコンをクリックして応援してください




以上の内容はhttps://sangaku0418.hatenablog.com/entry/2025/03/15/170243より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14