以下の内容はhttps://sangaku0418.hatenablog.com/entry/2025/01/06/203221より取得しました。


算額(その0855)

32 岩手県一関市山目字館 配志和神社 嘉永5年(1852)

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


正方形の中に等円 4 個を容れる。等円の直径が 1 寸のとき,図で示す部分の面積(赤積)はいかほどか。

正方形の一辺の長さを \(a\),等円の半径を \(r\) とおく。
以下の方程式をとき,等円の直径が既知の場合の正方形の一辺の長さを求める。

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

using SymPy
@syms  a::positive, r::positive
eq = ( (a - r) - 2r)^2 + ( (a - r) - (1 + √Sym(3))r)^2 - 4r^2;
res = solve(eq, a)[2]
res |> println

    r*(sqrt(3) + 3)

等円の半径が \(r\) のとき,正方形の一辺の長さは \(a = r(3 + \sqrt{3})\) である。

B, C, D 円の中心座標を \( (b_x, b_y), (c_x, c_y), (d_x, d_y)\) などとする。

a = r*(√Sym(3) + 3)
(bx, by) = (3r, r)
(cx, cy) = (2r, (1 + √Sym(3))r)
(dx, dy) = (a - r, a - r)
(ex, ey) = (3r, 0)
(fx, fy) = (a, a - r)
(gx, gy) = (a, 0);

∠FDC = 150°,∠DCB = 90°,∠EBC = 210° である。
赤積は,多角形GFDCBE から B円の 210/360,C円の 90/360,D円の150/360 を差し引いたものである。

多角形の面積 = ( (fx - dx) + (fx - cx))*(fy - cy)/2 + ( (fx - cx) + (fx - bx))*(cy - by)/2 + (gx - bx)*(by - ey)  |> simplify
多角形の面積 |> println

    2*r^2*(sqrt(3) + 2)

扇形3個の面積 = PI*r^2*(150 + 90 + 210)/360
扇形3個の面積 |> println

    5*pi*r^2/4

赤積 = 多角形の面積 - 扇形3個の面積 |> factor
赤積 |> println

    -r^2*(-16 - 8*sqrt(3) + 5*pi)/4

赤積は,等円の半径の二乗の \( (16 + 8\sqrt{3} - 5\pi)/4\) 倍である。

等円の直径が 1 寸のときに多角形の面積,扇型の面積,赤積を求める。

多角形の面積(r => 1//2).evalf() |> println
扇形3個の面積(r => 1//2).evalf() |> println
赤積(r => 1//2).evalf() |> println

    1.86602540378444
    0.981747704246810
    0.884277699537628

\(r = 0.5, a = 2.3660254037844384\)
\(多角形の面積 = 1.866025403784438\)
\(扇形3個の面積 = 0.9817477042468103\)
\(赤積 = 0.8842776995376276\)

術は等円の直径を用いた式で,上述の式と同じである。

@syms 直径, 円周率, 円積率, 半径
# 直径 = 1
#円周率 = 3.1416
#円周率 = π
円積率 = 円周率/4
直径 = 2半径
# (sqrt(0.75) + 1 - 円積率*1.25)*直径^2
(sqrt(Sym(3)/4) + 1 - 円積率*(Sym(5)/4))*直径^2 |> simplify |> println

    半径^2*(-5*円周率 + 8*sqrt(3) + 16)/4

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

function draw(r, more=false)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    a = r*(√3 + 3)
    (ax, ay) = (r, r)
    (bx, by) = (3r, r)
    (cx, cy) = (2r, (1 + √3)r)
    (dx, dy) = (a - r, a - r)
    (ex, ey) = (3r, 0)
    (fx, fy) = (a, a - r)
    (gx, gy) = (a, 0)
    多角形の面積 = ( (fx - dx) + (fx - cx))*(fy - cy)/2 + ( (fx - cx) + (fx - bx))*(cy - by)/2 + (gx - bx)*(by - ey)
    扇形3個の面積 = π*r^2*(150 + 90 + 210)/360
    赤積 = 多角形の面積 - 扇形3個の面積
    @printf("r = %g, a = %g, 多角形の面積 = %g, 扇形3個の面積 = %g, 赤積 = %g\n",
       
r, a, 多角形の面積, 扇形3個の面積, 赤積)
    plot([0, a, a, 0, 0], [0, 0, a, a, 0], color=:green, lw=0.5)
    plot!([gx, fx, dx, cx, bx, ex, gx], [gy, fy, dy, cy, by, ey, gy], color=:red, fillcolor=:red, seriestype=:shape)
    circlef(r, r, r, :white)
    circlef(2r, (1 + √3)*r, r, :white)
    circlef(a - r, a - r, r, :white)
    circlef(3r, r, r, :white)
    circle(r, r, r, :blue)
    circle(2r, (1 + √3)*r, r, :blue)
    circle(a - r, a - r, r, :blue)
    circle(3r, r, r, :blue)
    plot!([gx, fx, dx, cx, bx, ex, gx], [gy, fy, dy, cy, by, ey, gy], color=:gray80)
    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, " A", :blue, :left, :vcenter)
        point(bx, by, " B", :blue, :left, :vcenter)
        point(cx, cy, "C ", :blue, :right, :vcenter)
        point(dx, dy, "D", :blue, :left, :bottom, delta=delta/2)
        point(ex, ey, "E", :blue, :left, delta=-delta)
        point(fx, fy, " F", :blue, :left, :vcenter)
        point(gx, gy, "G", :blue, :left, delta=-delta)
        plot!(xlims=(-5delta, a + 5delta), ylims=(-5delta, a + 5delta))
    end
end;

draw(1/2, true)


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




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

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