Euclidian projection on ellipsoid and conic

Projecting a point on ellipsoid or conic in n-dimensional space
1.1K Downloads
Updated Tue, 25 May 2010 17:28:54 +0000

View License

Find the projection of point P in R^n on the ellipsoid

E = { x = x0 + U*(z.*radii) : |z| = 1 }, where U is orthogonal matrix of the orientation of E, radii are the axis lengths, and x0 is the center.

Or on generalized conic E = { x : x'*A*x + b'*x + c = 0 }.

The projection is the minimization problem:
min | x - P | (or max | x - P|) for x in E.

Method: solve the Euler Lagrange equation with respect to the Lagrange multiplier, which can be written as polynomial equation (from an idea by Roger Stafford)

Cite As

Bruno Luong (2024). Euclidian projection on ellipsoid and conic (https://www.mathworks.com/matlabcentral/fileexchange/27711-euclidian-projection-on-ellipsoid-and-conic), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.4.0.0

Fix a bug, Introducing an adjustable tolerance value for parabola detection

1.3.0.0

Cosmetic changes + Script for test example for 2D conic projection

1.2.0.0

Extend to generalized conic (ellipsoid, paraboloid, hyperboloid, etc...)

1.0.0.0