算額(その269)
中村信弥「改訂増補 長野県の算額」
http://www.wasan.jp/zoho/zoho.html
県内の算額(260)
長野県下高井郡木島平村 天満宮 推定明治21年(1888)
追記:この算額の図は多分誤っている。算額(その798)の図が正しい。https://blog.goo.ne.jp/r-de-r/e/1fd7e974eb24c0c5118e308a9e790003
すなわち,「小円は 3 個の中円に外接している」のが正しい。そのように仮定すれば,答えも術も矛盾しない。
大円 2 個,中円 5 個,小円 4 個が配置されている。小円は大円と中円に外接している。
大円の直径が 1 尺(10 寸)のとき,小円の直径を求めよ。
術は「近似値」を求めているが,右上と左下の小円の中心間の距離を「大円の半径+小円の直径」とする無茶なものである。
大円,中円の半径を r1, r2 とおく(r2 = r1/2)。小円の直径を r3, 中心座標を (x3, x3) とおき,以下の方程式を解く。条件式が 2 本で,r3, x3 の二変数について解を求める。その解の式には r1 が変数として含まれる。
include("julia-source.txt");
using SymPy
@syms r1::positive, r2::positive, r3::positive, x3::positive;
r2 = r1//2
eq1 = x3^2 + (x3 + r2)^2 - (r1 + r3)^2
eq2 = (2r2 - x3)^2 + x3^2 - (r2 + r3)^2;
solve([eq1, eq2], (r3, x3))
1-element Vector{Tuple{Sym, Sym}}:
(3*r1/14, 4*r1/7)
直径が 10 寸ならば,小円の直径は 30/14 = 2.142857142857143 である。
術では (sqrt(1/2) - 1/2)*10 = 2.0710678118654755 としているので,そうとう違う。
追記:この術は算額(その498)の図についての正しい答えである。
(sqrt(1/2) - 1/2)*10
2.0710678118654755
using Plots
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
r1 = 10//2
r2 = r1//2
(r3, x3) = (3r1/14, 4r1/7)
@printf("r3 = %.6f; x3 = %.6f\n", r3, x3)
@printf("小円の直径 = 2r3 = %.6f\n", 2r3)
plot()
circle(0, r2, 2r2)
circle(0, -r2, 2r2)
circle(0, 0, r2, :blue)
circle42(0, 2r2, r2, :blue)
circle4(x3, x3, r3, :green)
if more
point(r2, 0, " r2")
point(0, r2, " r2")
point(2r2, 0, " 2r2")
point(0, 2r2, " 中円:r2\n 2r2", :blue)
point(3r2, 0, "3r2 ", :green, :right)
point(x3, x3, " 小円:r3\n (x3,x3)", :green, :center, :bottom)
point(1.2r2, 2r2, "大円", :red, mark=false)
vline!([0], color=:black, lw=0.5)
hline!([0], color=:black, lw=0.5)
else
plot!(showaxis=false)
end
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます