裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

算額(その1275)

2024年09月06日 | Julia

算額(その1275)

百四十三 群馬県榛名町榛名山 榛名神社 明治33年(1900)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円9個,外円

外円の中に,中円 4 個,小円 4 個を容れる。小円の直径が 1 寸のとき,中円の直径はいかほどか。

外円の半径と中心座標を R, (0, 0)
中円の半径と中心座標を r1, (r1, r1)
小円の半径と中心座標を r2, (x2, r2)
とおき,以下の連立方程式を解く。

include("julia-source.txt");

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

   (r2*(9 - 4*sqrt(2)), 7*r2, r2*(1 + 5*sqrt(2)))

中円の半径 r1 は,小円の半径 r2 の (9 - 4√2) 倍である。
小円の直径が 1 寸のとき,中円の直径は 9 - 4√2 = 3.3431457505076194 寸である。

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

   r2 = 0.5;  R = 4.03553;  r1 = 1.67157;  x2 = 3.5

function draw(r2, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r1, x2, R) = (r2*(9 - 4*sqrt(2)), 7*r2, r2*(1 + 5*sqrt(2)))
   @printf("小円の直径が %g のとき,中円の直径は %g である。\n", 2r2, 2r1)
   @printf("r2 = %g;  R = %g;  r1 = %g;  x2 = %g\n", r2, R, r1, x2)
   plot()
   circle(0, 0, R, :green)
   circle4(r1, r1, r1)
   circle4(x2, r2, r2, :blue)
   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", :green, :left, :bottom, delta=delta)
       point(r1, r1, "中円:r1,(r1,r1)", :red, :center, delta=-delta/2)
       point(x2, r2, "小円:r2,(x2,r2) ", :black, :right, :vcenter)
   end
end;

draw(1/2, true)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 算額(その1274) | トップ | 算額(その1276) »
最新の画像もっと見る

コメントを投稿

Julia」カテゴリの最新記事