以下の内容はhttps://sangaku0418.hatenablog.com/entry/2023/12/10/170508より取得しました。


算額(その0549)

群馬の算額 77-3 宮子神社 嘉永6年(1853)

http://takasakiwasan.web.fc2.com/gunnsann/g077-3.html
キーワード:円4個,半円,長方形
#Julia #SymPy #算額 #和算 #数学


長方形内に半円,甲円,乙円および等円 2 個を容れる。長方形の短辺の長さが 3 寸のとき,等円の直径はいかほどか。

長方形の短辺,長辺を \(a,\ b\)
半円の半径と中心座標を \(r_0,\ (a/2,\ 0);\ r_0 = a/2\)
甲円の半径と中心座標を \(r_1,\ (r_1,\ y_1)\)
乙円の半径と中心座標を \(r_2,\ (a - r_2,\ y_1)\)
等円の半径と中心座標を \(r_3,\ (a - r_3,\ y_3),\ (a - r_3,\ b - r_3)\)
とおき,以下の連立方程式を解く。

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

using SymPy

@syms a::positive, b, r0, r1, y1::positive, r2, r3, y3::positive

r0 = a//2
eq1 = (r0 - r1)^2 + y1^2 - (r0 + r1)^2
eq2 = (a - r3 - r0)^2 + y3^2 - (r0 + r3)^2
eq3 = 2r1 + 2r2 - a
eq4 = (a - r3 - r1)^2 + (y3 - y1)^2 - (r3 + r1)^2
eq5 = (a - r3 - r1)^2 + (b - r3 - y1)^2 - (r3 + r1)^2
eq6 = (r3 - r2)^2 + (y3 - y1)^2 - (r3 + r2)^2

res = solve([eq1, eq2, eq3, eq4, eq5, eq6], (b, r1, y1, r2, r3, y3))[2]  # 2 of 2

    (sqrt(3)*a/6 + a*(1 + 3*sqrt(3))/6, 3*a/8, sqrt(3)*a/2, a/8, a/6, sqrt(3)*a/3)

\(b  = a(1 + 4\sqrt{3})/6\)
\(r_1 = 3a/8\)
\(y_1 = \sqrt{3}a/2\)
\(r_2 = a/8\)
\(r_3 = a/6\)
\(y_3 = \sqrt{3}a/3\)

等円の半径は長方形の短辺の 1/6 である。
長方形の短辺が 3 寸のとき,等円の半径は 1/2 寸,直径は 1 寸である。

その他のパラメータは以下の通り。

\(b = 3.9641;\ r_1 = 1.125;\ y_1 = 2.59808;\ r_2 = 0.375;\ r_3 = 0.5;\ y_3 = 1.73205\)
\(等円の直径 = 1;\ 甲円の直径 = 2.25;\ 乙円の直径 = 0.75\)

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   a = 3
   r0 = a//2
   (b, r1, y1, r2, r3, y3) = a .* ( (1 + 4*sqrt(3))/6, 3/8, sqrt(3)/2, 1/8, 1/6, sqrt(3)/3)
   @printf("b = %g;  r1 = %g;  y1 = %g;  r2 = %g;  r3 = %g;  y3 = %g\n", b, r1, y1, r2, r3, y3)
   @printf("等円の直径 = %g;  甲円の直径 = %g;  乙円の直径 = %g\n", 2r3, 2r1, 2r2)
   plot([0, a, a, 0, 0], [0, 0, b, b, 0], color=:black, lw=0.5)
   circle(r0, 0, r0, beginangle=0, endangle=180)
   circle(r1, y1, r1, :blue)
   circle(a - r3, y3, r3, :green)
   circle(a - r3, b - r3, r3, :green)
   circle(a - r2, y1, r2, :magenta)
   if more
       delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3  # size[2] * fontsize * 2
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
       point(r0, 0, "半円:r0,(a/2,0)", :red, :center, :bottom, delta=delta)
       point(a, 0, "a ", :red, :right, :bottom, delta=delta/2)
       point(0, b, " b", :black, :left, :bottom, delta=delta/2)
       point(r1, y1, "甲円:r1,(r1,y1)", :blue, :center, :top, delta=-delta/2)
       point(a - r2, y1, "乙円:r2\n(r2,y1)", :magenta, :center, :top, delta=-delta/2)
       point(a - r3, b - r3, "等円:r3\n(a-r3,b-r3)", :green, :center, :top, delta=-delta/2)
       point(a - r3, y3, "等円:r3\n(a-r3,y3)", :green, :center, :top, delta=-delta/2)
   end
end;


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




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

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