This paper presents a new algorithm for computing the closest point transform to a manifold on a rectilinear grid in low dimensional spaces. The closest point transform finds the closest point on a manifold and the Euclidean distance to a manifold for all the points in a grid, (or the grid points within a specified distance of the manifold). We consider manifolds composed of simple geometric shapes, such as, a set of points, piecewise linear curves or triangle meshes. The algorithm computes the closest point on and distance to the manifold by solving the Eikonal equation |∇u| = 1 by the method of characteristics. The method of characteristics is implemented efficiently with the aid of computational geometry and polygon/polyhedron scan conversion. The computed distance is accurate to within machine precision. The computational complexity of the algorithm is linear in both the number of grid points and the complexity of the manifold. Thus it has optimal computational complexity. Examples are presented for piecewise linear curves in 2D and triangle meshes in 3D. 1 The Closest Point Transform Let u(x), x ∈ R, be the distance from the point x to a manifold S. If dim(S) = n − 1, (for example curves in 2D or surfaces in 3D), then the distance is signed. The orientation of the manifold determines the sign of the distance. One can adopt the convention that the outward normals point in the direction of positive or negative distance. In order for the distance to be well-defined, the manifold must be orientable and have a consistent orientation. A Klein bottle in 3D for example is not orientable. Two concentric circles in 2D have consistent orientations only if the normals of the inner circle point “inward” and the normals of the outer circle point “outward”, or vice-versa. Otherwise the distance would be ill-defined in the region between the circles. For manifolds which are not closed, the distance is ill-defined in any neighborhood of the boundary. However, the distance is well-defined in neighborhoods of the manifold which do not contain the boundary. If dim(S) < n− 1, (for example a set of points in 2D or a curve in 3D), the distance is unsigned, (non-negative).
[1]
J. Sethian,et al.
Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations
,
1988
.
[2]
William E. Lorensen,et al.
Marching cubes: A high resolution 3D surface construction algorithm
,
1987,
SIGGRAPH.
[3]
S. Osher,et al.
Algorithms Based on Hamilton-Jacobi Formulations
,
1988
.
[4]
Atsuyuki Okabe,et al.
Spatial Tessellations: Concepts and Applications of Voronoi Diagrams
,
1992,
Wiley Series in Probability and Mathematical Statistics.
[5]
J A Sethian,et al.
A fast marching level set method for monotonically advancing fronts.
,
1996,
Proceedings of the National Academy of Sciences of the United States of America.
[6]
Elaine Cohen,et al.
A framework for efficient minimum distance computations
,
1998,
Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).
[7]
Y. Tsai.
Rapid and accurate computation of the distance function using grids
,
2002
.