2020年2月29日土曜日

放物線あるいは n 次曲線を描く

 双曲線 (hyperbola) は、1 次関数のグラフです。
 放物線 (parabola) は、2 次関数のグラフになります。

 基本的な放物線のグラフと、その他の n 次関数曲線を、試しに描いてみました。
 関数の選択ボタンで、グラフ表示が切り替え可能となっています。


  n 次式のグラフ
  ▣ a = 
  ▣ n = 
y = axn の頂点の座標 (p, q)
  ▣ p = 
  ▣ q = 
  関数の選択
  y = axn
  y = a ( x - p )n + q
  y = x3 + x2 + x
  y = x3 - x2 - x

 ◈ y = a ( xp )2q の計算式。
 ▣ y = a ( xp )2q = ax2 - 2apxap2q
 ここで
b = - 2ap
c = ap2q
 と代入すれば
y = ax2bxc
▣ p = - b
 
  2a  
▣ q =  c -  b2  =     4acb2  
   
  4a     4a  
 となって y = ax2bxc は y = ax2 を
 x 方向に p y 方向に q だけ、平行移動させたグラフ
になるわけです。


―― 例によって、コピペしてそのまま使える、JavaScript の見本をテキスト化して掲載したページを、以下のサイトで公開しています。

JavaScript : 双曲線と放物線
http://theendoftakechan.web.fc2.com/eII/hitsuge/arcus/parabola.html

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