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


算額(その1440)

4 岩手県花巻市北笹間 東光寺 慶應2年(1866)

安富有恒:和算—岩手の現存算額のすべて,青磁社,東京都,1987.
http://www.wasan.jp/iwatenosangaku_yasutomi.pdf

山形県寒河江市平塩 熊野神社 明治2年(1869)

徳竹亜紀子,谷垣美保,萬 伸介:天童市山元の若松寺観音堂算額の調査報告 ― 服部武右衛門が関わる算額 ー,仙台高等専門学校名取キャンパス 研究紀要,第 59 号,p.1-8,2023.
https://www.jstage.jst.go.jp/article/nitsendainatori/59/0/59_1/_pdf/-char/ja

キーワード:外円,正方形
#Julia #SymPy #算額 #和算 #数学


円の中に大正方形 1 個,小正方形 3 個を容れる。大正方形の一辺の長さが 1 寸のとき,小正方形の一辺の長さはいかほどか。

円の半径と中心座標を \(R,\ (0,\ 0)\)
大正方形の一辺の長さを \(a\)
小正方形の一辺の長さを \(b\)
正方形の頂点座標を \( (a_x,\ a_y),\ \dots, (f_x,\ f_y)\)
とおき,方程式を解く。
座標点のうちいくつかは特定できる。結局,求めるべきパラメータは \(b,\ R,\ c_x\) である。

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

using SymPy
@syms R::positive, a::positive, b::positive,
      ax::positive, ay::positive, bx::positive, by::positive,
      cx::positive, cy::positive, dx::positive, dy::positive,
      ex::positive, ey::positive, fx::positive, fy::positive
ax = a/2
ay = sqrt(R^2 - ax^2)
bx = ax
by = ay - a
cy = -sqrt(R^2 - cx^2)
dx = a//2 ### 数値解から得られた関係式
dy = -sqrt(R^2 - dx^2)
ex = b/2
ey = -a//2 ### 数値解から得られた関係式
fx = ex
fy = ey - b

eq1 = (cx - dx)^2 + (cy - dy)^2 - b^2 |> expand
eq2 = (ex - bx)^2 + (ey - by)^2 - b^2 |> expand
eq3 = (bx - dx)^2 + (by - dy)^2 - 2b^2 |> expand;

res = solve([eq1, eq2, eq3], (b, R, cx))[4]  # 4 of 4

    (a*sqrt(-3*sqrt(2) - sqrt(11 - 6*sqrt(2)) + 6), a*sqrt(12 - 6*sqrt(2))/2, a*(7*sqrt(34 - 24*sqrt(2)) + sqrt(22 - 12*sqrt(2)) + 14*sqrt(17 - 12*sqrt(2)) + 2*sqrt(11 - 6*sqrt(2)))/12)

# b  二重根号を外す
res[1] |> sympy.sqrtdenest |> println

    a*(-1 + sqrt(2))

# R
res[2] |> println

    a*sqrt(12 - 6*sqrt(2))/2

# cx  二重根号を外す
res[3] |> sympy.sqrtdenest |> simplify |> println

    a*(3 - sqrt(2))/2

小正方形の一辺の長さ \(b\) は,大正方形の一辺の長さ \(a\) の \(\sqrt{2} - 1\) 倍である。
大正方形の一辺の長さが 1 寸のとき,小正方形の一辺の長さは \(\sqrt{2} - 1 = 0.41421356237309515\) 寸である。

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

function draw(a, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    b = a*(√2 - 1)
    R = a*sqrt(12 - 6√2)/2
    cx = a*(3 - √2)/2
    ax = a/2
    ay = sqrt(R^2 - ax^2)
    bx = ax
    by = ay - a
    cy = -sqrt(R^2 - cx^2)
    dx = a//2 ### 数値解から得られた関係式
    dy = -sqrt(R^2 - dx^2)
    ex = b/2
    ey = -a//2 ### 数値解から得られた関係式
    fx = ex
    fy = ey - b
    @printf("a = %g;  b = %g;  R = %g;  cx = %g\n", a, b, R, cx)
    plot([bx, ax, -ax, -bx, bx], [by, ay, ay, by, by], color=:blue, lw=0.5)
    circle(0, 0, R)
    plot!([cx, bx, ex, dx, cx], [cy, by, ey, dy, cy], color=:green, lw=0.5)
    plot!(-[cx, bx, ex, dx, cx], [cy, by, ey, dy, cy], color=:green, lw=0.5)
    plot!([fx, ex, -ex, -fx, fx], [fy, ey, ey, fy, fy], color=:green, 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(ax,  ay, " (ax,ay)", :green, :left, :vcenter)
        point(bx,  by, " (bx,by)", :green, :left, :vcenter)
        point(cx,  cy, " (cx,cy)", :green, :left, :vcenter)
        point(dx,  dy, " (dx,dy)", :green, :left, :vcenter)
        point(ex,  ey, " (ex,ey)", :green, :left, :vcenter)
        point(fx,  fy, " (fx,fy)", :green, :left)
        point(0, R, "R", :red, :center, :bottom, delta=delta/2)
    end
end;

draw(1, true)


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




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

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