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


算額(その0754)

埼玉県草加市金明町 旭神社 寛政11年(1799)

山口正義:やまぶき3,第45号
https://yamabukiwasan.sakura.ne.jp/ymbk45.pdf
キーワード:円1個,直角三角形,斜線
#Julia #SymPy #算額 #和算 #数学


鈎股弦(直角三角形)において,弦の二乗と中鈎の和が 27 寸 4 分,股の二乗と内接円の直径の和が 18 寸のとき,弦はいくつか。

直角三角形の直角を挟む二辺の短い方を「鈎」,長い方を「股」,直角の対辺を「弦」と呼ぶ。
中鈎とは直角の頂点から弦へおろした垂線である。
直角三角形に内接する円の直径と鈎・股・弦には eq3 で示す関係がある。鈎・股・弦の間の関係式 eq4 はピタゴラスの定理。未知数が 5 個なので,条件式 eq5 を付け加える。
図を描くために,中鈎と弦の交点(中鈎の脚)の座標を (x, y) として以下の連立方程式を解く。

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

using SymPy
@syms r::positive, 中鈎::positive, x::positive, y::positive,
     鈎::positive, 股::positive, 弦::positive
eq1 = 弦^2 + 中鈎 - 274//10
eq2 = 股^2 + 2r - 18
eq3 = 鈎 + 股 - 弦 - 2r
eq4 = 鈎^2 + 股^2 - 弦^2
eq5 = 弦*中鈎 - 鈎*股
res = solve([eq1, eq2, eq3, eq4, eq5], (鈎, 股, 弦, 中鈎, r))[1]

    (3, 4, 5, 12/5, 1)

(鈎, 股, 弦, 中鈎, r) = res[1]
eq6 = x^2 + y^2 - 中鈎^2
eq7 = (鈎 - y)/x - 鈎/股
res2 = solve([eq6, eq7], (x, y))[1]

    (36/25, 48/25)

甲円の直径は 18 寸である。

その他のパラメータは以下のとおり。

   弦 = 5, 鈎 = 3;  股 = 4;  中鈎 = 2.4; \( r = 1;  x = 1.44;  y = 1.92\)

なお,引用元にも書いてあるが,和算的には以下のような12次方程式を解くことになるそうだが,これでは「弦」しか求まらない。

eq = x^12 - 109.6*x^10 -6x^9 + 4472.56*x^8 + 512.4x^7 - 79881.696*x^6 - 14547.04*x^5 + 504392.2576*x^4 + 137662.816*x^3 + 475181.92*x^2 - 12182.4*x+ 104976
solve(eq)

   2-element Vector{Sym{PyCall.PyObject}}:
    5.00000000000000
    5.46220825640114

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

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (鈎, 股, 弦, 中鈎, r) = (3, 4, 5, 12/5, 1)
   (x, y) = (36/25, 48/25)
   @printf("弦 = %g, 鈎 = %g;  股 = %g;  中鈎 = %g;  r = %g;  x = %g;  y = %g\n", 弦, 鈎, 股, 中鈎, r, x, y)
   plot([0, 股, 0, 0 ], [0, 0, 鈎, 0], color=:black, lw=0.5)
   segment(0, 0, x, y, :green)
   circle(r, r, r)
   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(r, r, "内接円:r,(r,r)", :red)
       point(0, 鈎, " 鈎", :black, :left, :bottom)
       point(股, 0, " 股", :black, :left, :bottom)
       point(x, y, "(x,y)", :black, :left, :bottom)
       point(0.7, 1.5, "中鈎", :green, mark=false)
       point(2.5, 1.3, "弦", :black, mark=false)
   end
end;


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




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

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