裏 RjpWiki

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

算額(その77)

2022年12月26日 | Julia

算額(その77)

福島県船引町 蚕養国神社 明治24年(1891)2月
http://www.wasan.jp/fukusima/kogaikuni.html

正方形の中に 7 個の円が入っている。乙円の径が一寸二分のとき甲円の径はいくつか。

図のように記号を定め方程式を解く。

甲円の半径 r1 = 1/3,乙円の半径を r2 とする。

using SymPy
@syms r1::positive, r2::positive;
r1 = 1//3
eq1 = (1 - r2)^2 + r1^2 - (2r1 + r2)^2

$\left(1 - r_{2}\right)^{2} - \left(r_{2} + \frac{2}{3}\right)^{2} + \frac{1}{9}$

res = solve(eq1, r2)
println(res)

   Sym[1/5]

r1 = 1/3, r2 = 1/5 ゆえ,r1 = 5/3 * r2。算額の通り,「乙円の径を 5 倍して 3 で割る」。

r2 = 1.2 寸ならば,r1 = 2 寸。

using Plots

function circle(ox, oy, r, color=:red; beginangle=0, endangle=360)
 θ = beginangle:0.1:endangle
 x = r.*cosd.(θ)
 y = r.*sind.(θ)
 plot!(ox .+ x, oy .+ y, color=color, linewidth=0.5)
end;

function point(x, y, string="", color=:green, position=:left, vertical=:top; fontsize=10, mark=true)
  mark && scatter!([x], [y], color=color, markerstrokewidth=0)
  annotate!(x, y, text(string, fontsize, vertical, position, color))
end;

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (r1, r2) = (1/3, 1/5)
   plot([-1, 1, 1, -1, -1], [-1, -1, 1, 1, -1], color=:black, lw=0.5)
   circle(0, 0, r1, :green)
   circle(0, 1-r1, r1, :green)
   circle(0, r1-1, r1, :green)
   circle(0, r1, 2r1, :blue)
   circle(0, -r1, 2r1, :blue)
   circle(1 - r2, 0, r2, :magenta)
   circle(r2 - 1, 0, r2, :magenta)
   if more
       println("甲円の直径 = $(5/3 *1.2)")
       point(0, 0, " O")
       point(0, 1-r1, " 1-r1")
       point(r1, 0, " r1")
       point(1-r2, 0, "1-r2 ", :magenta, :right)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5)
   end
end;

    甲円の直径 = 2.0

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

コメントを投稿

Julia」カテゴリの最新記事