裏 RjpWiki

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

算額(その1438)

2024年11月30日 | Julia

算額(その1438)

福島県福島市飯野町青木小手神森 小手神社 明治19年(1886)
~落書き帳「○△□」~ 75.変なお供え

http://streetwasan.web.fc2.com/math15.8.30.html
キーワード:円周,円周率
#Julia, #SymPy, #算額, #和算

直線の上に 1 個の正方形と 3 個の等円が載っている。正方形の一辺の長さが与えられたとき,等円の直径を求めよ。

正方形の一辺の長さを a, 等円の半径を r とおき,以下の方程式を解く。

include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cfusing SymPy
@syms r::positive, a::positive
eq = (a/2 + r)^2 + a^2 - (2r)^2
solve(eq, r)[1] |> println

    5*a/6

等円の半径は,正方形の一辺の長さの 5/6 倍である。
正方形の一辺の長さが 1 寸のとき,等円の直径は 5/3 寸である。

function draw(a, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
    r = a*(5/6)
    plot([a/2, a/2, -a/2, -a/2, a/2], [0, a, a, 0, 0], color=:blue, lw=0.5)
    circle(0, a + r, r)
    circle2(a/2 + 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(0, a + r, "等円:r,(0,a+r)", :red, :center, delta=-delta)
        point(a/2 + r, r, "等円:r,(a/2+r,0)", :red, :center, delta=-delta)
        point(0, a, "a", :blue, :center, :bottom, delta=delta)
        point(a/2, 0, " a/2", :blue, :left, :bottom, delta=delta)
    end
end;

draw(1, true)

 


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

コメントを投稿

Julia」カテゴリの最新記事