Last update: July 23, 2002
References for Computational Geometry & CAD - Voronoi Diagrams & Skeletons - by G. Turkiyyah, D. Storti, et al. :
BibTeX references
Cole Brooking, Mark A. Ganter, Duane Storti, and George Turkiyyah.
Journal of Mathematical Modelling and Scientific Computation, Vol 10, June 2000.
International Association of Mathematical and Computer Modelling ( www.iamcm.org )
Rob Blanding, George Turkiyyah, Duane Storti, and Mark A. Ganter.
Journal of Computational Geometry: Theory and Applications, Vol. 15, (Issues 1-3), pp. 129-148, February 2000.
In this paper, we describe a method for generating geometric morphs between general 3D solid models. The method is based on the Euclidean skeleton and is capable of generating morphs between shapes that possess different feature sets and different topology. The essential concept that enables the morphing method is utilization of the trimmed skeleton of the symmetric difference as an intermediate shape. The intermediate shape is a valid solid model whose boundary does not self-intersect and is everywhere equidistant from the boundaries of the source shapes. We apply the skeleton-based intermediate shape generation procedure recursively to produce a sequence of shapes, referred to as a morph history, that gradually transform between the initial and target shapes. The method is sufficiently robust to handle significant changes in geometry and topology, such as the creation and annihilation of protrusions, indentations, internal holes and handles, and produces intuitive morph histories.
The skeleton also establishes a correspondence between points on the boundaries of the source and target objects. Interpolation between corresponding points is performed to enable fast generation of a morph history consisting of a sequence of valid solid models. For source and target models that are sufficiently close, this interpolative morphing scheme generates results comparable to those obtained by the recursive skeletonization procedure, but with improved computational efficiency. The boundary point correspondence generated by the skeleton enables morphing with surface attributes (e.g., color, texture, surface roughness, and transparency). The skeleton-based procedure also allows for morphing between open curves or surfaces. A modification of the basic procedure allows the user to control the morph by specifying corresponding feature sets on the initial and final objects. Examples are presented to demonstrate the capabilities of the methods described.
Author Keywords: Morphing; Skeletons; Medial axis; Shape interpolation.
Rob Blanding, Cole Brooking, Duane Storti, and Mark A. Ganter.
5th Symposium on Solid Modeling and Applications, ACM, Ann-Arbor, Michigan, pp. 141-150, June 1999.
Duane W. Storti, George Turkiyyah, Mark A. Ganter, Chek T. Lim, Derek M. Stal
4th Symposium on Solid Modeling and Applications, ACM, Atlanta, GA, pp. 141-154, May 1997.
George Turkiyyah, Duane Storti, Mark Ganter, Hao Chen, and Munikumar Vimawala
Computer Aided Design. Vol. 29, No. 1, pp. 5-19, 1997.
Shape skeletons are powerful geometric abstractions that provide useful intermediate representations for a number of geometric operations on solid models including feature recognition, shape decomposition, finite element mesh generation, and shape design. As a result there has been significant interest in the development of effective methods for skeleton generation of general free-form solids. In this paper we describe a method that combines Delaunay triangulation with local numerical optimization schemes for the generation of accurate skeletons of 3D implicit solid models. The proposed method accelerates the slow convergence of Voronoi diagrams to the skeleton, which, without optimization, would require impractically large sample point sets and resulting meshes to attain acceptable accuracy. The Delaunay triangulation forms the basis for generating the topological structure of the skeleton. The optimization step of the process generates the geometry of the skeleton patches by moving the vertices of Delaunay tetrahedra and relocating their centres to form maximally inscribed spheres. The computational advantage of the optimization scheme is that it involves the solution of one small optimization problem per tetrahedron and its complexity is therefore only linear (O(n)) in the number of points used for the skeleton approximation. We demonstrate the effectiveness of the method on a number of representative solid models.
Keywords: skeleton generation; medial axis; Delaunay triangulation; surface curvature; implicit solid models
Index Terms: Computer aided design; Bodies of revolution; Optimization; Three dimensional computer graphics; Curve fitting; Mathematical morphology; Mathematical models; Algorithms; Skeleton generation; Delaunay triangulation; Free form solid models; Voronoi diagrams
Three main steps:
Let h define the sample spacing, which is assumed small w/r to any surface feature, including the radius of curvature. Then O(h) defines closeness (adjacency), while O(l) defines separate distinct points (non-adjacent).
3 types of Delaunay tetrahedra:
Convergence rate is driven by p = 1/(1-cos t) , where t is the angle at the centre of a maximal sphere with respect to 2 contact points (rays).
The centre of an arbitrary Delaunay tetrahedron, from 4 boundary samples, with at least one O(l) edge length corresponds to the centre of a maximally inscribed sphere w/r to the original bounding surface.
However, Delaunay centres do NOT converge to skeleton points associated with non-G1 contact points, e.g., at necks with discontinuous (tangents) pair of points.
The centre of an arbitrary Delaunay tetrahedron, from 4 boundary samples, with only O(h) edge lengths, corresponds to the centre of a maximally inscribed sphere w/r to the original bounding surface at an edge point.
The convergence rate p above is very small as we get near the edge, since t vanishes (or becomes undeterminate).
Convergence of edge points requires G2 (curvature) smoothness. E.g., at cusps the Delaunay spheres may not converge to skeletal points.
Continue retriangulation (point addition) until no Delaunay facets intersects the boundary. This should ensure that the Voronoi diagram is a superset of the skeleton.
This may create some spurious tetrahedra (very flat, near planar sections of the boundary). These may be detected by checking if the inscribed centre is outside a slightly shrunken version of the original boundary (offset).
A cell-connectivity graph is built on the basis of common cell-edges, and traversed to obtain skeleton patches.
As sampling density augments, the Voronoi diagram remains jagged near boundary edges (convergence is very slow, or there is no convergence if the boundary does not have G2 continuity).
A local optimization problem is set to move the Voronoi vertices faster toward the centers of maximally inscribed spheres. The loci of quadruplets of points defining a tetrahedron are iteratively moved, from their initial position, minimizing the distance between the old centre and the new one, subject to geometric constraints enforcing the maximality of the inscribed sphere.
NB: Not all 4 vertices need be included in the optimization process above in practice. At least 2 distinct vertices prove sufficient in most cases (a pair of close vertices tend to coalesce). The selection of 2 vertices can be based on identifying which of the 2 types of Delaunay tetrahedron is at hand.
NB: Single tangency points, where all 4 points coalesce, may not constitute a maximal sphere, because high-order contact is not specifically enforced in the above local optimization process; hence, the need for an edge optimization model, as summarized below.
Contact points along an edge form a principal curve (a ridge or valley) that is everywhere perpendicular to the transverse direction. For the transverse principal curve, find the locus of maximal (minimal) curvature. The latter provides the new constraint for the local optimization search (based on the gradient of pricipal curvatures). An implicit function, f, is used (the zero level set is the boundary of the object), and formula derived for the optimization process in terms of the gradient and Hessian of f.
NB: Near hyperbolic points or umbilics, this approach will likely fail.
Jayachandra M. Reddy and George Turkiyyah
Computer Aided Design. Vol. 27, No. 9, pp. 677-694, Sept. 1995
The skeletal representation of 3D solids based on the medial axis transform has many applications in engineering. However, these applications are seldom realized, owing to the lack of viable computational techniques for generating skeletons. Such a computational technique, based on a notion of the generalized Voronoi diagram of a set of mixed-dimensional entities [i.e., vertices, edges & faces], is presented. It is shown that the generalized Voronoi diagram of a set of specific mixed dimensional set derived from the set of boundary entities of a polyhedron is, in fact, the exact skeleton of the polyhedron. Rather than the generalized Voronoi diagram being directly computed, its dual, an abstract Delaunay triangulation, is computed, from which the skeleton can be derived. An approach based on the Voronoi diagram of a well chosen representative point set on the boundary is also discussed as a special case; it is shown that the limitations of this approach are overcome by the generalization developed. Overall, it is argued that this generalization of the Voronoi diagram and the notion of the abstract generalized Delaunay triangulation are useful, and that they provide a viable approach to the computation of skeletons. Finally, details of the implementation, results, and an evaluation are presented.
Keywords: medial axis transforms; Voronoi diagrams; Delaunay triangulation.
Skeleton features:
Skeleton = Union of nonredundant midsurfaces defined by a set of entities on the boundary of the object - two such entities are considered: a representative point set on the boundary and the set of all vertices, edges & faces.
Bounded edge: Straight line of finite lenght, bounded by two vertices.
Bounded face: Plane of finite area bounded by a set of bounded edges and vertices.
Oriented face: Bounded face with an associated direction, given by its normal.
Projection Pr(q,E): Projection of point q onto an entity E. It is the intersection of E and the perpendicular to E through q. If E is a point (vertex) than Pr(q,E)=q.
OrientSet(Ei): Set of points s.t. :
Mixed-dimensional set, Sg: consists of vertices, bounded edges, or bounded faces (oriented or not), and it satisfies the following 3 conditions:
Generalized Voronoi diagram of a mixed dimensional set, GV(Sg):
Generalized Delaunay triangulation of a mixed dimensional set, GT(Sg):
Skeleton of polyhedron P, SA(P)
External skeleton, SA'(P): skeleton of the complement of P, P'.
Critical point of SA(P): has 4 or more nearest point on the boundary of P.
Critical axis of SA(P): Loci of points which have 3 or more nearest points on the boundary of P.
The union of all the Voronoi facets whose dual edges are classified as interior make an approximate SA(P).
Boundary Point Set, BPSg : Point set on the boundary of which is:
This is an approximation to the medial axis (axis do not reach curvature extrema, or ridges, in this definition; i.e., axis are not reaching the boundary). It distinguishes outside from inside skeletons. All Voronoi faces crossing the boundary of the polyhedron P are not kept in either skeletons.
A direct computation of GV involves several computations of intersections of quadric patches. Instead the authors computed the dual GT which does not have such intersections.
Start with Delaunay triangles and looks for 4th element to construct a tetrahedron, iteratively.
Page created & maintained by Frederic Leymarie,
2000.
Comments, suggestions, etc., mail to: leymarie@lems.brown.edu