算額あれこれ

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

算額(その0208)

長野県長野市信更町田野口 清水神社 文政11年(1828)

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


鈎が 60 寸,股が 80 寸の鈎股弦内に径が 40 寸の全円を容れる。全円と中斜と股に接する甲円,全円と中斜と鈎に接する乙円の径を求めよ。

甲円,乙円の半径を \(r_1,\ r_2\) とする。中心座標は \( (x_1,\ r_1),\ (r_2,\ y_2)\) とする。
中斜と弦は点 A で垂直に交わる。A の座標は (48*3/5,\ 48*4/5) である。
甲円,乙円が全円と外接する条件式と甲円,乙円の中心から中斜までの距離に関する条件式の連立方程式を解く。

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

using SymPy

@syms r1::positive, x1::positive, r2::positive, y2::positive;

eq1 = (20 - x1)^2 + (20 - r1)^2 - (20 + r1)^2
eq2 = (20 - r2)^2 + (20 - y2)^2 - (20 + r2)^2
eq3 = distance(0, 0, 48*3/5, 48*4/5, x1, r1) - r1^2
eq4 = distance(0, 0, 48*3/5, 48*4/5, r2, y2) - r2^2
res = solve([eq1, eq2, eq3, eq4], (r1, x1, r2, y2))[1]  # 1 of 4

    ( (20 - 20*sqrt(3))^2/80, 40 - 20*sqrt(3), 20/9, 20/3)

   r1 = 2.67949, x1 = 5.35898, r2 = 2.22222, y2 = 6.66667
甲円,乙円の直径は 5 寸 3 分 5 厘あまりあり,4 寸 4 分 4 厘あまりあり

(20 - 20*sqrt(3))^2/80*2, 20/9*2

   (5.358983848622452, 4.444444444444445)

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

function draw(more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r1, x1, r2, y2) = res[1]
   @printf("r1 = %.5f, x1 = %.5f, r2 = %.5f, y2 = %.5f\n", r1, x1, r2, y2)
   plot([0, 80, 0, 0, 48*3/5], [0, 0, 60, 0, 48*4/5], color=1, lw=0.5)
   circle(20, 20, 20)
   circle(x1, r1, r1, :blue)
   circle(r2, y2, r2, :green)
   if more
       point(20, 20, "(20,20) 全円", :red)
       point(x1, r1, "  (x1,r1) 甲円", :blue)
       point(r2, y2, "    (r2,y2) 乙円", :green, :left, :bottom)
       point(48*3/5, 48*4/5, "  A (48*3/5, 48*4/5)", :orange, :left, :bottom)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
   end
end;


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