Finding center of curvature and orientation of a noisily sampled 2D circular arc in 3D space

157 Views Asked by At

I have a set of noisy 3-dimensional points, sampled from a partial arc of a 2-dimensional circle (with some center and planar orientation) in 3-dimensional space. How do I find the least squares center of curvature for these points, i.e. the center of the generating circle, and the orientation of the circle's plane?

There are two variants of the problem:

  1. (Potentially easier?): The position of the generating circle is not known, but a line is known that that the center of the generating circle must lie on. To further simplify, this line roughly passes through the centroid of the cloud of points. The task is to find the point on the line that is approximately equidistant from all points. (The orientation of the circle can then presumably be obtained by finding the plane that, rotated some angle about this line, results in a least-squares sum of distances from the points to the plane.)

  2. Nothing is known about the center of curvature, the radius of curvature, or the orientation of the generating circle -- only the sampled points are available.

N.B. in two dimensions, I know I can use a Hough transform to find the center of curvature of circles, but Hough transforms are really finicky to get working well, and it's not obvious to me how to extend the Hough transform to three dimensions.