裏 RjpWiki

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

算額(その246)

2023年05月26日 | Julia

算額(その246)

中村信弥「改訂増補 長野県の算額」
http://www.wasan.jp/zoho/zoho.html
県内の算額3(229)
長野県諏訪市下諏訪 諏訪大社下社 慶応4年(1868)

部分円の中に,大円,小円が 2 個ずつ入っている。大円の径が 147 寸,元の長さが 294 寸のとき,小円の径を求めよ。

弦を x 軸上に取り,その中点を原点とする。弦の右端の x 座標を (x, 0) とする。x = 294/2 である。
部分円の半径を R 中心座標を (0, y) とする。
右の大円の半径,中心座標を r2, (r2, r2) とする。r2 = 147/2 である。
右の小円の半径,中心座標を r1, (x1, r1) とする。

以下の連立方程式を解く。

include("julia-source.txt");

using SymPy

@syms x::positive, y::positive, r1::positive, x1::positive, r2::positive, R::positive;

x = 294 // 2
r2 = 147 // 2
eq1 = x^2 + y^2 - R^2
eq2 = r2^2 + (r2 - y)^2 - (R - r2)^2
eq3 = x1^2 + (y - r1)^2 - (R - r1)^2
eq4 = (x1 - r2)^2 + (r2 - r1)^2 - (r1 + r2)^2;

res = solve([eq1, eq2, eq3, eq4], (r1, x1, R, y))

   1-element Vector{NTuple{4, Sym}}:
    (27/2, 273/2, 1225/8, 343/8)

r1 = 13.50000;  x1 = 136.50000;  R = 153.12500;  y = 42.87500
小円の半径は 13.5。元の単位で直径は 27 寸である。

eq1 ~ eq4 を x, r2 も未知数(変数)として解くと,r1 は以下の式で求めることができる。


x = 294 // 2
r2 = 147 // 2
num = r2 * (x - r2)^2 * (x + r2)^2
den = (3r2^2 + x^2)^2
r1 = num / den
println(r1)

   27//2

using Plots
using Printf

function draw(more)
    pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   # (r1, x1, R, y) = res[1]
   (r1, x1, R, y) = (27/2, 273/2, 1225/8, 343/8)
   x = 294 // 2
   r2 = 147 // 2
  @printf("r1 = %.5f;  x1 = %.5f;  R = %.5f;  y = %.5f\n", r1, x1, R, y)
   θ = atan(y/x)/pi*180
   plot()
   circle(0, y, R, :blue, beginangle=-θ, endangle=180+θ, n=200)
   circle(x1, r1, r1)
   circle(-x1, r1, r1)
   circle(r2, r2, r2, :green)
   circle(-r2, r2, r2, :green)
   segment(x, 0, -x, 0, :blue)
   if more == true
       point(0, y, " y", :blue)
       point(x1, r1, "小円      \n(x1,r1)   ", :red, :right, :bottom)
       point(r2, r2, " 大円\n (r2,r2)", :green, :left, :bottom)
       point(x, 0, "x", :blue)
       hline!([0], color=:black, lw=0.5)
       vline!([0], color=:black, lw=0.5, ylims=(-12, 200))
   else
       plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事