以下の内容はhttps://sangaku0418.hatenablog.com/entry/2024/02/22/142112より取得しました。


算額(その0717)

埼玉県加須市 愛宕神社 明治13年(1880)

埼玉の算額ほか
https://gunmawasan.web.fc2.com/files/saitama-sangaku-h24.html
愛宕神社の復元算額 明治13年(部分拡大図)(加須市)
https://gunmawasan.web.fc2.com/files/sangak-corner/atago-3s.jpg
キーワード:円7個,外円,正三角形,菱形
#Julia #SymPy #算額 #和算 #数学


外円内に正三角形と弦を描き,区画された領域に菱形 1 個,甲円 1 個,乙円 3 個,丙円 2 個を容れる。
菱形の長い方の対角線が 1 寸 5 分のとき,丙円の直径はいかほどか。

外円の半径と中心座標を \(R,\ (0,\ 0)\)
甲円の半径と中心座標を \(r_1,\ (0,\ r_1 - R)\)
乙円の半径と中心座標を \(r_2,\ (x_2,\ y + r_2),\ (0,\ y + r_2)\)
丙円の半径と中心座標を \(r_3,\ (x_3,\ 2r_1 - R - r_3)\)
菱形の長い方の対角線の長さを \(2x\)
乙円が接している弦と \(y\) 軸との交点座標を \( (0, y)\) とする。
\(R = 4r_1,\ r_3 = 3r_1/4,\ x_3 = 2\sqrt{r_1 r_3}\) は容易にわかるので,以下の連立方程式を解く。

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

using SymPy
@syms R::positive, x::positive, y::positive,
     r1::positive, r2::positive, x2::positive,
     r3::positive, x3::positive
@syms d
R = 4r1
r3 = 3r1/4
x3 = 2*sqrt(r1*r3)
eq1 = x3^2 + (r3 - r1)^2 - (r1 + r3)^2
eq2 = x3^2 + (2r1 - R - r3)^2 - (R - r3)^2
eq3 = x2^2 + (y + r2)^2 - (R - r2)^2
eq3 = eq3 |> expand
eq4 = dist(sqrt(Sym(3))/2*R, -R/2, 0, R, x2, y + r2) - r2^2
eq4 = eq4 |> expand
eq5 = dist(sqrt(Sym(3))/2*R, -R/2, 0, R, 0, y + r2) - r2^2
eq5 = apart(eq5, d);
eq6 = ( (y + 2r1 - R)/2 - 2r1 + R)/(sqrt(Sym(3))/2*R - x) - sqrt(Sym(3))
eq6 = eq6 |> factor;
eq7 = 16R*r3 - 3R^2;

res = solve([eq3, eq4, eq5, eq6], (r1, r2, x2, y))[1]

    (25*sqrt(3)*x/111, 8*sqrt(3)*x/37, 32*x/37, 28*sqrt(3)*x/111)

丙円の直径は,甲円の直径の 3/4 倍であり,甲円の直径は \(2(25\sqrt{3} x/111)\)である
菱形の長い方の対角線の長さが \(2x\) のとき,丙円の直径は \(2(25\sqrt{3} x/111)\cdot (3/4)\) である。

\(2x = 1.5\) 寸のとき 0.4388642248907628 すなわち,「4分3厘8毛有奇」である。

x = 1.5/2
2(25*sqrt(3)*x/111)*(3/4)

   0.4388642248907628

「術」は,「3 の平方根に菱長と 25 を掛けて 148 で割る」\(\sqrt{3}\cdot 1.5 \cdot 25/148 = 0.4388642248907628\) である。

sqrt(3)*1.5*25/148

   0.4388642248907628

その他のパラメータは以下のとおりである。

\(R = 1.1703;\  r_1 = 0.292576;\  r_2 = 0.280873;\  x_2 = 0.648649\)
\(r_3 = 0.219432;\  xv3 = 0.506757\)

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   x = 15//20
   (r1, r2, x2, y) = (25*sqrt(3)*x/111, 8*sqrt(3)*x/37, 32*x/37, 28*sqrt(3)*x/111)
   R = 4r1
   r3 = 3r1/4
   x3 = 2*sqrt(r1*r3)
   @printf("丙円の直径 = %g\n", 2r3)
   @printf("R = %g, r1 = %g;  r2 = %g;  x2 = %g;  r3 = %g;  x3 = %g\n", R, r1, r2, x2, r3, x3)
   plot([√3/2*R, 0, -√3/2*R, √3/2*R], [-R/2, R, -R/2, -R/2], color=:gray70, lw=0.5)
   circle(0, 0, R)
   circle(0, r1 - R, r1)
   circle(x3, 2r1 - R - r3, r3, :blue)
   circle(-x3, 2r1 - R - r3, r3, :blue)
   circle(0, y + r2, r2, :orange)
   circle(x2, y + r2, r2, :orange)
   circle(-x2, y + r2, r2, :orange)
   plot!([x, 0, -x, 0, x], [(y + 2r1 - R)/2, y, (y + 2r1 - R)/2, 2r1 - R, (y + 2r1 - R)/2], color=:green, lw=0.5)
   xa = sqrt(R^2 - y^2)
   segment(-xa, y, xa, y)
   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(R, 0, " R", :red, :left, :bottom, delta=delta/2)
       point(0, y, " y", :black, :left, :top, delta=-delta)
       point(0, y + r2, " 乙円:r2\n (0,y+r2)", :black, :left, :vcenter)
       point(x2, y + r2, " 乙円:r2\n (x2,y+r2)", :black, :center, delta=-delta/2)
       point(x, (y + 2r1 - R)/2, "(x,(y+2r1-R)/2) ", :green, :right, :vcenter)
       point(0, 2r1 - R, " 2r1-R", :red, :center, :bottom, delta=delta/2)
       point(0, r1 - R, "甲円:r1\n(0,r1-R)", :red, :center, :bottom, delta=delta/2)
       point(x3, 2r1 - R - r3, "丙円:r1\n(x3,2r1-R-r3)", :black, :center, :bottom, delta=delta/2)
   end
end;


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




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

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