算額(その680)
長野県信州新町日名 日置神社 明治44年(1911)
中村信弥「改訂増補 長野県の算額」県内の算額(270)
http://www.wasan.jp/zoho/zoho.html
第7問 正方形内に大円と小円がある正方形の面積が 235平方寸,外積(正方形と二円の間の面積)が 132.45平方寸,大小の円の直径の差が 2 寸のとき,小円の直径を求めよ。ただし円積率を 0.7 とする(円周率を 4*0.7 とするということ)。
正方形の一辺の長さを a, 二円の半径を r1, r2 とし,以下の連立方程式を解く。
include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf
using SymPy
@syms r1::positive, r2::positive, 円周率::positive,
a::positive
円周率 = 4 * 0.7
a = √235
eq2 = a^2 - 円周率*(r1^2 + r2^2) - 132.45
eq3 = 2r1 - 2r2 - 2;
res = solve([eq2, eq3], (r1, r2))
1-element Vector{Tuple{Sym, Sym}}:
(4.75000000000000, 3.75000000000000)
小円の直径は 2*3.75 = 7.5 寸である。
この設定で図を描いても,2 つの円は外接しない。
---
円周率として π を使い,正方形内の2円が外接するとして,外積がいくつになるか計算してみる。
using SymPy
@syms r1::positive, r2::positive, 円周率::positive,
a::positive
円周率 = PI
a = √Sym(235)
eq2 = √Sym(2)*(a - r2 - r1) - (r1 + r2)
eq3 = 2r1 - 2r2 - 2;
res = solve([eq2, eq3], (r1, r2))
Dict{Any, Any} with 2 entries:
r2 => -sqrt(470)/2 - 1/2 + sqrt(235)
r1 => -sqrt(470)/2 + 1/2 + sqrt(235)
r1 = -sqrt(470)/2 + 1/2 + sqrt(235)
r2 = -sqrt(470)/2 - 1/2 + sqrt(235)
外積 = (a^2 - 円周率*(r1^2 + r2^2))
(r1, r2, 外積.evalf())
(4.989968022416491, 3.989968022416491, 106.761363826833)
外積はほぼ 106.76 である。この結果だと,ちゃんと二円は外接する。
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
(a, r1, r2) = (√235, -sqrt(470)/2 + 1/2 + sqrt(235), -sqrt(470)/2 - 1/2 + sqrt(235))
@printf("a = %g; r1 = %g; r2 = %g\n", a, r1, r2)
plot([0, a, a, 0, 0], [0, 0, a, a, 0], color=:black, lw=0.5)
circlef(r1, r1, r1, :orange)
circlef(a - r2, a - r2, r2, :tomato)
if more
delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /3 # size[2] * fontsize * 2
vline!([0], color=:black, lw=0.5)
hline!([0], color=:black, lw=0.5)
end
end;