裏 RjpWiki

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

算額(その2027)

2024年08月18日 | Julia

算額(その2027)

(8) 兵庫県山崎町門前 八幡神社 明治3年(1870)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:円8個,外円,弦2本

外円の中に,弦 2 本と黒円 3 個,赤円 4 個を容れる。黒円が 9 寸のとき,赤円の直径はいかほどか。

外円の半径と中心座標を R, (0, 0); R = 3r1
黒円の半径と中心座標を r1, (0, R - r1)
赤円の半径と中心座標を r2, (x2, R - 2r1 + r2)
とおき,以下の連立方程式を解く。

include("julia-source.txt");

using SymPy

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

   (2*r1/3, 2*sqrt(6)*r1/3)

赤円の半径 r2 は,黒円の半径 r1 の 2/3 倍である。
黒円の直径が 9 寸のとき,赤円の直径は 6 寸である。

function draw(r1, more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   R = 3r1
   (r2, x2) = (2*r1/3, 2*sqrt(6)*r1/3)
   y = R - 2r1
   x = sqrt(R^2 - y^2)
   plot()
   circle(0, 0, R, :magenta)
   circle22(0, R - r1, r1)
   circle(0, 0, r1)
   circle4(x2, R - 2r1 + r2, r2, :blue)
   segment(-x, y, x, y, :green)
   segment(-x, -y, x, -y, :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, R - r1, "黒円:r1,(0,R-r1)", :red, :center, delta=-delta/2)
       point(x2, R - 2r1 + r2, "赤円:r2\n(x2,R-2r1+r2)", :blue, center, :bottom, delta=delta/2)
       point(0, R - 2r1, "R-2r1", :green, :center, delta=-delta)
       point(R, 0, " R", :magenta, :left, :bottom, delta=delta/2)
       point(0, R, " R", :magenta, :left, :bottom, delta=delta/2)
   end
end;

draw(9/2, true)

 


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

コメントを投稿

Julia」カテゴリの最新記事