how do I extract conic equation from ellipsoid parameters

5 ビュー (過去 30 日間)
Sebahattin Bektas
Sebahattin Bektas 2015 年 3 月 10 日
コメント済み: John D'Errico 2015 年 3 月 10 日

Hello I have a question how do I extract conic equation from ellipsoid parameters

Here is ellipsoid parameters: the center [x0,y0,z0], the axes lengths [a,b,c], and the rotation angles [ex,ey,ez]

How can I obtain the conic equations coefficients (A,B,C,D,E,F,G,H,I) from ellipsoid parameters here is conic equation A*x^2+B*y^2+C*z^2+ 2D*x*y + 2E*x*z + 2F*y*z+2Gx+2Hy+2Iz -1=0

回答 (2 件)

Image Analyst
Image Analyst 2015 年 3 月 10 日
  2 件のコメント
Sebahattin Bektas
Sebahattin Bektas 2015 年 3 月 10 日
Not enough
Image Analyst
Image Analyst 2015 年 3 月 10 日
It's for 2D. I imagine the algorithm to extend it to 3D might be straightforward, but still complicated. There might be simpler, but less accurate ways, like if you just want to minimize the residuals along the z dimension instead of the residuals from the point perpendicular to the fitted surface.

サインインしてコメントする。


John D'Errico
John D'Errico 2015 年 3 月 10 日
編集済み: John D'Errico 2015 年 3 月 10 日
Write the ellipse in a standard form.
U = [x,y,z]
U0 = [x0,y0,z0]
Then there exists a 3x3 matrix (I'll call it H) that defines the ellipse, such that
(U - U0)*H*(U-U0)' = 1
This is a classically standard form for an ellipse. A nice thing is it works in any number of dimensions. The requirements on H are that it be symmetric, non-negative definite. It will be positive definite if all of the axis lengths are strictly greater than zero.
So compute H from the given axis lengths and rotations. I'd suggest the simplest way to do so is by an eigenvalue decomposition. Thus the axis lengths define a 3x3 diagonal matrix containing the eigenvalues. (Well, actually, it looks like it would be the inverse of the squares of the axis lengths, but it is early in the morning here.) The use the rotations to define a set of orthogonal vectors. Then create the matrix H.
H = V*D*V'
If you insist on the coefficients of the expanded form, then just do a symbolic expansion of the quadratic form I gave you.
(U - U0)*H*(U-U0)' = 1
Personally, I'd suggest you don't need those coefficients, as you can do pretty much anything necessary from the quadratic form.
  2 件のコメント
Image Analyst
Image Analyst 2015 年 3 月 10 日
I can imagine two cases. One case is where all of your data points are expected to be on the surface of the ellipse, and you want to get the "shell" of the ellipse. And another case where the points may be distributed anywhere inside a solid ellipse cluster and should not necessarily belong on the surface. Would these two cases be handled differently? Which case does Sebahattin's data points describe: the shell or the solid?
John D'Errico
John D'Errico 2015 年 3 月 10 日
I told you how to do that. You say that you have rotation angles. The fact is, you might mean any of a wide variety of things by that statement.
However, you can use those angles as you have chosen to defined them to then rotate the cartesian axes to a new set of orthogonal vectors. Those vectors will be columns of the 3x3 matrix V. And I already told you how to form the diagonal matrix D.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by