福島県田村郡三春町上舞木 直毘神社 明治28年(1895)
http://www.wasan.jp/fukusima/naobi.html
キーワード:円10個,外円
#Julia #SymPy #算額 #和算 #数学
外円の中に甲円,乙円,丙円を容れる。甲円の直径が与えられたとき,外円,乙円,丙円の直径を求めよ。

外円の半径と中心座標を \(R,\ (0,\ 0)\)
甲円の半径と中心座標を \(r_1,\ (x_1,\ y_1)\)
乙円の半径と中心座標を \(r_2,\ (x_2,\ r_2)\)
丙円の半径と中心座標を \(r_3,\ (x_3,\ y_3)\)
とおき,以下の連立方程式を解く。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms R::positive, r1::positive, x1::positive, y1::negative,
r2::positive, r3::positive
x2 = 2r2 * cos(PI/6)
y2 = 2r2 * sin(PI/6)
x3 = (R - r3) * cos(PI/6)
y3 = (r3 - R) * sin(PI/6)
x1 = (R - r1) * cos(PI/6)
y1 = (r1 - R) * sin(PI/6)
eq1 = 2r3 - R - r2 # 半径間の関連
eq2 = x1^2 + (R - r3 - y1)^2 - (r1 + r3)^2 # 甲円と丙円が外接
eq3 = x2^2 + (R - r3 - y2)^2 - (r3 - r2)^2; # 乙円が丙円に内接
res = solve([eq2, eq3, eq1], (R, r2, r3))[1]
(3*r1, 3*r1/5, 9*r1/5)
外円,乙円,丙円の径はそれぞれ甲円の径の 3 倍,3/5 = 0.6 倍,9/5 = 1.8 倍である。
描画関数プログラムのソースを見る
function draw(r1, more)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(R, r2, r3) = (3r1, 3r1/5, 9r1/5)
R = 3r1
x2 = 2r2 * cos(π/6)
y2 = 2r2 * sin(π/6)
x3 = (R - r3) * cos(π/6)
y3 = (r3 - R) * sin(π/6)
x1 = (R - r1) * cos(π/6)
y1 = (r1 - R) * sin(π/6)
@printf("外円の半径 = %g, 甲円の半径 = %g, 乙円の半径 = %g, 丙円の半径 = %g\n", R, r1, r2, r3)
@printf("x2 = %g, y2 = %g, x3 = %g, y3 = %g\n", x2, y2, x3, y3)
plot()
circle(0, 0, R, :black)
rotate(0, R - r1, r1, :green)
rotate(x2, y2, r2, :blue)
circle(0, 0, r2, :blue)
rotate(0, R - r3, r3)
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(x2, y2, "乙円:r2\n(x2,y2)", :blue, :center, delta=-delta)
point(x1, y1, "甲円:r1,(x1,y1)", :green, :center, delta=-delta)
point(x3, y3, " 丙円:r3,(x3,y3)", :red, :left, :vcenter)
point(0, R - r3, "R-r3 ", :red, :center, :bottom, delta=delta)
end
end;
draw(1, true)
savefig("fig1.png");
外円の半径 = 3, 甲円の半径 = 1, 乙円の半径 = 0.6, 丙円の半径 = 1.8
x2 = 1.03923, y2 = 0.6, x3 = 1.03923, y3 = -0.6
以下のアイコンをクリックして応援してください