裏 RjpWiki

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

算額(その1059)

2024年06月13日 | Julia

算額(その1059)

九十四 大船渡市立根町 五葉神社 文政5年(1822)
山村善夫:現存 岩手の算額,昭和52年1月30日,熊谷印刷,盛岡市.

http://www.wasan.jp/yamamura/yamamura.html

外円の中に正方形と小円 2 個ずつを容れる。小円の直径が 1 寸のとき,正方形の一辺の長さはいかほどか。

外円の半径と中心座標を R, (0, 0)
小円の半径と中心座標を r, (0, R - r)
とおき,以下の方程式を解き,外円の半径 R を求める。

include("julia-source.txt");

using SymPy
@syms R::positive, r::positive
eq1 = dist2(0, 0, R/2, R/2, 0, R - r, r)
R = solve(eq1, R)[1]
R |> println

   r*(1 + sqrt(2))

外円の半径 R は,小円の半径 r の (1 + √2) 倍である。
正方形の一辺の長さは (R/2)\*√2 = r\*(√2/2 + 1) である。
したがって 小円の半径が 1/2 のとき 0.853553390593274 である。

r = 1/2
r*((1 + √2)/2*√2) |> println
r*(√2/2 + 1) |> println

   0.8535533905932737
   0.8535533905932737

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


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

コメントを投稿

Julia」カテゴリの最新記事