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


算額(その1237)

兵庫県西宮市社家町 復元 西宮神社 天保13年(1842)

近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:円5個,外円,菱形
#Julia #SymPy #算額 #和算 #数学


外円の中に,菱形 1 個,天円 1 個,地円 2 個,小円 1 個を容れる。菱形の対角線の長い方が 8 寸,短い方が 6 寸のとき,小円の直径はいかほどか。

以下の図は,与えられた条件によるものではない。

追記:「近畿の算額」では,小円は菱形内に 1 個しか描かれていないが,和算の館の図では 4 個あるように描かれている。小円の直径は小さくなって当たり前である。記事を書き直す必要がある。

菱形の対角線の長い方を \(a\),短い方を \(b\)
外円の半径と中心座標を \(R,\ (0,\ 0)\)
天円の半径と中心座標を \(r_1,\ (0,\ r_1 - R)\)
地円の半径と中心座標を \(r_2,\ (x_2,\ y_2)\)
小円の半径と中心座標を \(r_3,\ (0,\ R - r_3)\)
とおき,以下の連立方程式を解く。

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

using SymPy
@syms a::positive, b::positive, R::positive, r1::positive,
     r2::positive, x2::positive, y2::negative, r3::positive
R = r1 + b
eq5 = a^2 + (R - b)^2 - R^2
eq1 = dist2(0, R - 2b, a, R - b, 0, R - b, r3)
eq2 = dist2(0, R - 2b, a, R - b, x2, y2, r2)
eq3 = x2^2 + (y2 - r1 + R)^2 - (r1 + r2)^2
eq4 = x2^2 + y2^2 - (R - r2)^2;
res = solve([eq1, eq2, eq3, eq4, eq5], (r1, r2, x2, y2, r3))[2]

   ( (a - b)*(a + b)/(2*b), b*(a - b)*(a + b)/a^2, (a - b)*(a + b)*sqrt(a^2 + b^2)/a^2, (a^2 - 3*b^2)/(2*b), a*b/sqrt(a^2 + b^2))

# r3: 小円の半径
res[3]

    \(\displaystyle \frac{a \cdot b}{\sqrt{a^{2} + b^{2}}}\)

下図のように,菱形の対角線の長い方が 8 寸,短い方が 6 寸のとき,小円の直径は 2a*b/sqrt(a^2 + b^2) = 2.4 寸である。

「答」は「1 寸 4 分 2 厘有奇」となっているが,算額の「図」を見れば「菱形の対角線の長い方が 8 寸,短い方が 6 寸のとき」のものではない。このページの最初に掲載した図は「菱形の対角線の長い方が 8 寸,短い方が 3 寸のとき」のものである。「術」は,「(√2 - 1)*菱長*菱平/(菱長 + 菱平)」であるが,(「答」とは一致するが,)この計算式は適切とは思えない。

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

\(a = 4;  b = 3;  r_1 = 1.16666666666667;  r_2 = 1.3125\)
\(x_2 = 2.1875;  y_2 = -1.83333333333333;  r_3 = 2.4\)

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

function draw(a, b, more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r1, r2, x2, y2, r3) = ( (a - b)*(a + b)/(2*b), b*(a - b)*(a + b)/a^2, (a - b)*(a + b)*sqrt(a^2 + b^2)/a^2, (a^2 - 3*b^2)/(2*b), a*b/sqrt(a^2 + b^2))
   R = r1 + b
   @printf("a = %g;  b = %g;  r1 = %.15g;  r2 = %.15g;  x2 = %.15g;  y2 = %.15g;  r3 = %.15g\n", a, b, r1, r2, x2, y2, r3)
   plot([a, 0, -a, 0, a], [R - b, R, R - b, R - 2b, R - b], color=:green, lw=0.5)
   circle(0, 0, R)
   circle2(x2, y2, r2, :blue)
   circle(0, r1 - R, r1, :magenta)
   circle(0, R - b, r3, :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(0, r1 - R, "天円:r1,(0,r1-R)", :magenta, :center, delta=-delta/2)
       point(x2, y2, "地円:r2\n(x2,y2)", :blue, :center, delta=-delta/2)
       point(0, R - b, "小円:r3,(0,R-b)", :orange, :center, delta=-delta/2)
       point(0, R, " R", :red, :left, :bottom, delta=delta/2)
       point(a, R - b, " (a,R-b)", :green, :left, :vcenter)
   end
end;

draw(8/2, 6/2, true)


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




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

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