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


算額(その1049)

87 岩手県室根村折壁字天王前 弥栄神社 明治16年(1833)

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


大円の内外に等円を 4 個描く。内外の 3 個ずつの等円は共通接線を持つ。大円の直径が 30 寸のとき,等円の直径はいかほどか。

大円の半径と中心座標を \(r_1, (0, 0)\)
等円の半径と中心座標を \(r_2, (0, y_2), (r_1 + r_2, 0); y_2 = r_1 - r_2\)
とおき,以下の方程式を解く。

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

using SymPy
@syms r1::positive, r2::positive, y2::positive,
     len::positive, θ::positive
len = sqrt( (r1 + r2)^2 - r2^2)
sinθ = r2/(r1 + r2)
cosθ = sqrt(1 - (r2/(r1 + r2))^2)
y2 = r1 - r2
eq = y2*cosθ - r2
solve(eq, r2)[1] |> println

   r1*sqrt(-2 + sqrt(5))

等円の半径 \(r_2\) は 大円の半径の \(\sqrt{\sqrt{5} - 2} = 0.48586827175664576\) 倍である。
大円の直径が 30 寸のとき,等円の直径は \(30\sqrt{\sqrt{5} - 2} = 14.576048152699373\) 寸である。

\(r_2 = 7.28802407634969;\  y_2 = 7.71197592365031\)

「術」では,\(等円径 = (大円径/2 + 0.15)\cdot(\sqrt{5} - \sqrt{2}) ≒ (大円径/2 + 0.15)\cdot0.821\) としているようだが,理解不能である。

大円径 = 30
等円径 = (大円径/2 + 0.15)*(√5 - √2)
等円径2 = (大円径/2 + 0.15)*0.821
(等円径, 等円径2)

   (12.451094389169425, 12.43815)

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r1 = 30/2
   r2 = r1*sqrt(√5 - 2)
   y2 = r1 - r2
   @printf("大円の直径が %g のとき,等円の直径は %g である。\n", 2r1, 2r2)
   @printf("r2 = %.15g;  y2 = %.15g\n", r2, y2)
   plot()
   circle(0, 0, r1)
   circle2(r1 + r2, 0, r2, :blue)
   circle22(0, y2, r2, :blue)
   len = sqrt( (r1 + r2)^2 - r2^2)
   sinθ = r2/(r1 + r2)
   cosθ = sqrt(1 - (r2/(r1 + r2))^2)
   (x0, y0) = (len*cosθ, len*sinθ)
   abline(x0, y0, y0/x0, -r1 - 2r2, r1 + 2r2, :green)
   abline(x0, -y0, -y0/x0, -r1 - 2r2, r1 + 2r2, :green)
   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, y0, " y0 = r1 - r2", :blue, :center, delta=-delta/2)
       point(0, y0, "等円:r2", :blue, :center, :bottom, delta=delta)
       point(0, r1, " r1", :red, :left, :bottom, delta=delta/2)
       point(r1 + r2, 0, "等円:r2\n(r1+r2,0)", :blue, :center, delta=-delta)
       
   end
end;


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




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

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