裏 RjpWiki

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

算額(その448)

2023年10月01日 | Julia

算額(その448)

松山市南柳井町 中村正教 昭和12年9月

数学史研究,通巻 186 号,2005年7月〜9月
http://www.wasan.jp/sugakusipdf/186.pdf

図のように円内に中心を通る弦と四分円が入っている。甲,乙の面積の関係を調べよ。

円の半径と中心座標を r, (0, 0)とする。

include("julia-source.txt")

using SymPy

@syms r::positive;

乙の面積は (2r * r)/2 = r^2 である。

甲の面積は半円の面積 PI*r^2/2 から丙の面積を引いたものである。
丙の面積は,半径が √2r 四分円の面積 PI*(√2r)^2//4 から乙の面積 r^2 を引いたものである。すなわち PI*r^2/2 - (PI*(√2r)^2/4 - r^2) = r^2 である。

PI*r^2/2 - (PI*(√Sym(2)r)^2/4 - r^2) |> println

   r^2

または,半円と四分円に囲まれた面積と見て以下のように積分すれば,甲の面積は r^2 である。

@syms x
integrate(sqrt(r^2 - x^2) - (sqrt((√Sym(2)r)^2 - x^2) - r), (x, -r, r)) |> println

   r^2

よって,甲の面積は乙の面積と等しい。

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r = 1
   plot()
   circlef(0, 0, r, :lightpink1, beginangle=0, endangle=180)
   circlef(0, -r, √2r, :lightgoldenrodyellow, beginangle=45, endangle=135)
   circle(0, 0, r, :red)
   plot!([r, -r, 0, r], [0, 0, -r, 0], linecolor=:lightblue1, lw=0.5, seriestype=:shape, fillcolor=:lightblue1)
   if more
       delta = (fontheight = (ylims()[2]- ylims()[1]) / 500 * 10 * 2) /  3  # size[2] * fontsize * 2
       point(r, 0, "r ", :black, :right, :top, delta=-delta/2)
       point(0, r, " r", :black, :left, :top, delta=-delta/2)
       point(0, -r, " -r", :black, :left, :bottom, delta=delta/2)
       point(0, √2r - r, " √2r-r", :black, :left, :bottom, delta=delta/2)
       point(r/4, √2r/2, " 甲", :red, mark=false)
       point(r/4, -√2r/5, " 乙", :blue, mark=false)
       point(r/4, (√2 - 1)r/2, " 丙", :black, mark=false)
       hline!([0], color=:gray, lw=0.5)
       vline!([0], color=:gray, lw=0.5)
   else
      plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事