算額あれこれ

算額問題をコンピュータで解きます

算額(その0204)

長野県伊那市羽広 仲仙寺 文政9年(1826)

中村信弥「改訂増補 長野県の算額」県内の算額(P.110)
http://www.wasan.jp/zoho/zoho.html
キーワード:円7個,正方形,斜線
#Julia #SymPy #算額 #和算 #数学


正方形に 4 本の斜線を引き,区分された領域に大円,中円,小円を配置する。大円の径が 1 寸のとき,小円の径はいかほどか。

正方形の一辺の長さを \(4a\),大円,中円,小円の半径をそれぞれ \(r_1,\ r_2,\ r_3\) とおく。
各円の中心から斜線までの距離に関する方程式を立て,\(r\) について解く。

include("julia-source.txt");  # julia-source.txt ソース

using SymPy

@syms r1::positive, r2::positive, r3::positive, a::positive;

eq1 = distance(0, 2a, 2a, -2a, 0,  0) - r1^2
eq2 = distance(0, 2a, 2a, -2a, a, 2a - r2) - r2^2
eq3 = distance(0, 2a, 2a, -2a, 2a - r3, 0) - r3^2
res = solve([eq1, eq2, eq3], (r2, r3, a))[1]

    (-sqrt(5)*r1/4 + 5*r1/4, -2*sqrt(5)*r1 + 5*r1, sqrt(5)*r1/2)

小円の径は「大円の径 × \( (5 - 2\sqrt{5})/4\)」である。
ちなみに,小円の径は「大円の径 × \( (5 - \sqrt{5})/4\)」である。

\(r_1 = 1\) のとき,

  \(r_2 = 0.691;\  r_3 = 0.528;\  a = 1.118\)

描画関数プログラムのソースを見る

function draw(r1, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r2, r3, a) = (-sqrt(5)*r1/4 + 5*r1/4, -2*sqrt(5)*r1 + 5*r1, sqrt(5)*r1/2)
   @printf("r1 = %.3f;  r2 = %.3f;  r3 = %.3f;  a = %.3f\n", r1, r2, r3, a)
   plot([2a, 2a, -2a, -2a, 2a], [-2a, 2a, 2a, -2a, -2a], color=:black, lw=0.5)
   circle(0, 0, r1)
   circle4(a, 2a - r2, r2, :blue)
   circle2(2a - r3, 0, r3, :green)
   plot!([-2a, 0, 2a], [2a, -2a, 2a], color=:black, lw=0.5)
   plot!([-2a, 0, 2a], [-2a, 2a, -2a], color=:black, lw=0.5)
   if more
       point(r1, 0, "r1 ", :red, :right)
       point(a, 2a - r2, "(a,2a-r2)", :blue)
       point(2a-r3, 0, "2a-r3", :green, :center)
       point(2a, 0, "a ", :black, :right)
       point(0, 2a, " a", :black)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
   end
end;


以下のアイコンをクリックして応援してください