裏 RjpWiki

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

算額(その1376)

2024年10月30日 | Julia

算額(その1376)

七十二 群馬県富岡市一ノ宮 貫前神社 嘉永2年(1849)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:楕円2個,正方形3個,直線上
#Julia, #SymPy, #算額, #和算

直線上に合同な 2 個の楕円が載っており,その隙間に 3 個の正方形を容れる。楕円の長径が 2 寸のとき,短径はいかほどか。

縦長の楕円であるが慣例により 短半径を a,長半径を b とする(a < b)。
中心座標は (a, b)
正方形の一辺の長さを c
とおき,以下の連立方程式を解く。

include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf

using SymPy
@syms a::positive, b::positive, c::positive
eq1 = (c/2 - a)^2/a^2 + (2c - b)^2/b^2 - 1
eq2 = (c - a)^2/a^2 + (c - b)^2/b^2 - 1
res = solve([eq1, eq2], (a, c))[1]  #1 of 4

   (b/2, b/5)

楕円の短径は長径の 1/2,正方形の一辺の長さは長径の 1/10 である。
楕円の長径が 2 寸のとき,短径は 1 寸,正方形の一辺の長さは 0.2 寸である。

function draw(b, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (a, c) = (b/2, b/5)
   @printf("楕円の長径が %g のとき,短径は %g,正方形の一辺の長さは %g である。\n", 2b, 2a, c)
   plot()
   ellipse(a, b, a, b, color=:red)
   ellipse(-a, b, a, b, color=:red)
   rect(-c/2, c, c/2, 2c, :blue)
   rect(0, 0, c, c, :blue)
   rect(0, 0, -c, c, :blue)
   if more == true
       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(a, b, "楕円:a,b,(a,b)", :red, :center, delta=-delta)
       point(c/2, 2c, " (c/2,2c)", :blue, :left, :vcenter)
       point(c, c, " (c,c)", :blue, :left, :vcenter)
   end
end;

draw(2/2, true)

 


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

コメントを投稿

Julia」カテゴリの最新記事