Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Fitting a Cylinder to 3D data points

72 views
Skip to first unread message

Daniel Lichtblau

unread,
May 2, 2004, 5:07:36 AM5/2/04
to
Nicolas Flannery wrote:
> I am trying to write a Mathematica algorithm that will allow me to
> find a cylinder or center line and radius that will best fit a set
> of 3D coordinates. These coordinates are in an arbitrary coordinate
> system and may describe a cylinder in any orientation. One approach
> I think would work would be to find a line that is equidistant from
> each point in the list, however I need assistance in doing this. The
> points do have some noise so an optimization method is necessary. Thanks
>
> Nick


Apologies for the delayed response. I had a draft that covers this but I
wanted to complete it before posting. Not so simple because I set it
down three years ago and found it hard to recall what exactly I was
thinking at that time. I'm still not thrilled with the last subsections
involving theory, but that's life.

The basic idea for what you want to do first involves finding all
cylinders through five of the points; this is the magic number for which
there are generically finitely many. Next we take the coordinates that
define the most promising one, and use them as start values for a least
squares minimization involving all the other points. Details (including
Mathematica code) may be found in:

D.L. (2004). Cylinders through five points in R^3.

The relevant code for computing center-line/radius of cylinders through
five points is in section 2, and handling the overdetermined case from
there is a subsection of section 3.

I put a copy of the notebook (around 500 Kb) at

http://download.wolfram.com/?key=QNTXBY

A PDF version around half that size may be found at

http://download.wolfram.com/?key=XMAF1Q

By the way, if you have in mind an application for this, I'd be
interested to hear about it.


Daniel Lichtblau
Wolfram Research

0 new messages