七八 埼玉県加須市大字外野 棘脱地蔵堂 明治9年(1876)
埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
キーワード:正三角形,正方形
#Julia #SymPy #算額 #和算 #数学
正三角形の中に正方形を 3 個入れる。正三角形の一辺の長さが 10 寸のとき,正方形の一辺の長さはいかほどか。

正三角形の一辺の長さを \(2a\)
正方形の一辺の長さを \(2b\)
とおき,以下の方程式を解く。
include("julia-source.txt"); # julia-source.txt ソース
using SymPy
@syms a::poitive, b::poitive
eq1 = 2b/(a - b) - 1/sqrt(Sym(3))
res = solve(eq1, b)[1] |> simplify
res |> println
res(a => 10/2).evalf() |> println
a*(-1 + 2*sqrt(3))/11
1.12004618869898
正方形の一辺の長さは正三角形の一辺の長さの \( (2\sqrt{3} - 1)/11\) 倍である。
正三角形の一辺の長さが 10 寸のとき,正方形の一辺の長さは \(10(2\sqrt{3} - 1)/11 = 2.2400923773979584\) 寸である。
「答」は「等方面五厘有奇」と,とんでもないことを書いている。
「術」では,「置十二開平方内一个減余乗面以除十一个見寸合問」と,「12 の平方根(2√3)から 1 引いて正三角形の一辺の長さを掛けて 11 で割る」と正解を書いているのに。
function rect2(b, sign=1)
segment(sign*b, 2b, sign*(b + 2b*cosd(30)), 2b + 2b*sind(30), :red)
segment(0, 2b + 2b*√3/2, sign*b, 2b, :red)
segment(0, 2b + 2b*√3/2, sign*(2b*cosd(30)), 2b + 2b*√3/2 + 2b*sind(30), :red)
segment(sign*(b + 2b*cosd(30)), 2b + 2b*sind(30), sign*(2b*cosd(30)), 2b + 2b*√3/2 + 2b*sind(30), :red)
end;
描画関数プログラムのソースを見る
function draw(more=false)
pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
a = 10/2
b = a*(2sqrt(3) - 1)/11
@printf("正三角形の一辺の長さが %g のとき,正方形の一辺の長さは %g である。\n", 2a, 2b)
plot([a, 0, -a, a], [0, √3a, 0, 0], color=:blue, lw=0.5)
rect(-b, 0, b, 2b, :red)
rect2(b)
rect2(b, -1)
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(a, 0, "a", :blue, :left, :bottom, delta=delta/2)
point(0, √3a, " √3a", :blue, :left, :vcenter)
point(0, 2b, " 2b", :red, :left, :bottom, delta=delta/2)
point(b, 0, " b", :red, :left, :vcenter)
end
end;
以下のアイコンをクリックして応援してください