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


算額(その1656)

44 岩手県一関市滝沢字寺田下 熊野白山滝神社 明治31年(1898)

安富有恒:和算—岩手の現存算額のすべて,青磁社,東京都,1987.
http://www.wasan.jp/iwatenosangaku_yasutomi.pdf
キーワード:円4個,扇,斜線
#Julia #SymPy #算額 #和算 #数学


円周の 1/3 で扇を作り,二斜を設け,大円 1 個,小円 3 個を容れる。小円の直径が与えられたとき,大円の直径を求める術を述べよ。

扇長(要から先端までの長さ)を \(R\)
大円の半径と中心座標を \(r_1, (0, R - r_1)\)
小円の半径と中心座標を \(r_2, (0, R - 2r_1 - r_2)\)
とおき,以下の連立方程式を解く。

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

using SymPy
@syms R, r1, r2
eq1 = (R - r1)*sind(Sym(20)) - r1
eq2 = (R - 2r1 - r2)*sind(Sym(20)) - r2
res = solve([eq1, eq2], (r1, R));

# r1
res[r1] |> simplify |> println
res[r1](r2 => 1/2).evalf() |>  println

    r2*(sin(pi/9) + 1)/(1 - sin(pi/9))
    1.01980336458074

大円の半径 \(r_1\) は,小円の半径 \(r_2\) の \(\displaystyle \frac{\sin(\pi/9) + 1}{1 - \sin(\pi/9)} = 2.0396067291614743\) 倍である。
小円の直径が 1 のとき,大円の直径は 2.0396067291614743 である。

術とは異なる結果になった。

# R
res[R] |> simplify |> println
res[R](r2 => 1/2).evalf() |>  println

    r2*(sin(pi/9) + 1)^2/( (1 - sin(pi/9))*sin(pi/9))
    4.00150892924302

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

function draw(r2, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    r1 = r2*(sin(pi/9) + 1)/(1 - sin(pi/9))
    R = r2*(sin(pi/9) + 1)^2/( (1 - sin(pi/9))*sin(pi/9))
    @printf("小円の直径が %g のとき,大円の直径は %g である。\n", 2r2, 2r1)
    plot([R*cosd(150), 0, R*cosd(30)], [R*sind(150), 0, R*sind(30)], color=:green, lw=0.5)
    plot!([R*cosd(110), 0, R*cosd(70)], [R*sind(110), 0, R*sind(70)], color=:green, lw=0.5)
    circle(0, 0, R, :green, beginangle=30, endangle=150)
    circle(0, 0, R - 2r1, :green, beginangle=30, endangle=150)
    circle(0, R - r1, r1)
    circle(0, R - 2r1 - r2, r2, :blue)
    circle2( (R - 2r1 - r2)*cosd(50), (R - 2r1 - r2)*sind(50), r2, :blue)
    circle(0, 0, 0.1R, :magenta, beginangle=70, endangle=90)
    circle(0, 0, 0.09R, :magenta, beginangle=70, endangle=90)
    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, R - r1, "大円:r1,(0,R-r1)", :red, :center, delta=-delta)
        point(0, R - 2r1 - r2, "小円:r2,(0,R-2r1-r2)", :blue, :center, delta=-delta)
        point(0, R, "R", :green, :center, :bottom, delta=delta)
        point(0, 0.1R, "  20°", :magenta, mark=false)
    end
end;

draw(1/2, true)


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




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

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