given an equation
A*x^2+B*y^2+C*z^2+ D*x*y + D*x*z + F*y*z -1=0
how do I extract the center [x0,y0,z0], the axes lengths [a,b,c], and the rotation angles [ex,ey,ez] of the ellipsoid that it describes....

2 个评论

Not sure why you edited your original question. This version is much less clear. The original question was, given an equation
A*x^2+B*y^2+C*z^2+ D*x*y + D*x*z + F*y*z -1=0
how do I extract the center [x0,y0,z0], the axes lengths [a,b,c], and the rotation angles [ex,ey,ez] of the ellipsoid that it describes.
(Answers Dev) Restored edit.

请先登录,再进行评论。

 采纳的回答

Matt J
Matt J 2014-7-15
编辑:Matt J 2014-7-15
Rewrite in matrix form
[x-x0,y-y0,z-z0]*Q*([x-x0;y-y0;z-z0])=1
where Q=[A,D,E;D,B,F;E,F,C]. The eigen-decomposition of Q will be
Q=R*diag(1./[a,b,c])*R.'
where columns of the rotation matrix R are the axes of the ellipsoid. You will have to choose between one of many possible decompositions of R into Euler angles [ex,ey,ez]

更多回答(0 个)

类别

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by