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 Comments

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.

Sign in to comment.

 Accepted Answer

Matt J
Matt J on 15 Jul 2014
Edited: Matt J on 15 Jul 2014
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]

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!