裏 RjpWiki

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

算額(その972)

2024年05月19日 | Julia

算額(その972)

一七 大里郡岡部村岡 稲荷社 文化13年(1816)

埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.

正方形内に 4 本の斜線を引き,区画された領域に甲円 1 個と乙円 2 個(4 個)を入れる。甲円の直径が 987 寸のとき,乙円の直径はいかほどか。

正方形の一辺の長さを 2a
甲円の半径と中心座標を r1, (0, 0)
乙円の半径と中心座標を r2, (a/2, a - r2)
とおき,以下の連立方程式を解く。

include("julia-source.txt");

using SymPy
@syms a::positive, r1::positive, r2::positive
sinθ = a/sqrt(a^2 + 4a^2)
eq1 = r1/a - sinθ
eq2 = r2/(a - r2) - sinθ
res = solve([eq1, eq2], (r2, a))
res[r2] |> println
res[a]  |> println

   r1*(5 - sqrt(5))/4
   sqrt(5)*r1

乙円の半径は甲円の半径の (5 - √5)/4 倍である。
甲円の直径が 987 寸のとき,乙円の直径は 987(5 - √5)/4 = 682.0002265519269 寸である。
ちなみに,正方形の一辺の長さは 甲円の直径の √5 倍の 2206.9990937922926 寸である。

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r1 = 987/2
   (r2, a) = r1 .* ((5 - √5)/4, √5)
   @printf("甲円の直径が %g のとき,乙円の直径は %g,正方形の一辺の長さは %g である。\n", 2r1, 2r2, 2a)
   plot([a, a, -a, -a, a], [-a, a, a, -a, -a], color=:magenta, lw=0.5)
   circle(0, 0, r1)
   circle4(a/2, a- r2, r2, :blue)
   segment(a, a, 0, -a, :green)
   segment(-a, a, 0, -a, :green)
   segment(a, -a, 0, a, :green)
   segment(-a, -a, 0, 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, a, " a", :green, :center, :bottom, delta=delta/2)
       point(a, 0, " a", :green, :left, :vcenter)
       point(a/2, 0, " a/2", :green, :left, :vcenter)
       point(0, 0, "甲円:r1,(0,0)", :red, :center, delta=-delta/2)
       point(a/2, a - r2, "乙円:r2,(a/2,a-r2)",:blue, :center, delta=-delta/2)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事