裏 RjpWiki

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

算額(その2023)

2024年08月17日 | Julia

算額(その2023)

(3) 大阪府茨木市大字総持寺 総持寺 弘化3年(1846)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:円2個,長方形,斜線2本

長方形の中に2本の斜線と甲円,乙円を容れる。長方形の長辺と短辺が 120 寸,70 寸のとき,乙円の直径を求めよ。

長方形の長辺,短辺を a, 2b
甲円の半径と中心座標を r1, (a - r1, 0); r1 = b
乙円の半径と中心座標を r2, (a - r2 - 2r1, 0)
とおき,以下の方程式を解く。

include("julia-source.txt");

using SymPy

@syms a::positive, b::positive, r1::positive, r2::positive
r1 = b
eq1 = r2/(a - r2 - 2r1) ⩵ b/sqrt(a^2 + b^2)
res = solve(eq1, r2)[1]
res |>  println
res(a => 120, b => 70/2) |> println

   b*(a - 2*b)/(b + sqrt(a^2 + b^2))
   10.9375000000000

長方形の長辺と短辺が 120 寸,70 寸のとき,乙円の直径は 10.9375 寸である。

function draw(a, b, more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r1 = b
   r2 = b*(a - 2*b)/(b + sqrt(a^2 + b^2))
   plot([a, a, 0, 0, a], [-b, b, b, -b, -b], color=:green, lw=0.5)
   plot!([a, 0, a], [b, 0, -b], color=:magenta, lw=0.5)
   circle(a - r1, 0, r1)
   circle(a - r2 - 2r1, 0, 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(a - r1, 0, "甲円:r1\n(a-r1,0)", :red, :center, :bottom, delta=delta)
       point(a - r2 - 2r1, 0, "乙円:r2\n(a-r2-2r1,0)", :blue, :center, :bottom, delta=delta)
       point(a, b, "(a,b)", :green, :right, :bottom, delta=delta)
   end
end;

draw(120, 70/2, true)

 


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

コメントを投稿

Julia」カテゴリの最新記事