2020年6月6日土曜日

円と楕円を計算する積分

 以前、「〈円の面積〉は《円周の積分》であるということ」(2020年3月10日火曜日)で、〝円周と面積のグラフ〟を作成して、〈面積を微分すると、円周を求めることができる〉、と書いています。
 これは正しく接線を描くため微分の学習を始めようとした際に、微分と積分の関係性をわかり易く捉えた具体例として、記憶に刻んだことでした。

 そのように、円の面積を半径で微分すると、円周になるわけです。
 そうすると当然、〈面積を微分すると楕円になる方程式〉も予想されるわけです。
 それを確かめるためには積分の基礎から確認していく必要もまた予想されるわけなのです。
 今回はまずは順序を追って、《円の面積を微分すると円周になる》ことの再確認から、積分が始動します。

 ⛞ 円の面積を微分すると円周になる
✥ というわけで、《円の面積》を微分すると、円周になります。
f (x) = y = a x 2
の微分は
f ´(x) = y´ = 2 a x
なので、
f ´(r) = S =[円の面積]= π r 2
として、r で微分した結果を L とすれば、
f ´(r) = L =[円周]= 2 π r
【復習】
◈ 関数 f (x) から導関数 f ´(x) を求めることを、f (x) を微分する、といいました。
 ✐  y  =  f (x) の導関数
f ´(x) ,  y´ ,    dy   ,    d   f (x)
   
 dx   dx 
▣    dy    =    d   f (x) = f ´(x) = y´
   
 dx   dx 
◈    d   f (x) は y  =  f (x) を x で微分した形
 
 dx 
 ⛞ 微分すると f (x) になる関数を f (x) の原始関数 (primitive function) という
 ✐  F ´(x) = f (x) のとき、F (x) を f (x) の原始関数または、不定積分 (indefinite integral) といいます。
 原始関数は、C という積分定数 (integral constant) を用いて
∫    f (x) dx = F (x) + C
 
 
と表され、この表し方を、f (x) の不定積分といいます。∫ は積分・インテグラルと読みます。
◈ 関数 f (x) の不定積分を求めることを、f (x) を積分する、といいます。
【不定積分の公式】
(ただし、n は 0 または正の整数、C は積分定数。)
   x n dx =   1  x n+1 + C
∫  
 n + 1 
▣ 積分定数が必要であるのは、たとえば、
y = a x n + b x + c
の微分は、
y´ = n a x n-1 + b
となって、定数 c の情報が、微分によって失われるためです。
▣ 曲線が接線と接する点を接点といいますが、接線の傾きと接点の座標の値が判明している場合には、積分定数の値も定まります。
 ⛞ 導関数 (derived function) の値がわかっているときに もとの関数を積分で求める
 ✐  積分定数の値を決定する条件を初期条件といいます。
▣  y´ = f ´(x) = 2 a x + b
であるとき、
∫    f ´(x) dx = f (x) + C
 
 
であるから、
►  y = f (x) = a x 2 + b x + C
◈ このとき、定数 a, b と接点の x, y 座標が確定すれば、C の値も定まります。
x =      y = 
a =     b = 
▸  C = y - a x 2 - b x ≒ 
 ⛞ 定積分 (definite integral) の定義
 ✐  定積分では、引き算をすることで、積分定数 C が打ち消されます。
 
b
 f (x) dx = [ F (b) + C ] - [ F (a) + C ]
∫  
a
       = F (b) - F (a) = [ F (x) ] b
a
◈ ある区間で連続な関数 f (x) の不定積分のひとつを F (x) とし、a, b をその区間内の数とするとき、
F (b) - F (a)
を、関数 f (x) の a から b までの定積分といって、次の式で表します。
 
b
 f (x) dx
∫  
a
▣ a を下端、b を上端といい、また記号を用いて
[ F (x) ] b
a
と表します。定積分は、面積の計算に使われます。

 例により、今回の JavaScript によるプログラムも、このページ内に同梱しています。

2020年5月31日日曜日

楕円接線と《光の入射角・反射角》

 いよいよもって、楕円の焦点から発射された光が楕円で反射したら、どこに向けて跳ね返るのか、という話題となりました。
 当面の目標としていた、楕円の接線の入射角と反射角に関する計算問題の作図です。

◎ 一般に、関数 y = f (x) が微分可能なとき、
 曲線 y = f (x) 上の点 A ( a ,  f (a) ) における接線の方程式は
y - f (a) = f ´(a) (x - a)
と、記述されます。このとき f ´(a) ≠ 0 であるなら、点 A を通る接線に垂直な直線の方程式は
y - f (a) =  -  1  (x - a)
 
 f ´(a) 
と表され、これを曲線 y = f (x) の点 A ( a ,  f (a) ) における法線 (normal) といいます。

 ⛞ 楕円の接線と法線に関する定理
 x 2   +   y 2    = 1
   
 a 2   b 2 
 上の方程式で表される楕円上の点 P ( x1, y1 ) (y1 ≠ 0) における接線を l 、点 P を通り l に垂直な直線を m とし、この楕円の焦点を F, F´ とする。
 このとき、m は ∠FPF´ を二等分する。

▣ 直線 m は、楕円上の点 P ( x1, y1 ) (y1 ≠ 0) における法線と一致します。
▣ したがってこの定理は、焦点を F, F´ とする楕円の点 P における法線は、∠FPF´ を二等分する、ということを意味しています。

◎ かくして焦点 F から楕円上の点 P に向けて放たれた光は、
「もうひとつの焦点 F´ に向けて反射する」と理解できます。

【 証明 : ここでは a > b > 0 となる標準的な楕円の場合について考えます 】
(双曲線の接線で復習した〈内角の二等分線と辺の比の定理〉を今回の証明にも用います)
◈ 前提として、x 軸と法線との交点を Q とすれば、
FQ : F´Q = PF : PF´
が成り立つとき、法線は ∠FPF´ を二等分していることになるわけです。
◈ まず、標準的な楕円 ( b = √ a 2 - c 2  ) で焦点の座標は、
c = √ a 2 - b 2 
となって、F ( c , 0 ) , F´ (-c , 0 ) 。
 接線 l の傾きは、[-b 2 x1  ∕  a 2 y1 ]。
 直線 m の傾きは、[ a 2 y1  ∕  b 2 x1 ]。
● したがって、m の方程式は、
y - y1 =    a 2 y1   ( x - x1 )
 
 b 2 x1 
となるので、y = 0 のとき、
-   b 2 x1   y1 = ( x - x1 )
 
 a 2 y1 
x = x1 -   b 2 x1    =    a 2 x1 - b 2 x1 
   
a 2 a 2
  =    ( a 2 - b 2 ) x1    =    c 2 x1 
   
a 2 a 2
 ここで、先に〈楕円の準線と離心率〉で計算した、
 楕円の離心率 e の値を用います。
 ▣  e = c  ∕  a
● 以上より、点 Q の x 座標は、
∴  x = e 2 x1
 また、焦点の x 座標は、
 ▣  c = a e
であるから、
FQ = | a e - e 2 x1 |
F´Q = | (-a e ) - e 2 x1 |
∴  FQ  = e | a - e x1 |
∴  F´Q = e | a + e x1 |
◈ 次に、PF, PF´ の長さは、
▣ c 2 = a 2 - b 2
▣ y12 = b 2 (1 - x12  ∕  a 2 ) = b 2 - ( b 2  ∕  a 2 ) x12
より、
PF 2 = ( x1 - c ) 2 + y12 = x12 - 2 c x1 + c 2 + y12
  =  x12 - 2 c x1 + ( a 2 - b 2 ) + b 2 - ( b 2  ∕  a 2 ) x12
  =  x12 - 2 c x1 + a 2 - ( b 2  ∕  a 2 ) x12
  =  a 2 - 2 c x1 +    a 2 - b 2   x12
 
a 2
  =  a 2 - 2 c x1 +    c 2   x12
 
  a 2 
  =  a 2 - 2 a e x1 + ( a 2 e 2  ∕  a 2 ) x12
  =  a 2 - 2 a e x1 + e 2 x12
  =  ( a - e x1 ) 2
PF´ 2 = ( x1 + c ) 2 + y12  =  a 2 + 2 a e x1 + e 2 x12
    =  ( a + e x1 ) 2
∴  PF  = | a - e x1 |
∴  PF´ = | a + e x1 |
● したがって、
FQ : F´Q = e | a - e x1 |  :  e | a + e x1 |
       =  | a - e x1 |  :  | a + e x1 |
であるから、
∴  FQ : F´Q = PF : PF´

 ⛞ 媒介変数 θ を使った楕円上の点 P (x, y) の値と接線と法線
 (線分 FF´ と法線との交点を Q とし、点 Q の x 軸上もしくは y 軸上の値を q として算出します。)
 ◎ a > b だと横長の楕円に、b > a だと縦長の楕円になります。
  θ =  ° a =  b =  c = 
   x =  y =  q = 

 今回の JavaScript によるプログラムも、このページ内に同梱しています。

2020年5月29日金曜日

三角関数を使って楕円を描く

 今回は《楕円の方程式》の続きです。
 媒介変数を使って楕円を描く方法がとても便利なので、その計算式の紹介となります。

 ⛞ もうひとつの楕円の定義
◎ 2 定点 F ( c , 0 ) , F´ ( -c , 0 ) を焦点として、焦点からの距離の和が 2 a のときに、
a > c > 0 かつ a > b > 0 である、楕円の方程式
 x 2   +   y 2    = 1  ( b = √ a 2 - c 2  )
   
 a 2   b 2 
で、表される楕円は、半径 a の円を y 軸(短軸)方向に b ∕ a の比で縮小したものと考えられます。
◎ また、2 定点 F ( 0 , c ) , F´ ( 0 , -c ) を焦点として、焦点からの距離の和が 2 b のときに、
b > c > 0 かつ b > a > 0 である、楕円の方程式
 x 2   +   y 2    = 1  ( a = √ b 2 - c 2  )
   
 a 2   b 2 
で、表される楕円は、半径 b の円を x 軸(短軸)方向に a ∕ b の比で縮小したものと考えられます。

 ✐ [ x 2 + y 2  =  a 2 ]の円周上の点を P ( x0, y0 ) とし、
その y 座標を b ∕ a の比で縮小した点を Q ( x1, y1 ) として考えます。
x1 = x0
y1 = ( b ∕ a ) y0
● この前提より、
x0 = x1
y0 = ( a ∕ b ) y1
● 点 P で[ x0 2 + y0 2  =  a 2 ]が成り立つので、
x1 2 + { ( a ∕ b ) y1 } 2 = a 2
∴  x1 2 + ( a ∕ b ) 2 y1 2 = a 2
▣ この両辺を a 2 で割れば、次の式になります。
 x1 2   +   y1 2    = 1
   
 a 2   b 2 
◈ 楕円は、三角関数でも描くことができるわけです。
θ =  ° b ∕ a = 2 ∕ 3
x =  y1 =  y0 = 

 ✥ 円と楕円の媒介変数 (parameter) 表示
 ◯ ここで参考書の説明を引用しておきましょう。ちなみに、媒介変数(ばいかいへんすう)は、数学の辞典には、助変数(じょへんすう)の項で掲載されています。

新装版『数学読本 5』 〔松坂和夫/著〕
18. 4 媒介変数で表される曲線
 (pp.943-944)
◆ 曲線の媒介変数表示
 一般に、平面上を点 P (x, y) が運動するとき、その x 座標、y 座標は時刻 t の関数として
x = f (t) ,  y = g (t)
と表されるでしょう。このとき、t の変化にともなって、点 P は平面上の 1 つの曲線をえがきます。
 このように、平面上のある曲線の x 座標、y 座標が 1 つの変数 t によって上の形に表されるとき、これをその曲線の媒介変数表示またはパラメーター表示といい、t を媒介変数またはパラメーターといいます。運動する点がえがく曲線の媒介変数表示においては、媒介変数は時間あるいは時刻 (time) です。しかし一般には、媒介変数は必ずしも時刻である必要はありません。また、それを表すのにいつも文字 t を用いる必要もありません。

 ⛞ 円の媒介変数表示
◈ 中心が原点 O (0, 0) で、半径が a の円の方程式は、
x 2 + y 2 = a 2
なので、円周上の点 P (x, y) の座標を三角関数で表現すれば、
x = a cos θ
y = a sin θ
となって、これは、原点 O を中心とする、半径 a の円の媒介変数による表示でもあります。
 ⛞ 楕円の媒介変数表示
◈ 標準的な楕円では、x 軸に対して、y 軸が b / a 倍になるので、
x = a cos θ
y = b sin θ
ということになります。

◎ 楕円の方程式は、〈陰関数表示〉で、
 x 2   +   y 2    = 1
   
 a 2   b 2 
と、表されました。これを〈媒介変数表示〉すると、
x = a cos θ
y = b sin θ
となるわけです。試しに、媒介変数表示の x, y を陰関数表示に代入してみれば、
 a 2 ( cos θ ) 2   +   b 2 ( sin θ ) 2    = 1
   
 a 2   b 2 
∴  ( cos θ ) 2 + ( sin θ ) 2 = 1
● これは三角比の平方公式
sin 2 θ + cos 2 θ = 1
と、一致しています。

【三角比の平方公式】
◈ ピタゴラスの定理だと、次のようになります。
[ a 2 + b 2 = c 2 ]
▣  cos θ = a ∕ c
▣  sin θ = b ∕ c
( cos θ ) 2 + ( sin θ ) 2 =    a 2   +   b 2 
   
 c 2   c 2 
  =    a 2 + b 2   +   c 2    = 1
   
 c 2   c 2 
● 中心が原点 O (0, 0) で、半径が 1 の円は、
x 2 + y 2 = 1
なので、その円周上の点 P (x, y) の座標で、
( cos θ ) 2 + ( sin θ ) 2 = 1
が成り立つわけです。

 今回の JavaScript によるプログラムも、このページ内に同梱しています。

2020年5月26日火曜日

円と楕円の接線の方程式

 昨年夏のこと、「JavaScript :《楕円の方程式》に向けて」(2019年8月22日木曜日)と題しています。
 目指していたのは実は本日の 《楕円の接線の方程式》でした。

 ⛞ 中心が原点にある円の方程式
   x 2 + y 2 = r 2
  ▶ 中心点 O ( 0, 0 ) と
    円周上の点 P ( x0, y0 ) を通る直線 OP の傾き m
 y0 - 0    =    y0       ( ただし、 x0 ≠ 0 )
   
 x0 - 0   x0 
  ▶ 点 P を通る接線 l の傾き n
   m × n = - 1
∴  -   x0         ( ただし、 y0 ≠ 0 )
 
 y0 
  ▶ 接線 l の方程式
l : y - y0 = -   x0   ( x - x0 )
 
 y0 
 ► 両辺に y0 を掛けて、
   l : y0 y - y0 2 = - x0 ( x - x0 )
   l : x0 x + y0 y = x0 2 + y0 2
 ▸ 点 P は円周上にあるので、点 P で円の方程式が成立します。
   x0 2 + y0 2 = r 2
∴  l : x0 x + y0 y = r 2
 ⛞ 一般的な円の方程式
   ( x - a ) 2 + ( y - b ) 2 = r 2
  ▶ 接線 l の方程式(円の接線の公式)
 ( x0 - a ) ( x - a ) + ( y0 - b ) ( y - b ) = r 2

  θ =  °   b = 

 ⛞ 楕円の方程式の標準形
2 定点 F ( c , 0 ) , F´ (- c , 0 ) を焦点として、
焦点からの距離の和が 2 a のときに、
a > c > 0 かつ a > b > 0 である、楕円の方程式
 x 2   +   y 2    = 1  ( b = √ a 2 - c 2  )
   
 a 2   b 2 
 ⛞ 楕円の接線の方程式
 ► 楕円の方程式の両辺を x で微分して求めます。
 2 x   +   2 y   ∙   dy    = 0
     
 a 2   b 2   dx 
∴    dy    =  -   2 x   ∙   b 2 
     
 dx   a 2   2 y 
 このことから、y ≠ 0 のとき、次のことが成り立ちます。
 dy    =  -   b 2 x 
   
 dx   a 2 y 
 ✐ したがって y1 ≠ 0 のとき、
楕円上の点 Q ( x1, y1 ) における接線の傾きは、
 -   b 2 x1 
 
 a 2 y1 
 と、なるので、接線の方程式は次の計算式から求めます。
y - y1 = -   b 2 x1   ( x - x1 )
 
 a 2 y1 
∴  a 2 y1 ( y - y1 ) = - b 2 x1 ( x - x1 )
● この両辺を a 2 b 2 で割って、
  y1 y - y1 2     = -    x1 x - x1 2 
   
 b 2   a 2 
∴     x1 x   +    y1 y     =      x1 2   +    y1 2 
       
 a 2  b 2 a 2 b 2
● 点 Q ( x1, y1 ) で楕円の方程式が成り立つので、
 x1 2   +   y1 2     =   1
   
 a 2   b 2 
▣ 以上のことから、楕円の接線は、次の方程式で表せます。
 x1 x   +   y1 y     =   1
   
 a 2   b 2 

 今回の JavaScript によるプログラムも、このページ内に同梱してあります。

2020年5月23日土曜日

双曲線と《光の入射角・反射角》

 ◯ 双曲線の接線の方程式を導くための詳しい計算式が、宇沢弘文氏の『好きになる数学入門 3』に記述されています。一部を抜粋して、紹介しておきましょう(楕円の接線は次回に計算及び確認します)。

『好きになる数学入門 3』〔宇沢弘文/著〕
第 7 章 双曲線 「双曲線の接線の方程式」
 (pp.118-119)
 双曲線の接線の方程式も、楕円の場合と同じようにして計算することができます。つぎの方程式によって与えられる双曲線を考えます。
(3)     x 2   -   y 2    = 1
   
 a 2   b 2 
この双曲線上の点 P = ( x0, y0) における接線の方程式が
 (4)   m x + n y = 1
によってあらわされるとします。
 接線の方程式 (4) が双曲線上の点 P = ( x0, y0) を通るから、連立方程式 (3), (4) の解
  x0 2   -    y0 2    = 1 ,   m x0 + n y0 = 1
   
a 2 b 2
が 1 つしかないような m, n の値を求めればよいわけです。
● この連立方程式の解法を記したあとで、次の結論と定理が、述べられています。
 (pp.118-119)
「双曲線の接線の方程式」
双曲線上の点 P = ( x0, y0) における接線の方程式は
 x0 x   -   y0 y    = 1
   
 a 2   b 2 
あるいは
 x0 ( x - x0 )   -   y0 ( y - y0 )    = 0
   
 a 2   b 2 
定理 双曲線上の任意の点 P における双曲線の接線 PT は、P と 2 つの焦点 F, F´ をむすぶ直線のつくる角を二等分する : ∠FPT = ∠F´PT.

 ◎ 定理に記述されている点 T の座標の位置関係は、下の作図例を参照してください。
 ✐ この定理を証明する方法として、たとえば 2 つの焦点 F, F´ からそれぞれ接線に下(おろ)した、垂線の足を G, G´ としたとき、三角形 PFG と三角形 PF´G´ が互いに相似であるということを証明すればよいという内容が、上の引用文に続けて、計算式とともに記述されています。
―― その証明のための計算式はかなり込み入ったものでして、その方法を参考にしつつ、別の視点からの考察も含めて、本日公開したサイトで検証しています(一応いつものごとくこの末尾でリンクしています)。
 ◎ 考え方の概略だけを、ここでは述べておきましょう。

〈内角の二等分線と辺の比の定理〉の応用
 ✐ 接線が ∠FPF´ の二等分線になっているという定理では、
ひとつには、
PF : PF´ = TF : TF´ であることが証明されればよいとわかります。
⛞ その証明のための、
双曲線の 2 焦点を F ( c , 0 ) , F´ (- c , 0 ) とし、
双曲線を描く軌跡の座標を、点 P ( x0, y0 ) としたときの、
PF, PF´ の長さの計算
および
双曲線の接線と x 軸との交点を T としたときの、
TF, TF´ の長さの計算
〈三角形の相似条件と三角比〉の関係性
 ✐ いっぽう直角三角形では
三角比(三角関数)を用いることができるので、
焦点 F, F´ から接線に下した、垂線の足を G, G´ としたとき、
●  ∠PGF = ∠PG´F´ = 90 °
は前提条件となっており、さらにここで、θ = ∠FPG とすると、
●  sinθ = FG  ∕  PF
となるので、結果として、2 辺の比である
PF : FG = PF´ : FG´ が証明されればよいとわかります。
⛞ その証明のための、 FG 及び FG´ の長さの計算。
▣ 作図例では、数値の変更をともなう G, G´ の計算結果を、スカイブルーの丸で塗っています。

◎ 以上のことが証明された結果、
焦点 F から双曲線上の点 P に向けて放たれた光は、
「もうひとつの焦点 F´ から点 P に向けて放たれた光が直進する方向」に(向けて)反射する、ということが理解できるわけです。

◈ 焦点が F ( c , 0 ) と F´ (- c , 0 ) で、
準線の方程式が[ x = a 2  ∕  c ]で表される
双曲線の接線の作図。
 (ただし a の値は c の 倍とします)
   c   =        a   =  
  y0  =       x0  =  
    PF   =      PF´  =  
▣  PF  ∕  PF´  =  
    TF   =      TF´  =  
▣  TF  ∕  TF´  =  
    FG   =      FG´  =  
▣  FG  ∕  FG´  =  

 ⛞ 合成関数の微分に関する定理
 ● u  =  g (x) に関して、x の増分 Δx に対する u の増分を Δu とします。
 ● y  =  f (u) に関して、u の増分 Δu に対する y の増分を Δy とします。
 ● y  =  f (u)  =  f ( g (x) ) が成り立って、
 dy    =   d  f ( g (x) ) = f ´( g (x) ) g ´(x)
   
 dx   dx 
    = f ´(u) g ´(x) =    dy   ∙   du 
   
 du   dx 
  という結果が、導かれます。

▣ 双曲線の接線の方程式は、合成関数の微分の定理を用いて計算できます。
 x 2   -   y 2    = 1
   
 a 2   b 2 
 上の式で与えられる双曲線の接線は、一般に次の方程式で示されます。
 x0 x   -   y0 y    = 1
   
 a 2   b 2 
【計算】
 ✐ 双曲線の方程式の両辺を x で微分します。
 2 x   -   2 y   ∙   dy    = 0
     
 a 2   b 2   dx 
◎ y  ≠  0 のときには、
dy   =    b 2   ∙   2 x    =    b 2 x 
       
 dx   2 y   a 2   a 2 y 
 ✐ だから y0 ≠ 0 のとき、点 P ( x0, y0 ) での接線の傾きは、
 b 2 x0 
 
 a 2 y0 
なので、接線の方程式は、次の計算式となります。
y - y0 =    b 2 x0   ( x - x0 )
 
 a 2 y0 
∴  a 2 y0 ( y - y0 ) = b 2 x0 ( x - x0 )
● この両辺を a 2 b 2 で割って、
  y0 y - y0 2    =     x0 x - x0 2 
   
 b 2   a 2 
∴     x0 x   -    y0 y    =     x0 2   -    y0 2 
       
 a 2  b 2 a 2 b 2
◈ 双曲線の方程式と合わせて考えれば、以上のことから、双曲線の接線は次の方程式で示すことができます。
▣    x0 x   -   y0 y    = 1
   
 a 2   b 2 
●  x =    a 2   ( y0 y / b 2 + 1)
 
x0
●  y =    b 2   ( x0 x / a 2 - 1)
 
y0

双曲線の接線と直交する直線の方程式
 双曲線の接線の、y 軸に対する傾き m は次のようになります。
m =    a 2 y0 
 
 b 2 x0 
▣ 接線と直交する直線の方程式の傾き n は、接線の傾き m の逆数にマイナス 1 を掛けた値になります。
n = -   b 2 x0 
 
 a 2 y0 
◈ この傾きをもつ 2 本の直線が、
それぞれ焦点 F ( c , 0 ) , F´ (- c , 0 ) を通ることになります。
● したがって、その方程式は、
 x = n y + c
 x = n y - c
の 2 通りになって、それぞれが、接線と垂直に交わるのです。
▣ 連立方程式の解を求めることで、交点 G の座標は計算できます。
【計算】(交点 G´ の座標も同様の計算で)
● x =    a 2   ( y0 y / b 2 + 1) = m y +   a 2 
   
x0 x0
 ● x = n y + c
 a 2 y0   y +   a 2    = -   b 2 x0   y + c
     
 b 2 x0  x0  a 2 y0 
 a 2 y0   y +   b 2 x0   y = c -   a 2 
     
 b 2 x0   a 2 y0  x0
∴  y = (c -   a 2  ) ÷ (  a 2 y0   +   b 2 x0  )
     
x0  b 2 x0   a 2 y0 

―― 例のごとく、コピペしてそのまま使える、JavaScript の見本をテキスト化して掲載したページを、計算方法の紹介などとともに、以下のサイトで公開しています。

JavaScript : 円錐曲線の準線と接線
http://theendoftakechan.web.fc2.com/eII/hitsuge/arcus/hyperbola.html