裏 RjpWiki

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

算額(その236)

2023年05月17日 | Julia

算額(その236)

山形県南原町 熊野神社
山形算額勝負-湯殿山神社を目指せ-

https://www.sci.yamagata-u.ac.jp/wasan/pdf/20180711SSEP.pdf

鉤股の中に菱形,大円,中円,小円が入っている。股が 36 寸,弦が 45 寸のとき,菱形の辺の長さおよび大円,中円,小円の直径を求めよ。

菱形の辺の長さを z,鉤をx,小円が入っている鉤股弦の鉤および股を y,36 - z,中円が入っている鉤股弦の鉤を x - y とする。
以下の方程式を解く。

include("julia-source.txt")

using SymPy

@syms x::positive, y::positive, z::positive;
eq1 = x^2 + 36^2 - 45^2
eq2 = 36*(x - y) - x*z
eq3 = y^2 + (36 - z)^2 - z^2
(x, y, z) = solve([eq1, eq2, eq3], (x, y, z))[1]

   (27, 12, 20)

鉤股弦に内接する円の直径は,「鉤+股-弦」である。

大円,中円,小円の直径を R1, R2, R3 とすると以下の通り。

R1 = x + 36 - 45
R2 = (x - y) + z - (45 - z)
R3 = y + (36 - z) - z
println((R1, R2, R3))

   (18, 10, 8)

   x = 27.0000000;  y = 12.0000000;  z = 20.0000000
   r1 = 9.0000000;  r2 = 5.0000000;  r3 = 4.0000000

菱形の一辺の長さは 20寸,大円,中円,小円の直径はそれぞれ 18寸,10寸,8寸である。

function draw(more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   # 大円,中円,小円の半径を r1, r2, r3 とする
   (x, y, z, r1, r2, r3) = (27, 12, 20, 18/2, 10/2, 8/2)
   @printf("x = %.7f;  y = %.7f;  z = %.7f\n", x, y, z)
   @printf("r1 = %.7f;  r2 = %.7f;  r3 = %.7f\n", r1, r2, r3)
   plot([0, 36, 0, 0], [0, 0, x, 0], color=:black, lw=0.5)
   plot!([z, 0, 36 - z], [y, y, 0], color=:black, lw=0.5)
   circle(r1, r1, r1)
   circle(r2, y + r2, r2, :green)
   circle(r3, r3, r3, :blue)
   if more == true
       point(0, x, "x ", :green, :right)
       point(0, y, "y ", :green, :right)
       point(36 - z, 0, "36 - z", :green, :left, :bottom)
       point(36, 0, " 36", :green, :left, :bottom)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
       plot!(showaxis=false)
   else
       plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事