如何从椭圆的一般方程求椭圆的五个参数已知椭圆一般方程为A*x^2+B*x*y+C*y^2+D*x+E*y+F=0,其中A,B,C,D,E,F,均不为0,现在要去求椭圆的中心坐标(x0,y0),椭圆的长半轴a,椭圆的短半轴b,以及椭圆长半轴与X轴正向的夹角theta,该夹角定义为以X轴正向为始边,以椭圆长轴所在方向为终边,逆时针为正角,顺时针为负角,范围为〔-90度,90度〕.也就是说如何用含A,B,C,D,E,F的代数式来表达x0,y0,a,b,theta这五个参数.
如何从椭圆的一般方程求椭圆的五个参数
已知椭圆一般方程为A*x^2+B*x*y+C*y^2+D*x+E*y+F=0,其中A,B,C,D,E,F,均不为0,现在要去求椭圆的中心坐标(x0,y0),椭圆的长半轴a,椭圆的短半轴b,以及椭圆长半轴与X轴正向的夹角theta,该夹角定义为以X轴正向为始边,以椭圆长轴所在方向为终边,逆时针为正角,顺时针为负角,范围为〔-90度,90度〕.
也就是说如何用含A,B,C,D,E,F的代数式来表达x0,y0,a,b,theta这五个参数.
theta即θ;
当θ=0,中心在原点时,椭圆的方程为
X^2 / a^2 + Y^2 / b^2 = 1;
用复数Z= X + i•Y 表示该椭圆,若对椭圆旋转θ角,则椭圆上每一个点都乘以单位复数I=cosθ+i•sinθ 即可.
即:ZI=(X•cosθ - Y•sinθ)+ i•(Y•cosθ + X•sinθ);
再平移向量(X0,Y0),即再加上复数α=(X0,Y0)得
z=ZI+α
=(X•cosθ - Y•sinθ + x0)+ i•(Y•cosθ + X•sinθ + y0)
则最终的椭圆为{
x=X•cosθ - Y•sinθ + x0;
y=Y•cosθ + X•sinθ + y0;
→{
X•cosθ - Y•sinθ = x-x0;①
Y•cosθ + X•sinθ = y-y0;②
用x,y表示X,Y:
①·cosθ +②•sinθ得
X = x•cosθ + y•sinθ - x0•cosθ - y0•sinθ ;③
②·cosθ -①•sinθ得
Y = y•cosθ - x•sinθ - y0•cosθ + x0•sinθ ;④
③④代入方程 X^2 / a^2 + Y^2 / b^2 = 1 中得
(x•cosθ + y•sinθ - x0•cosθ - y0•sinθ)^2 / a^2 + (y•cosθ - x•sinθ - y0•cosθ + x0•sinθ)^2 / b^2 = 1 ;
整理得:
= (cos^2 θ / a^2 + sin^2 θ / b^2)•x^2
+ 2•sinθ•cosθ•( 1/a^2 + 1/b^2)• xy
+ (sin^2 θ / a^2 + cos^2 θ / b^2)•y^2
+ [(-2x0•cos^2 θ -2y0•sinθ•cosθ)/ a^2 - (2x0•sin^2 θ - 2y0•sinθ•cosθ)/ b^2]•x
+ [(-2x0•sinθ•cosθ -2y0•sin^2 θ)/ a^2 - (2x0•sinθ•cosθ - 2y0•cos^2 θ)/ b^2]•y
+ [(x0•cosθ + y0•sinθ)^2 / a^2 + (x0•sinθ - y0•cosθ)^2 / b^2 -1]
= 0 ;
则对应 A*x^2+B*x*y+C*y^2+D*x+E*y+F=0 可得
A =cos^2 θ / a^2 + sin^2 θ / b^2;
B =2•sinθ•cosθ•( 1/a^2 + 1/b^2);
C =sin^2 θ / a^2 + cos^2 θ / b^2;
D =(-2x0•cos^2 θ -2y0•sinθ•cosθ)/ a^2 - (2x0•sin^2 θ - 2y0•sinθ•cosθ)/ b^2 ;
E =(-2x0•sinθ•cosθ -2y0•sin^2 θ)/ a^2 - (2x0•sinθ•cosθ - 2y0•cos^2 θ)/ b^2 ;
F =(x0•cosθ + y0•sinθ)^2 / a^2 + (x0•sinθ - y0•cosθ)^2 / b^2 -1;
.