以下の内容はhttps://sangaku0418.hatenablog.com/entry/2024/04/09/213750より取得しました。


算額(その0846)

93 岩手県大船渡市盛町館下 根城八幡宮 天保12年(1841)

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


天円の中に水平な弦を引き,その上に地円 3 個,人円 1個,下に地円 1 個を容れる。人円の直径が与えられたとき,地円の直径を求めよ。

人円の中心座標は原点になる。
天円の半径と中心座標を \(R, (0, 0)\)
地円の半径と中心座標を \(r_1, (0, R - r_1), (x_1, r_1 - r_2), (0, r_1 - R)\)
人円の半径と中心座標を \(r_2, (0, 0)\)
とおき,以下の連立方程式を解く。

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

using SymPy
@syms R::positive, r1::positive, x1::positive, r2::positive;

eq1 = x1^2 + (r1 - r2)^2 - (R - r1)^2
eq2 = x1^2 + 4r2^2 - 4r1^2
eq3 = x1^2 + (r1 - r2)^2 - (r1 + r2)^2
res = solve([eq1, eq2, eq3], (R, r1, x1))[1]

   (2*r2 + sqrt(5)*r2, r2*(1 + sqrt(5))/2, 2*r2*sqrt(1/2 + sqrt(5)/2))

地円の半径 \(r_1\) は人円の半径 \(r_2\) の \( (1 + \sqrt{5})/2\) 倍である。
たとえば,人円の直径が 1 のとき,地円の直径は 1.618033988749895 である。
ちなみに天円の直径は 人円の直径の \(2 + \sqrt{5}\) 倍の 4.23606797749979 である。

(1 + √5)/2, 2 + √5

   (1.618033988749895, 4.23606797749979)

術は「人円の径を 2 倍すれば地円の径を得る」であるが,理解しがたい。

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

function draw(r2, more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (R, r1, x1) = (2*r2 + sqrt(5)*r2, r2*(1 + sqrt(5))/2, 2*r2*sqrt(1/2 + sqrt(5)/2))
   @printf("人円の直径 = %g;  地円の直径 = %g;  天円の直径 = %g\n", 2r2, 2r1, 2R)
   plot()
   circle(0, 0, R)
   circle2(x1, r1 - r2, r1, :blue)
   circle22(0, R - r1, r1, :blue)
   circle(0, 0, r2, :green)
   y = 2r1 - R
   x = sqrt(R^2 - y^2)
   segment(-x, y, x, y, :orange)
   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, R - r1, " 地円:r1,(0,R-r1)", :blue, :center, delta=-delta/2)
       point(0, r1 - R, " 地円:r1,(0,r1-R)", :blue, :center, delta=-delta/2)
       point(x1, r1 - r2, " 地円:r1,(x1,r1-r2)", :blue, :center, delta=-delta/2)
       point(0, 0, "人円:r2,(0,0)", :green, :center, delta=-delta/2)
       point(0, -r2, "-r2", :black, :center, delta=-delta/2)
   end
end;


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




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

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