Distance from points to an ellipse

Version 1.0.0.0 (2.41 KB) by Hui Ma
Projects a set of points onto an ellipse and returns the nearest corresponding points on the ellipse
1.5K Downloads
Updated 24 May 2010

View License

This is a modified version of an iterative algorithm published by
D. Eberly.
Internet publication: "Distance from a point to an ellipse in 2D" (2004) Geometric Tools, LLC, www.geometrictools.com
Book publication: "3D Game Engine Design", 2nd edition.
Morgan Kaufmann Publishers, San Francisco, CA, 2007.
(see Section 14.13.1)

Usage: [RSS, XYproj] = Residuals_ellipse(XY,ParG)
Input: XY(n,2) is the array of coordinates of n points
x(i)=XY(i,1), y(i)=XY(i,2)
ParG is a vector 5x1 of the ellipse parameters
ParG = [Center(1:2), Axes(1:2), Angle]'
Center - the coordinates of the ellipse's center
Axes - the axes (major, minor)
Angle - the angle of tilt of the ellipse

Output: RSS is the Residual Sum of Squares (the sum of squares of the distances)
XYproj is the array of coordinates of projections(nearest points on the ellipse)

This algorithm is proven to converge and reaches an accuracy of 7-8 significant digit. It takes 4-5 iterations per point, on average.

Cite As

Hui Ma (2024). Distance from points to an ellipse (https://www.mathworks.com/matlabcentral/fileexchange/27708-distance-from-points-to-an-ellipse), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Geometric Transformation and Image Registration in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0