裏 RjpWiki

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

算額(その323)

2023年07月13日 | Julia

算額(その323)

早坂平四郎:算額の一考察
https://www.tomakomai-ct.ac.jp/wp01/wp-content/uploads/2014/06/kiyou5-8.pdf

長方形に関するもの
千葉県千葉市千葉寺 千葉寺 明治30年(1897)

外円内に長方形を入れ,対角線を引く。区切られた領域に 6 個の等円を入れる。外円の直径は等円の直径の何倍か。

外円の半径を R,等円の半径を r とおき,長方形内の等円の一個から対角線までの距離が等円の半径に等しいという方程式を解く。

include("julia-source.txt");

using SymPy

@syms R::positive, r::positive;
eq1 = distance(0, 0, R - 2r, sqrt(R^2 - (R - 2r)^2), R - 3r, r) - r^2;
res = solve(eq1, (R));
res |> println

   Sym[2*r, 5*r, r*(5/2 - sqrt(5)/2)]

2 番目のものが適解。すなわち,外円の直径は等円の直径の 5 倍である。

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r = 1
   R = 5r
   @printf("外円の径 = %.6f * 内円の径\n", R)
   plot()
   circle(0, 0, R, :blue)
   circle(R - r, 0, r)
   circle(r - R, 0, r)
   circle4(R - 3r, r, r)
   x = R - 2r
   y = sqrt(R^2 - (R - 2r)^2)
   rect(-x, -y, x, y, :green)
   segment(-x, -y, x, y, :green)
   segment(-x, y, x, -y, :green)
   if more
       point(R, 0, " R", :blue)
       point(R - r, 0, " R-r", :red)
       point(R - 2r, 0, " R-2r", :red)
       point(R - 3r, r, "\n(R-3r,r)", :red, :center)
       point(0, sqrt(R^2 - (R - 2r)^2), " √(R^2-(R-2r)^2)")
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
   else
       plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事