以下の内容はhttps://sangaku0418.hatenablog.com/entry/2024/03/07/175141より取得しました。


算額(その0760)

秋田県仙北市角館町西長野 熊野神社 弘化2年(1845)

和算の館
http://www.wasan.jp/akita/kakunodatekumano2.html
キーワード:円2個,直角三角形,正方形
#Julia #SymPy #算額 #和算 #数学


直角三角形の中に正方形と,直径がそれぞれ 8 寸,6寸の甲円と乙円が入っている。正方形の一辺の長さはいかほどか。

直角三角形の直角を挟むに辺のうち,短い方を「\(鈎\)」,長い方を「\(股\)」
甲円の半径と中心座標を \(r_1,\ (股 - a - r_1,\ r_1)\)
乙円の半径と中心座標を \(r_2,\ (a - r_2,\ a + r_2)\)
正方形の一辺の長さを \(a\)
とおき,以下の連立方程式を解く。

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

using SymPy
@syms r1::positive, r2::positive, a::positive,
     鈎::positive, 股::positive
eq1 = r1/a - r2/(鈎 - a)
eq2 = a/(股 - a) - 鈎/股
eq3 = dist(0, 0, 股, 鈎, 股 - a - r1, r1) - r1^2;
res = solve([eq1, eq2, eq3], (a, 鈎, 股))[2]  # 2 of 2
   (r1 + r2 + sqrt(r1^2 + r2^2), (r1 + r2)*(r1 + r2 + sqrt(r1^2 + r2^2))/r1, (r1 + r2)*(r1 + r2 + sqrt(r1^2 + r2^2))/r2)

正方形の一辺の長さは 甲円と乙円の直径の二乗和の平方根を取り,甲円と乙円の直径を加える。

甲円と乙円の直径がそれぞれ 8 寸,6寸のとき,正方形の一辺の長さは 12 寸(1 尺 2 寸)である。

(8 + 6 + sqrt(8^2 + 6^2))/2

   12.0

ちなみに,鈎,股はそれぞれ 21, 28 寸である。

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r1, r2) = (8, 6) .// 2
   (a, 鈎, 股) = (r1 + r2 + sqrt(r1^2 + r2^2), (r1 + r2)*(r1 + r2 + sqrt(r1^2 + r2^2))/r1, (r1 + r2)*(r1 + r2 + sqrt(r1^2 + r2^2))/r2)
   plot([0, 股, 股, 0], [0, 0, 鈎, 0], color=:black, lw=0.5)
   circle(股 - a - r1, r1, r1)
   circle(股 - r2, a + r2, r2, :blue)
   segment(股 - a, 0, 股 - a, a, :green)
   segment(股 - a, a, 股, a, :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(股 - a - r1, r1, "甲円:r1\n(股-a-r1,r1)", :red, :center, delta=-delta/2)
       point(股 - r2, a + r2, "乙円:r2\n(股-r2,a+r2)", :blue, :center, :bottom, delta=delta/2)
       point(股, 0, " 股", :black, :left, :bottom, delta=delta/2)
       point(股, 鈎, "(股,鈎)", :black, :right, :bottom, delta=delta)
       point(股, a, "(股,a)", :green, :right, delta=-delta)
       point(股 - a, 0, " 股-a", :green, :left, :bottom, delta=delta)
   end
end;


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




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

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