How to recognize ellipse/ellipsoid from random points? UN-weighted average?

986 Views Asked by At

Suppose we are getting random points in 2D (or 3D) which tend to be on ellipse (or ellipsoid). We can't guarantee points are uniformly distributed over ellipse (ellipsoid surface).

The task is to determine ellipse (ellipsoid) parameters, i.e. center location and semi-axes.

We can't take average, because it will be weighted. I mean if points will come preliminary from one side of ellipse, averaging will give wrong results.

So the question is how to UN-weight the average?

UPDATE

I think in the case of ellipse, the parameters can be determined by statistical quantities like moments. Can they?

2

There are 2 best solutions below

2
On

This paper gives a number of algorithms to find the "best" ellipse through given points, and the methods presented can be easily extended to the 3D case. In essence, most methods involve solving a least squared problem through matrix inversion or Singular value decomposition.

1
On

I don't understand your concern with "unweighting".

Anyway, this site has code to fit both ellipses and ellipsoids, plus an explanation of the algorithms.

http://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf

The fitting algorithms will still work fine even if the points are not uniformly distributed.