裏 RjpWiki

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

算額(その308)

2023年07月01日 | Julia

算額(その308)

「三重県に現存する算額の研究」福島完(2007/2/13)
https://mie-u.repo.nii.ac.jp/?action=repository_uri&item_id=7216
三重県伊賀市 永保寺 弘化4年(1847)

問題文1 

正三角形2つが図のように組み合わされている。両者に重なりのない小さな正三角形一つの面積が 1456.612 である。このとき,正三角形の一辺,正六角形の一辺,正三角形の外接円の直径,正六角形の外接円の直径,正六角形の面積を求めよ。

正三角形の外接円の半径を r とする。

以下の方程式を解く。r が求まれば,あとは連鎖的に求まる。

include("julia-source.txt");

using SymPy

@syms r::positive
eq1 = (r*(1-sin(PI/6)))^2 * tan(PI/6) - 1456.612  # 小さな正三角形の面積
solve(eq1)[1] |> println  # r

   100.457473408692

r = 100.457473408692
2r*sin(PI/3).evalf() |> println  # 正三角形の一辺
2r*(1-sin(PI/6))*tan(PI/6).evalf() |> println  # 正六角形の一辺(正三角形の一辺の 1/3
2r |> println  # 正三角形の外接円の直径
(2r*sin(PI/3)*2/3).evalf() |> println  # 正六角形の一辺 の 2 倍
1456.612*6 |> println # 正六角形の面積 = 小さな正三角形の面積の6倍

   173.997447943854
   57.9991493146180
   200.914946817384
   115.998298629236
   8739.672

using Plots

function draw(zoomin=false, more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r = 100.457473408692
   x = zeros(6)
   y = zeros(6)
   delta = pi/3
   for i in 1:6
       θ = i*delta - pi/6
       x[i] = r*cos(θ)
       y[i] = r*sin(θ)
   end
   plot(x[[1,3,5,1]], y[[1,3,5,1]], color=:black, lw=0.5)
   plot!(x[[2,4,6,2]], y[[2,4,6,2]], color=:black, lw=0.5)
   circle(0, 0, r)
   if more
       point(r, 0, " r")
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
   else
       plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事