i need you help in solving the following problem:

given the "center form" of ellipsoid:

  • A : matrix of d*d where d is the dimension
  • c : center of the ellipsoid hold in a vector

how can i compute the tilt/angle of the ellipsoid from these two inputs in Matlab?

Thanks in advance.


2 Answers 2


Find the eigenvectors of $A$: they define the principal axes of the ellipsoid. From those you can compute any angles of those axes you care to.

You can find a detailed description on p.10ff of the document "Algorithms for Ellipsoids" by Stephen Pope (PDF download).


  • $\begingroup$ i still dont follow, i need to compute the angle of one ellipse regarding the axes, i mean i need to find the tilt of the ellipse. by the following operation i get the radiuses of the ellipse and it's orientation: [U,D,V] = svd(A); where D hold the radiuses (by inverting the values on the diagonal) and V is the orientation matrix but how can i compute the angle itself? $\endgroup$ Sep 7, 2015 at 23:43
  • $\begingroup$ @user3492773: The eigenvectors are the ellipsoid axes. You can find the angle between two vectors---one an ellipsoid axis, another the coordinate axis of interest---via their dot product. $\endgroup$ Sep 7, 2015 at 23:45
  • $\begingroup$ can you give an equation please? $\endgroup$ Sep 7, 2015 at 23:46
  • $\begingroup$ @user3492773: See "Angle between two vectors in n-space." $\endgroup$ Sep 7, 2015 at 23:54
  • $\begingroup$ so the angle of ellipse is equal to the sum of all angle between combination of ellipsoid axes and the coordinate system axes? $\endgroup$ Sep 8, 2015 at 0:09

I would like to add some more simple and practical examples to the one provided by Joseph O'Rourke.

So as explained you need 1st to find eigenvectors from A, in Matlab, there is an 'eig' command. But in order to understand what you are doing, you can find a practical example in the document by Peter O. Brown "Ellipse and Linear Algebra" starting with page 5.

In order to get eigenvector representing a semimajor axis of an ellipse, take eigenvalue with smaller absolute value. Next, you need to calculate an angle between eigenvector and (e.g.) x-axis. One of simplest explanations about how to do that could be found here or google for more pro one.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .