2020年2月26日水曜日

アルキメデスの円周率の計算

 このたびは、昨年「円積曲線(円積線)の作図と操作」(2019年9月29日日曜日)で、
〈ヒッピアスの円積曲線〉なるものを紹介して以来の、その続きの話となります。

 紀元前 3 世紀の頃に生きていたというアルキメデスは、円周率をかなり正確に計算していましたが、じつはその計算過程をこのページ上で再現しようとして、うまい方法を思いつけぬままに数ヶ月が経過してしまいました。

実際にとりかかってみると、そもそもがけっこう複雑な方法なので、
説明文を節約しようとしても、かなりの無理が避けられないというわけで、
その結果、この文末でもリンクしているページ「多角形と円周率の話」の

〈アルキメデスの円周率の計算〉
http://theendoftakechan.web.fc2.com/eII/hitsuge/arcus/polygon.html#archimedes

を参照していただくことといたします。

 アルキメデスが書き残したとされる円周率計算解説〈円の計測〉の日本語訳文は、
『世界の名著 9』 ギリシアの科学〔昭和47年02月10日 中央公論社/発行〕所収の、
三田博雄訳「アルキメデスの科学」で、確認することができます。

 今回ここでは、その円周率の計算に必要となってくる、
《円に内接もしくは外接する多角形》の「辺の長さの合計計算」を少しばかり、
作図して、計算してみましょう。

多角形と円周率の計算概要作図


◈ 多角形の辺の長さを円周〔率〕に近似させる ◈


 ✥ 円周率は、円周の長さとその直径との比であり、また円の面積と半径の平方との比率でもあります。
 正方形に内接する円の直径は正方形の 1 辺の長さと同じなので、円周率というのは、多少表現を変えて説明すると、正方形の 4 辺の長さの合計を 4 としたときの、内接円の円周の値になります。

 円の半径が r = 1 の円周の値と、それに外接・内接する正多角形の辺の長さを比較してみましょう。
 円に外接する正 n 角形も、内接する正 n 角形も、辺の長さの合計はどちらも、n の数が多くなるにしたがって、円周率の 2 倍の値となる円周の数値に近づいていきます。

  ✥ 円の半径が r = 1 の円周は  [ 2π = 6.28 ]

  正三角形      正方形 
  正六角形      正十二角形(補助線つき)
  正 角形(内接多角形のみ)
 ⛞ 
● 円に内接する多角形の 1 辺の長さ
 =  2 
多角形の辺の長さの合計
▸  ×
 = 
● 円に外接する多角形の 1 辺の長さ
 2
多角形の辺の長さの合計
▸  ×
 = 


  辺の長さの計算方法について。
⛞ 正三角形
▶ 図示したように、円に内接する正三角形の頂点の座標のひとつを P (px, py) としたとき、内接する正三角形の 1 辺の長さは px の値の 2 倍になります。
 また、円に内接する正三角形と、外接する正三角形の辺の長さの比は、円に内接する正三角形にさらに内接する円の半径 py と、もとの円の半径 r との比に等しいので、円に外接する正三角形の 1 辺の長さの半分を、仮に qx とするならば、
qx : px = r : py   [ qxpx = rpy ]
qx = px × rpy   [ r = 1 ]
 ∴  qx = pxpy
となって、外接する正三角形の 1 辺の長さは、2 × pxpy と算出されるわけです。
⛞ 正方形(正四角形)
▶ 説明は、省略します。
⛞ 正六角形 (正六角形の辺の長さの計算のもう少し詳しい説明箇所へのリンク
▶ リンクしたページで、アルキメデスの〈円の計測〉の解説に基づいて、説明しています
⛞ 正十二角形
▶ 正 12 角形のひとつの辺を挟む中心からの角度は、360 (°)  ∕ 12 = 30 (°) = π ∕ 6 (rad) なので、そのさらに半分は π ∕ 12 となります。
► 図からわかるように、π ∕ 12 の角度をもつ直角三角形を想定したとき、円に内接する正 12 角形のひとつの辺の長さは、[ r * Math.sin(Math.PI/12) * 2 ] で計算することができます。
► 図では少しわかりにくいのですが、円に外接する正 12 角形の辺はそれぞれ、円の接線の一部となっているので、辺の中点において円と接していて、その接点と円の中心を結ぶ線分は、当然のことながら、円の半径に一致します。そして円の中心を通ってその接点に向かう直線と、接線とは直角に交差しているので、そこに直角三角形が想定できて、その直角三角形の 1 辺が半径 r〔の長さ〕と一致することになります。
 その直角三角形の斜辺を z と仮定して計算すれば、
z * Math.cos(Math.PI/12) = r
 ∴  z = r ∕ Math.cos(Math.PI/12)
となるので、外接する正 12 角形のひとつの辺の長さは [ 2 * z * Math.sin(Math.PI/12) ] と、なるわけです。

◆ JavaScript での書式(具体的な書き方)などは、リンクしたページで、実際のスクリプトを参照してみてください。

―― 昨年 9 月の前回分と合わせ、コピペしてそのまま使える、JavaScript の見本をテキスト化して掲載したページを、すでに説明したところの、以下のサイトで公開しています。

多角形と円周率の話
http://theendoftakechan.web.fc2.com/eII/hitsuge/arcus/polygon.html

0 件のコメント:

コメントを投稿