裏 RjpWiki

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

算額(その64)

2022年12月16日 | Julia

算額(その64)

長野県飯山市滝澤家所蔵
http://www.wasan.jp/nagano/takizawa.html

大円の中に正方形,中円,小円が収まっている。大円の径を 5 寸としたとき,中円の中心を結ぶ正方形の一辺の長さと小円の径を求めよ。

大円の半径を5として,図のように記号を定め,方程式を解く。

using SymPy
@syms r1::positive, r2::positive;
eq1 = 2r2 - 5/sqrt(Sym(2));
eq2 = 2r2^2 - (r1 + r2)^2;
res = solve([eq1, eq2], (r1, r2));
res[1][1] |> println  # r1
res[1][2] |> println  # r2

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

正方形の一辺は 2r2。算額では 3寸5分3厘としている。

2 * 5*sqrt(2)/4

   3.5355339059327378

小円の径は 5/2 - 5*sqrt(2)/4。算額では 7分8厘としている。

5/2 - 5*sqrt(2)/4 |> N

   0.7322330470336311

using Plots

function circle(ox, oy, r, color=:red; beginangle=0, endangle=360)
   θ = beginangle:0.1:endangle
   x = r.*cosd.(θ)
   y = r.*sind.(θ)
   plot!(ox .+ x, oy .+ y, color=color, linewidth=0.5)
end;

function point(x, y, string="", color=:green, position=:left, vertical=:top; mark=true)
   mark && scatter!([x], [y], color=color, markerstrokewidth=0)
   annotate!(x, y, text(string, 10, position, color, vertical))
end;

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   plot()
   (r1, r2) = (5/2 - 5*sqrt(2)/4, 5*sqrt(2)/4)
   println("r1 = $r1, r2 = $r2")
   circle(0, 0, 5, :black)
   circle(0, 0, r1)
   circle(r2, r2, r2, :brown)
   circle(r2, -r2, r2, :brown)
   circle(-r2, r2, r2, :brown)
   circle(-r2, -r2, r2, :brown)
   x = 5/sqrt(2)
   plot!([-x, x, x, -x, -x], [-x, -x, x, x, -x], color=:black, lw=0.5)
   plot!([-r2, r2, r2, -r2, -r2], [-r2, -r2, r2, r2, -r2], color=:blue, lw=0.5, linestyle=:dot)
   if more
       point(0, 0, "0 ", :black, :right)
       point(r1, 0, "r1 ", :black, :right)
       point(r2, 0, "r2 ", :brown, :right)
       point(5/√2, 0, "5/√2 ", :brown, :right)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
   end
end;

   r1 = 0.7322330470336311, r2 = 1.7677669529663689

 


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

コメントを投稿

Julia」カテゴリの最新記事