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


算額(その1271)

百三十七 群馬県藤岡市藤岡 金光寺 明治21年(1888)

群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円4個,扇
#Julia #SymPy #算額 #和算 #数学


扇面に大円 2 個,中円 1 個,小円 1 個を容れる。扇長(要から先端までの長さ)と大円の直径が与えられたとき,小円の直径はいかほどか。

扇長を \(R\)
大円の半径と中心座標を \(r_1,\ (x_1,\ y_1)\)
中円の半径と中心座標を \(r_2,\ (0,\ R - r_2)\)
小円の半径と中心座標を \(r_3,\ (0,\ R - 2r_2 - r_3)\)
とおき,以下の連立方程式を解く。

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

using SymPy
@syms R::positive,
     r1::positive, x1::positive, y1::positive,
     r2::positive, r3::positive;
r3 = r1 - r2
eq1 = x1^2 + y1^2 - (R - r1)^2
eq2 = x1^2 + (R - r2 - y1)^2 - (r1 + r2)^2
eq3 = x1^2 + (R - 2r2 - r3 - y1)^2 - (r1 + r3)^2
res = solve([eq1, eq2, eq3], (r2, x1, y1))[1]  # 1 of 2

   (-sqrt(R)*sqrt(R - 2*r1)/2 + R/2, sqrt(4*R^(3/2)*sqrt(R - 2*r1) - 4*sqrt(R)*r1*sqrt(R - 2*r1) - 4*R^2 + 8*R*r1), 2*sqrt(R)*sqrt(R - 2*r1) - R + r1)

小円の半径 \(r_2\) は,扇長 \(R\) と大円の半径 \(r_1\) の関数である。

\( r_2 = \frac{R - \sqrt{R(R - 2r_1)}}{2}\)

扇長と大円の直径がそれぞれ 28 寸,16.6 寸のとき,中円の直径は 10.1338308526982 寸である。

R = 28; r1 = 16.6/2
2(R - sqrt(R*(R - 2r1)))/2 |> println

   10.133830852698168

すべてのパラメータは以下のとおりである。

\(R = 28;\ r_1 = 8.3;\ r_2 = 5.06692;\ x_1 = 11.4479;\ y_1 = 16.0323\)

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

function draw(R, r1, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r2, x1, y1) = (-sqrt(R)*sqrt(R - 2*r1)/2 + R/2, sqrt(4*R^(3/2)*sqrt(R - 2*r1) - 4*sqrt(R)*r1*sqrt(R - 2*r1) - 4*R^2 + 8*R*r1), 2*sqrt(R)*sqrt(R - 2*r1) - R + r1)
   r3 = r1 - r2
   θ = atand(y1, x1) - asind(r1/(R - r1))
   @printf("扇長と大円の直径がそれぞれ %g 寸,%g 寸のとき,中円の直径は %g である。\n", R, 2r1, 2r2)
   @printf("R = %g;  r1 = %g;  r2 = %g;  x1 = %g;  y1 = %g\n", R, r1, r2, x1, y1)
   plot()
   circle(0, 0, R, :magenta, beginangle=θ, endangle=180 - θ)
   circle(0, 0, R - 2r1, :blue, beginangle=θ, endangle=180 - θ)
   circle2(x1, y1, r1)
   circle(0, R - r2, r2, :blue)
   circle(0, R - 2r2 - r3, r3, :orange)
   segment(0, 0, R*cosd(θ), R*sind(θ))
   segment(0, 0, -R*cosd(θ), R*sind(θ))
   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, R, "R", :green, :center, :bottom, delta=delta)
       point(x1, y1, "大円:r1,(x1,y1)", :red, :center, delta=-delta)
       point(0, R - r2, "中円:r2\n(0,R-r2)", :blue, :center, delta=-delta)
       point(0, R - 2r2 - r3, "小円:r3\n(0,R-2r2-r3)", :black, :right, :vcenter, deltax=-delta)
   end
end;

draw(28, 16.6/2, true)


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




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

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