椭圆标准方程的系数如何转化为几何参数,就是已知系数A,B,C,D,E,F,如何计算中心(Xc,Yc),长短轴的长度

问题描述:

椭圆标准方程的系数如何转化为几何参数,就是已知系数A,B,C,D,E,F,如何计算中心(Xc,Yc),长短轴的长度

一般椭圆公式:
ax^2+2bxy+cy^2+2dx+2ey+1=0
C=[a b;b c];(表示第一行是a b;第二行是b c)
D=[a b d;b c e;d e 1];(表示第一行是a b d;等等)
其中记矩阵C的特征值为h1,h2
那么 长半轴=(D的行列式除以h1与C的行列式的乘积)的绝对值;
短半轴=(D的行列式除以h2与C的行列式的乘积)的绝对值;
请问以上求长、短半轴的公式是怎么得到的?
强行计算吧

C=T'*diag{h1,h2}*T,其中T正交.
由于原方程为
[x,y]C[x,y]'+2[d,e][x,y]'+1=0
做坐标变换[nx,ny]=[x,y]T'
于是方程变成
[nx,ny]*diag{h1,h2}*[nx,ny]'+2[d,e]T[nx,ny]'+1=0
设[nd,ne]=[d,e]T

h1*nx^2+h2*ny^2+2*nd*nx+2*ne*ny+1=0
h1*(nx+nd/h1)^2+h2*(ny+ne/h2)^2+1-nd^2/h1-ne^2/h2=0
于是得到两个半轴长度为
sqrt((nd^2/h1+ne^2/h2-1)/h1)
sqrt((nd^2/h1+ne^2/h2-1)/h2)
现在计算
|D|=|h1,0,nd;0,h2,ne;nd,ne,1|=(h2 - ne^2)*h1 - h2*nd^2
代入即可