裏 RjpWiki

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

算額(その2014)

2024年08月14日 | Julia

算額(その2014)

(20) 兵庫県青垣町遠坂字後岶 熊野神社 明治18年(1885)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:円2個,台形,水平線

台形の中に大円と水平線を描き,できる円弧の中に月円を容れる。大頭(下底),小頭(上底)がそれぞれ 3 寸,2 寸のとき,月円の直径はいかほどか。

大頭,小頭を b, a
大円の半径と中心座標を R, (0, R)
月円の半径と中心座標を r, (0, a + r)
とおき,以下の連立方程式を解く。

include("julia-source.txt");

using SymPy

@syms a::positive, b::positive, R::positive, r::positive
eq1 = dist2(R, a, -R, b, 0, R, R)
eq2 = (2R - a) - 2r
res = solve((eq1, eq2), (r, R))[1]

   (-a*(a - b)/(2*(a + b)), a*b/(a + b))

月円の半径は a*(b - a)/(2a + 2b) である。

大頭(下底),小頭(上底)がそれぞれ 3 寸,2 寸のとき,月円の直径は 0.4 寸(4 分)である。

ちなみに,大円の直径は 2.4 寸である。

a = 2
b = 3
a*(b - a)/(2a + 2b) |> println
a*b/(a + b) |> println

   0.2
   1.2

function draw(a, b, more=false)
   pyplot(size=(300, 300), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r, R) = (-a*(a - b)/(2*(a + b)), a*b/(a + b))
   @printf("a = %g;  b = %g;  r = %g;  R = %g\n", a, b, r, R)
   plot([R, R, -R, -R, R], [0, a, b, 0, 0], color=:blue, lw=0.5)
   circle(0, R, R)
   circle(0, a + r, r, :green)
   segment(-R, a, R, a, :magenta)
   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,(0,R)", :red, :center, delta=-delta/2)
       point(0, a + r, "月円:r,(0,a+r)", :green, :center, delta=-r)
       point(R, a, " (R,a)", :blue, :left, :vcenter)
       point(-R, b, " (-R,b)", :blue, :left, :bottom)
   end
end;

draw(2, 3, true)


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

コメントを投稿

Julia」カテゴリの最新記事