裏 RjpWiki

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

算額(その1276)

2024年09月06日 | Julia

算額(その1276)

百四十七 群馬県甘楽郡妙義町下高田 高太神社 大正12年(1923)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円2個,正方形2個

直線の上に正方形 2 個と大円,小円が載っている。正方形の一辺の長さが 5 寸,小円の直径が 4 寸のとき,大円の直径はいかほどか。

正方形の一辺の長さを a
大円の半径と中心座標を r1, (2r2 + r1)
小円の半径と中心座標を r2, (0, r2)
とおき,以下の方程式を解く。

include("julia-source.txt");

using SymPy
@syms a::positive, r1::positive, r2::positive;
eq1 = r2^2 + (2r2 + r1 - a)^2 - r1^2
res = solve(eq1, r1)[1]
res |> println

   (r2^2 + (a - 2*r2)^2)/(2*(a - 2*r2))

大円の半径 r1 は,正方形の一辺の長さ a と小円の半径 r2 の関数である。
正方形の一辺の長さが 5 寸,小円の直径が 4 寸のとき,大円の直径は 5 寸である。

「答」では 10.0625 となっているが...

a = 5
r2 = 4/2
(r2^2 + (a - 2*r2)^2)/(2*(a - 2*r2)) * 2

   5.0

function draw(a, r2, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r1 = (r2^2 + (a - 2*r2)^2)/(2*(a - 2*r2))
   @printf("正方形の一辺の長さが %g,小円の直径が %g のとき,大円の直径は %g である。\n", a, 2r2, 2r1)
   plot()
   circle(0, 2r2 + r1, r1)
   circle(0, r2, r2, :blue)
   rect(r2, 0, r2 + a, a, :green)
   rect(-r2, 0, -r2 - 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(0, 2r2 + r1, "大円:r1,(0,2r2+r1)", :red, :center, delta=-delta)
       point(0, r2, "小円:r2,(0,r2)", :blue, :center, delta=-delta)
       point(r2, a, "(r2,a)", :green, :left, delta=-delta)
   end

end;

draw(5, 4/2, true)


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

コメントを投稿

Julia」カテゴリの最新記事