裏 RjpWiki

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

算額(その1277)

2024年09月07日 | Julia

算額(その1277)

百四十七 群馬県甘楽郡妙義町下高田 高太神社 大正12年(1923)
群馬県和算研究会:群馬の算額,上武印刷株式会社,高崎市,1987年3月31日.
キーワード:円4個,長方形,菱形

長方形の中に菱形 1 個と等円 4 個を容れる。長方形の長辺,短辺が 8.3 寸,7.1 寸,菱形の一辺が 3 寸のとき,等円の直径はいかほどか。

長方形の長辺,短辺を 2a, 2b
菱形の一辺を c
等円の半径と中心座標を r, (a - r, 0), (0, b - r)
とおき,以下の方程式を解く。

include("julia-source.txt");

using SymPy
@syms a::positive, b::positive, c::positive, r::positive;
eq = (a - 2r)^2 + (b - 2r)^2 - c^2
res = solve(eq, r)[1]  # 1 of 2
res |> println

   a/4 + b/4 - sqrt(-a^2 + 2*a*b - b^2 + 2*c^2)/4

長方形の長辺,短辺が 8.3 寸,7.1 寸,菱形の一辺が 3 寸のとき,等円の直径は 1.75 寸である。

res(a => 8.3/2, b => 7.1/2, c => 3)*2 |> println

   1.75000000000000

function draw(a, b, c, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r = a/4 + b/4 - sqrt(-a^2 + 2*a*b - b^2 + 2*c^2)/4
   @printf("長方形の長辺,短辺が %g, %g,菱形の一辺が %g のとき,等円の直径は %g である。\n", 2a, 2b, c, 2r)
   plot([a, a, -a, -a, a], [-b, b, b, -b, -b], color=:green, lw=0.5)
   plot!([a - 2r, 0, 2r - a, 0, a - 2r], [0, b - 2r, 0, 2r - b, 0], color=:blue, lw=0.5)
   circle22(0, b - r, r) 
   circle2(a - r, 0, 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(a - r, 0, "等円:(a-r,0)", :red, :center, delta=-delta/2)
       point(0, b - r, "等円:(0,b-r)", :red, :center, delta=-delta/2)
       point(a, b, "(a,b) ", :green, :right, delta=-delta)
       point(0, b - 2r, "(0,b-2r)", :blue, :left, :vcenter, deltax=4delta)
       point(a - 2r, 0, "(a-2r,0)", :blue, :right, :vcenter, deltax=-2delta)
   end

end;

draw(8.3/2, 7.1/2, 3, true)


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

コメントを投稿

Julia」カテゴリの最新記事