以下の内容はhttps://sangaku0418.hatenablog.com/entry/2024/12/20/230234より取得しました。


算額(その1488)

四十八 岩手県一関市弥栄 弥栄熊野神社 明治16年(1883)

山村善夫:現存 岩手の算額,昭和52年1月30日,熊谷印刷,盛岡市.
http://www.wasan.jp/yamamura/yamamura.html
キーワード:円4個,円弧,弦,矢
#Julia #SymPy #算額 #和算 #数学


円弧(弓形)内に,甲円 2 個,乙円 2 個を容れる。甲円の直径が 147 寸,弦の長さが 294 寸のとき,乙円の直径と矢の長さはいかほどか。

円弧の半径と中心座標を \(R,\ (0,\ 0)\)
弦と \(y\) 軸の交点座標を \( (0,\ y)\)
甲円の半径と中心座標を \(r_1,\ (r_1,\ y + r_1)\)
乙円の半径と中心座標を \(r_2,\ (x_2,\ y + r_2)\)
とおき,以下の連立方程式を解く。
矢の長さは \(R - y\) である。

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

using SymPy
@syms R, r1, r2, x2, 矢, 弦

y = R- 矢
x = 弦/2
eq1 = r1^2 + (y + r1)^2 - (R - r1)^2
eq2 = x2^2 + (y + r2)^2 - (R - r2)^2
eq3 = (x2 - r1)^2 + (r1 - r2)^2 - (r1 + r2)^2
eq4 = x^2 + y^2 - R^2;

res = solve([eq1, eq2, eq3, eq4], (R, r2, x2, 矢))[2]

    (-(4*r1^2 + 弦^2)^2/(16*r1*(2*r1 - 弦)*(2*r1 + 弦)), r1*(2*r1 - 弦)^2*(2*r1 + 弦)^2/(12*r1^2 + 弦^2)^2, (4*r1^3 + 3*r1*弦^2)/(12*r1^2 + 弦^2), -2*r1*弦^2/( (2*r1 - 弦)*(2*r1 + 弦)))

# r2
res[2] |> println
res[2](r1 => 147//2, 弦 => 294) |> println

    r1*(2*r1 - 弦)^2*(2*r1 + 弦)^2/(12*r1^2 + 弦^2)^2
    27/2

乙円の直径は 27 寸である。

# 矢
res[4] |> simplify |> println
res[4](r1 => 147//2, 弦 => 294) |> println

    -2*r1*弦^2/(4*r1^2 - 弦^2)
    196

矢の長さは 196 寸である。

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

function draw(弦, d1, more=false)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    x = 弦/2
    r1 = d1/2
    (R, r2, x2, 矢) = (-(4*r1^2 + 弦^2)^2/(16*r1*(2*r1 - 弦)*(2*r1 + 弦)), r1*(2*r1 - 弦)^2*(2*r1 + 弦)^2/(12*r1^2 + 弦^2)^2, (4*r1^3 + 3*r1*弦^2)/(12*r1^2 + 弦^2), -2*r1*弦^2/( (2*r1 - 弦)*(2*r1 + 弦)))
    y = R- 矢
    @printf("矢 = %g, 乙円の直径 = %g\n", 矢, 2r2)
    θ = atand(y, x)
    plot()
    circle(0, 0, R, :magenta, beginangle=θ, endangle=180-θ)
    circle2(r1, y + r1, r1)
    circle2(x2, y + r2, r2, :blue)
    segment(-x, y, x, y, :green)
    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(r1, y + r1, "甲円:r1,(r1,y+r1)", :red, :center, delta=-delta)
        point(x2, y + r2, "乙円:r2,(x2,y+r2)", :blue, :right, :vcenter)
        point(0, R, "R", :magenta, :center, :bottom, delta=delta)
        point(0, y, "y", :green, :center, delta=-delta)
        point(弦/2, y, "(弦/2,y)", :green, :right, delta=-delta)
        dimension_line(0, y, 0, R, " 矢", :black, :left, delta=20delta)
        ylims!(y - 7delta, R + 2delta)
    end
end;

draw(294, 147, true)


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




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

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