裏 RjpWiki

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

算額(その970)

2024年05月19日 | Julia

算額(その970)

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

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

2 個の正方形が交差してできる 8 個の二等辺三角形に内接円を入れる。正方形の一辺の長さが 239 寸のとき,等円の直径はいかほどか。

正方形の一辺の長さを 2a とすると,二等辺三角形の等辺は a*(2 - √2),斜辺が a*(√2 - 1) で,内接する円の半径を r とすれば,2(a*(2 - √2)) - 2(a*(√2 - 1)) = 2r の関係が成り立つ。等円の半径は r = a*2(3 - 2√2) である。

include("julia-source.txt");

using SymPy
@syms a::positive, r::positive
l = √Sym(2)*a - a
eq1 = 2√Sym(2)*l - 2l - 2r
r = solve(eq1, r)[1]
r |> println

   a*(3 - 2*sqrt(2))

正方形の一辺の長さが 239 寸のとき,等円の直径は 41.00591718566052 寸である。

a = 239/2
2a*(3 - 2*sqrt(2)) |> println

   41.00591718566052

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   a = 239/2
   r = a*(3 - 2√2)
   @printf("正方形の一辺の長さが %g のとき,等円の直径は %g である。\n", 2a, 2r)
   plot(a.*[1, 1, -1, -1, 1], a.*[-1, 1, 1, -1, -1], color=:magenta, lw=0.5)
   plot!(√2a.*[0, 1, 0, -1, 0], √2a.*[-1, 0, 1, 0, -1], color=:green, lw=0.5)
   rotate(a + r, 0, r, angle=45)
   circle(0, 0, √2a, :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(√2a, 0, " √2a", :green, :left, :bottom, delta=delta/2)
       point(a, 0, "a ", :magenta, :right, :bottom, delta=delta/2)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事