楕円 - 一般式to標準形の変換導出


理解・計算過程メモのために書きました。
参考サイトの方がわかりやすく説明されています。

●概要

一般式 → 標準形 の導出過程です。また,楕円である条件も導出できます。(考え中)

回転・平行移動した楕円の式を,逆平行移動・逆回転させて標準形のパラメータを求めます。

 {\scriptstyle   Ax^2 + By^2 + Cxy + Dx + Ey + F = 0 {\ \cdots\ } (1)  }

○逆平行移動させる

平行移動量を(x0,y0)とし,x=x'+x0, y=y'+y0 を式(1)に代入します。
 {\scriptstyle   A(x'+x_0)^2 + B(y'+y_0)^2 + C(x'+x_0)(y'+y_0) + D(x'+x_0) + E(y'+y_0) + F = 0  }

x', y'で整理します。
 {\scriptstyle   A{x'}^2 + B{y'}^2 + Cx'y'  }
 {\scriptstyle   + (2Ax_0+Cy_0+D)x' {\ \cdots\ D'\ =\ 0}  }
 {\scriptstyle   + (2By_0+Cx_0+E)y' {\ \cdots\ E'\ =\ 0}  }
 {\scriptstyle   + (A{x_0}^2 + B{y_0}^2 + Cx_0y_0 + Dx_0 + Ey_0 + F) {\ \cdots\ K \ }  }
 {\scriptstyle   =\ 0  }

楕円の中心は原点なので,D'=0, E'=0となり連立方程式が得られます。
これを解き,平行移動量を導きます。
 {\scriptstyle   x_0=\ \frac{CE-2BD}{4AB-C^2}  }
 {\scriptstyle   y_0=\ \frac{CD-2AE}{4AB-C^2}  }

逆平行移動後の一般式は次のようになります(x',y'をx,yに戻してあります)。
 {\scriptstyle   A{x'}^2 + B{y'}^2 + Cx'y' + K = 0 {\ \cdots\ } (2)  }

○逆回転させる

回転量をθとし,逆回転させるためにx=xcosθ-ysinθ, y=xsinθ+ycosθを式(2)に代入します。
※ 面倒なのでx',y'ではなくそのままx,yを使っています。
 {\scriptstyle   A(x\cos\theta-y\sin\theta)^2 + B(x\sin\theta+y\cos\theta)^2 + C(x\cos\theta-y\sin\theta)(x\sin\theta+y\cos\theta) + K = 0  }

x,yで整理します。
 {\scriptstyle   ( A \cos^2\theta + B \sin^2\theta + C \sin\theta \cos\theta )x^2 {\ \cdots\ A'}  }
 {\scriptstyle   +\ ( A \sin^2\theta + B \cos^2\theta - C \sin\theta \cos\theta )y^2 {\ \cdots\ B'}  }
 {\scriptstyle   +\ ( -2(A-B) \sin\theta \cos\theta + C (1-2 \sin^2\theta) )xy {\ \cdots\ C'\ =\ 0}  }
 {\scriptstyle   + K  }
 {\scriptstyle   =\ 0  }

楕円は回転していないので,C'=0と方程式が得られます。
これを解き,回転量を導きます。
展開式,および変形:
 {\scriptstyle   -2(A-B) \sin\theta\cos\theta + C (\cos^2\theta - \sin^2\theta) \ =\ 0  }
 {\scriptstyle   -(A-B) \sin2\theta + C \cos2\theta \ =\ 0  }
 {\scriptstyle   \frac{\sin2\theta}{\cos2\theta} \ =\ \frac{C}{A-B}  }
これから
 {\scriptstyle   \theta \ =\ \frac{1}{2}\tan^{-1}\frac{C}{A-B}  }

逆回転後の一般式は次のようになります。
 {\scriptstyle   A'{x}^2 + B'{y}^2 + K = 0 {\ \cdots\ } (3)  }

○径を導く

式(3)を変形,標準形にし,径を導きます。
 {\scriptstyle   \frac{x^2}{ \sqrt{-K/A'}^2 } + \frac{y^2}{ \sqrt{-K/B'}^2 } = 1  }

これから
 {\scriptstyle   a\ =\ \sqrt{-\frac{K}{A'}}\ =\ \sqrt{ - \frac{  A{x_0}^2 + B{y_0}^2 + Cx_0y_0 + Dx_0 + Ey_0 + F  }{  A\cos^2\theta + B\sin^2\theta + C\sin\theta\cos\theta  } }  }
 {\scriptstyle   b\ =\ \sqrt{-\frac{K}{B'}}\ =\ \sqrt{ - \frac{  A{x_0}^2 + B{y_0}^2 + Cx_0y_0 + Dx_0 + Ey_0 + F  }{  A\sin^2\theta + B\cos^2\theta - C\sin\theta\cos\theta  } }  }




●楕円である条件

もとめた標準形のパラメータから,楕円の条件は次であることがわかります。
 A≠0 ・・・ (4)
 B≠0 ・・・ (5)
 Aの符号 = Bの符号 ・・・ (6)
 4AB - C^2 ≠ 0 ・・・ (7)
 -K/A' > 0 ・・・ (8)
 -K/B' > 0 ・・・ (9)

(4)-(7)まではそのままです。

式4,5を解いていくために,A,Bの符号を正に固定します。
※ 式全体に0でない定数を掛けても,その式が指す楕円は変わりません。
 A > 0
 B > 0

○A'に関して

ひとまず,A'を展開してゆきます。
 {\scriptstyle   A'\ =\ A\cos^2\theta + B\sin^2\theta + C\sin\theta\cos\theta  }

半角・2倍角の公式を使います。
 {\scriptstyle   2A'\ =\ A(1+\cos2\theta) + B(1-\cos2\theta) + C(\sin2\theta)  }
 {\scriptstyle   ,\ \ \ \ =\ A + A\cos2\theta + B - B\cos2\theta + C\sin2\theta  }

媒介変数表示を使います。
 {\scriptstyle   \tan\theta = t,\ \sin2\theta=\frac{2t}{1+t^2},\ \cos2\theta=\frac{1-t^2}{1+t^2}  }
 {\scriptstyle   2A'\ =\ A + A\frac{1-t^2}{1+t^2} + B - B\frac{1-t^2}{1+t^2} + C\frac{2t}{1+t^2}  }

正の数(1+t^2)倍し,tについて整理します。
 {\scriptstyle   2(1+t^2)A'\ =\ Bt^2 + Ct + A {\ \cdots\ (10)}  }

判別式は次のとおりで,tは実数であること,および条件(7)から次の条件式(11)が得られます。
 {\scriptstyle   D\ =\ C^2 - 4AB\ >\ 0 {\ \cdots\ (11)}    }

B > 0なので,式(10)は上に凸です。
なので条件(11)を満たす限り,式(10)は正で,次を満たします。
 {\scriptstyle   A'\ >\ 0  }

○B'に関して

A'と同様に,条件式(11)が得られ次を満たします。
 {\scriptstyle   B'\ >\ 0  }

○Kに関して

条件(11)を満たす限り A' > 0, B' > 0なので次の条件式が得られます。
  {\scriptstyle   K\ <\ 0  }

展開してゆくと次式が得られます。考えはここで積んでます。
  {\scriptstyle   (-CDE+BD^2+AE^2)(C^2-4AB)+F\ <\ 0  }




最終更新:2013年08月08日 18:39