二次曲線の標準形及び概形

二次曲線

 以下の式は二次曲線は楕円・円・双曲線・放物線・直線・点を表しています。二次曲線の分類
Ax^2+Bxy+Cy^2+Dx+Ey+F=0
 この式は、曲線の回転及び移動を含んでいますから、回転を戻し移動を原点に戻すと標準系が求められ、曲線の形(概形)がわかります。
 本ページは、式の係数を入力して計算ボタンをクリックすると概形を求め、図示します。
 デモとして数種類の二次式を用意しました。

二次式の係数入力

 以下の式で示される二次曲線を標準形にし概形を描画します。
Ax^2+Bxy+Cy^2+Dx+Ey+F=0
 以下の入力フォームに5つの係数を入力し計算ボタンをクリックすると二次曲線の方程式を標準形にし概形を求め描画します。(曲線以外の場合は描画されません)
無意味な方程式の係数を入力すると動作が保証されません。

A(x^2)=
B(xy)=
C(y^2)=
D(x)=
E(y)=
F=

デモ式

Ax^2+Bxy+Cy^2+Dx+Ey+F=0

標準系の特定


因数分解をしてみる

 標準形にする前に因数分解できるか確認します。
 因数分解ができればより早く図形の概形が確認できます。
 因数分解は二元二次式の因数分解(解の公式を使用)の方法を使用してみます。
 


 因数分解の結果より以下の式が得られる。


 よって2本の直線となる。

xyの係数Bが0のなので標準形より回転はしていないことがわかる。

対角行列により回転を控除する

上式の2次の部分のみ取り出して、行列にする。

行列AA

行列AAの固有値は以下の通りとなる。(固有値、固有ベクトル)

ラムダの順序を入れ替える


行列AAの固有ベクトルはそれぞれ以下の通りとなる。


行列AAの固有ベクトルは正規化するとそれぞれ以下の通りとなる。


行列AAの固有ベクトルをそれぞれの列に代入すると直交行列Pが得られる。

行列P

Pの逆行列はP-1は以下のとおりである。(逆行列の計算(ピボット選択有))

行列P-1
行列P-1・AA・P

座標x'y'を変換行列Pでx,yで変換されているとすると以下の式が得られる。
\begin{pmatrix} D & E \\ \end{pmatrix} \begin{pmatrix} x \\ y \\ \end{pmatrix}=\begin{pmatrix} D & E \\ \end{pmatrix} P \begin{pmatrix} x' \\ y' \\ \end{pmatrix}
以下の式よりx'y'を求める。
\begin{pmatrix} D & E \\ \end{pmatrix} P \begin{pmatrix} x' \\ y' \\ \end{pmatrix}


対角行列Pの要素と上記の式より以下の式を得る。

a(x+b)^2=ax^2+2abx+ab^2

\displaystyle ax^2+b'x=a(x+\frac{b'}{2a})^2-a(\frac{b'}{2a})^2

標準形の算出

上記式で平方完成すると


標準形は以下の式となる。





a,bは上記の式よりそれぞれ


上記式で平方完成すると



ただしこの座標は回転させる前の座標系です。
数学で使うx軸に対して90度左回転させた軸がy軸である必要があるので、x軸に対するy軸の回転方向をベクトルの外積の符号で調べてみます。
Pの逆列の1列目はX軸の方向、2列目はY軸の方向を示しているので
P^{-1}=\begin{pmatrix} x1 & x2 \\ y1 & y2\\ \end{pmatrix}
V=x1 \cdot y2-y1 \cdot x2
上式のVの符号が正の時y軸はx軸の左回り方向、負の時はx軸の右回り方向となります。
右回りの場合は、通常の数学と逆方向なので、yの符号を逆にして通常の数学の座標系に合わせます。
0<V x軸 y軸 0,0 V<0 y軸 y'軸=-y軸 x軸 0,0


 以下の標準形の式にあてはまることから放物線であることがわかる。
y^2=4px 又は x^2=4py
 今回は以下の式で表せます。

 ちなみに二次放物線はベジェ曲線で表せます。

今までの式を合成すると下記式が得られる

X,Yが原点座標となる。

X軸の傾きは行列Xの1行目1列目より算出できる。
\displaystyle X=\begin{pmatrix} \cos \theta & -\sin \theta\\ \sin \theta & \cos \theta \\ \end{pmatrix}
x'-y'系を原点を中心にθ回転させたx-y座標系に変換するには以下の式が使えます。放物線の頂点座標を元の座標に変換します。
x=x' \cos \theta-y' \sin \theta y=x' \sin \theta+y' \cos \theta


図形の諸元は以下の通りとなる。


SVGソースは以下のとおりである。

SVGの代替画像