裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

算額(その1194)

2024年08月08日 | Julia

算額(その1194)

(16) 京都府京都市右京区山ノ内宮脇町 山王神社 明治23年(1890)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:正三角形,直角三角形

直角三角形の中に正三角形を容れる。鈎が 3 寸,股が 4 寸のとき,正三角形の一辺の長さはいかほどか。

直角の頂点を原点とし,左右反転して考える。

鈎,股をそのまま変数の「鈎」,「股」
正三角形の一辺の長さを a
とおき,以下の方程式を解く。

include("julia-source.txt");

using SymPy
@syms 鈎::positiveb, 股::positive, a::positive
eq1 = (√Sym(3)a/2)/(股 - a/2) - 鈎/股
res = solve(eq1, a)[1]
res |> println

   2*股*鈎/(sqrt(3)*股 + 鈎)

鈎が 3 寸,股が 4 寸のとき,正三角形の一辺の長さは 2*股*鈎/(sqrt(3)*股 + 鈎) = 2.41735583401570 寸である。

res(鈎 => 3, 股 => 4).evalf() |> println

   2.41735583401570

function draw(鈎, 股, more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   a = 2股*鈎/(√3股 + 鈎)
   @printf("鈎,股が %g, %g のとき,正三角形の一辺の長さは %g である。\n", 鈎, 股, a)
   plot([0, 股, 0, 0], [0, 0, 鈎, 0], color=:blue, lw=0.5)
   plot!([0, a, a/2, 0], [0, 0, √3a/2, 0], color=:red, lw=0.5)
   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", :red, :left, :bottom, delta=delta/2)
       point(a/2, √3a/2, " (a/2, √3a/2)", :red, :left, :vcenter)
       point(股, 0, " 股", :blue, :left, :bottom, delta=delta/2)
       point(0, 鈎, " 鈎", :blue, :left, :vcenter)
   end
end;

draw(3, 4, true)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 算額(その1193) | トップ | 算額(その1195) »
最新の画像もっと見る

コメントを投稿

Julia」カテゴリの最新記事