Fitting quadratic curves and surfaces

Fit ellipses, ellipsoids and other quadratic curves and surfaces to noisy data.
Updated 26 Jan 2022

View License

Generating points along an ellipse or ellipsoid, plotting ellipses and ellipsoids in various parametric representations, and fitting ellipses, ellipsoids or other quadratic curves and surfaces to noisy data occur frequently in fields such as computer vision, pattern recognition and system identification.
This toolbox provides a fairly comprehensive toolset of estimating quadratic curves and surfaces in an errors-in-variables context, with and without constraints. In addition to classical fitting methods such as least squares (with and without curve or surface normals), Taubin's method, direct ellipse fit by Fitzgibbon et al. [1] and direct ellipsoid fit by Qingde Li and John G. Griffiths [4], the toolbox features an estimation algorithm by the author [2,3], based on and extending the work of Istvan Vajk and Jeno Hetthessy [5]. The proposed quadratic curve and surface fitting algorithm combines direct fitting with a noise cancellation step, producing consistent estimates close to maximum likelihood but without iterations.
[1] Andrew W. Fitzgibbon, Maurizio Pilu and Robert B. Fisher, "Direct Least Squares Fitting of Ellipses", IEEE Trans. PAMI 21, 1999, pp476-480.
[2] Levente Hunyadi, "Estimation methods in the errors-in-variables context", PhD dissertation, Budapest University of Technology and Economics, 2013.
[3] Levente Hunyadi and Istvan Vajk, "Constrained quadratic errors-in-variables fitting", The Visual Computer, 12 pages, in print, available on-line from October 2013.
[4] Qingde Li and John G. Griffiths, "Least Squares Ellipsoid Specific Fitting", Proceedings of the Geometric Modeling and Processing, 2004.
[5] Istvan Vajk and Jeno Hetthessy, "Identification of nonlinear errors-in-variables models", Automatica 39, 2003, pp2099-2107.
Levente Hunyadi
Please use my private e-mail address to submit bug reports, which will be addressed upon short notice; reviews, however, are not monitored. Any feedback is most welcome.

Cite As

Levente Hunyadi (2024). Fitting quadratic curves and surfaces (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
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

Eliminated functions that cause conflicts in recent versions of MATLAB (such as strjoin)

Fixed an issue with 3D Taubin fit (contributed by Martti K).

Included all external dependencies into a single package.

Added automatic dependency check for Optimization Toolbox and suggestion which function to use when the toolbox is not installed.

Improved numerical robustness for standard least-squares estimation of ellipsoid parameters.