以下の内容はhttps://sangaku0418.hatenablog.com/entry/2024/05/17/181509より取得しました。


算額(その0960)

一七 大里郡岡部村岡 稲荷社 文化13年(1816)

埼玉県立図書館:埼玉県史料集 第二集『埼玉の算額』,昭和44年,誠美堂印刷所,埼玉県与野市.
キーワード:正三角形,正方形
#Julia #SymPy #算額 #和算 #数学


大小の正方形と正三角形を積み重ねている。大きな正方形の一辺の長さが 112 寸のとき,小さい正方形の一辺の長さを求めよ。

大小の正方形の一辺の長さを \(a,\ b\)
正三角形の一辺の長さを \(c\)
として,以下の方程式を解く。
eq1 は線分の長さの関係,eq2 は面積を 2 通りの方法で計算して等しいと置くものである。

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

using SymPy
@syms a::positive, b::positive, c::positive
eq1 = a + b/2 - c√Sym(3)/2
eq2 = (a + b + c)*(a + b)/2 - (a^2 + b^2 + (c * c/2*√Sym(3) + a^2/√Sym(3) + b^2/√Sym(3)/2)/2)
res = solve([eq1, eq2], (a, c))[1]

   (-b/2 + sqrt(3)*(-b/2 - b/(sqrt(3) + 3) + 7*sqrt(3)*b/6)/2, -b/2 - b/(sqrt(3) + 3) + 7*sqrt(3)*b/6)

数式は簡約化できる。

res[1] |> simplify |> println
res[2] |> simplify |> println

   -sqrt(3)*b/2 + 3*b/2
   -b + 4*sqrt(3)*b/3

小正方形の一辺の長さは大正方形の一辺の長さの (3 - √3)/2 倍,
正三角形の一辺の長さは大正方形の一辺の長さの (4√3/3 - 1) 倍である。

b = 112
b*(3 - √3)/2  |> println
b*(4√3/3 - 1) |> println

   71.00515477614287
   146.65292059695233

大正方形の一辺の長さが 112 寸のとき,小正方形の一辺の長さは 71.00515477614287 寸,
正三角形の一辺の長さは 146.65292059695233 寸である。

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   b = 112
   a = b*(3 - √3)/2 
   c = b*(4√3/3 - 1)
   @printf("a = %g;  c = %g\n", a,  c)
   plot([0, √3c/2, 0, 0], [a, a + c/2, a + c, a], color=:green, lw=0.5)
   rect(0, 0, a, a, :blue)
   rect(a, 0, a + b, b, :red)
   segment(√3c/2, a + c/2, a + b, b, :green)
   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, :center, delta=-delta/2)
       point(a + b, 0, "a+b", :red, :center, delta=-delta/2)
       point(0, a, "a ", :blue, :right, :vcenter)
       point(0, a + c, "a+c ", :blue, :right, :vcenter)
       point(√3c/2, a + c/2, "(√3c/2,a+c/2)", :green, :left, :bottom, delta=delta/2)
       plot!(xlims=(-6delta, a + b + 3delta), ylims=(-3delta, a + c + 3delta))
   end
end;


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




以上の内容はhttps://sangaku0418.hatenablog.com/entry/2024/05/17/181509より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14