Introduction Related work Algorithm Results Skeleton computation of orthogonal polyhedra J. Martinez 1 M. Vigo 1 , 2 N.Pla 1 , 2 1 Polytechnical University of Catalonia (UPC) 2 Bioengineering Institute of Catalonia (IBEC) Symposium on Geometry Processing, 2011 J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Introduction Skeletons are powerful geometric abstractions that provide use- ful representations for a number of geometric operations. We require to compute the skeleton of very large datasets storing Orthogonal Polyhedra (OP). We need to treat geometric degeneracies that usually arise when dealing with OP. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Contributions A novel geometric approach so as to robustly compute the skele- ton of orthogonal polyhedra. Our approach relies on the plane sweep paradigm and is output sensitive. The skeleton is only composed of axis-aligned and 45 ◦ rotated planar faces and has a low combinatorial complexity compared with the medial axis. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Related work The most well-known skeletal representation is the medial axis. An alternative skeletal representation to the medial axis is the straight skeleton. The straight skeleton of polyhedra can be defined in terms of an offset process in which the faces move inward at a constant speed. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Related work Medial axis of OP Straight skeleton of OP n 3 + ǫ � � n 2 � - Complexity O , ǫ > 0 � - Complexity O - Composed of quadric surfaces - Composed of planar faces - Subset of Voronoi diagram L 2 - Coincides with Voronoi dia- gram L ∞ ( VD ∞ ) J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Related work To the best of our knowledge the only algorithm that addresses the construction of straight skeletons of polyhedra and OP was presented by Barequet et al. [BEGV08]. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Algorithm overview Let P be an OP. Let L be the sweep plane perpendicular to the z-axis ( z = t ). The sweep is done by decreasing the value of t . z J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Algorithm overview Definition At any moment t , L partitions the features of P into three subsets: A t corresponds to those that lie fully above of L , I t corresponds to those that intersect L , and B t corresponds to those that lie fully below of L . C t is composed of the portion of I t that lies above L . L t is the set of faces of P contained in L plus the portion of L that belongs to the interior of P . Algorithm invariant At every instant t of the sweeping process the VD ∞ of A t ∪ C t ∪ L t is computed. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Algorithm overview L stops whenever a new event is found: Vertex event : A vertex v of P and a ray associated to v . Junction event : Centre of a cube touching four faces of P . Property The wavefront is the portion of the VD ∞ induced by L t and is mono- tone in the z-axis direction. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Algorithm overview Algorithm R ← ∅ E ← All the vertex events induced by P while E � = ∅ do e ← pop ( E ) if e is valid then Update the straight skeleton according to e Insert in R new ray/s induced by e Remove from R closed ray/s of e Update wavefront Compute nearest junction of new ray/s end if end while J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Vertex event The vertices of a two-manifold OP can be classified into three types depending on the number of incident faces. If a vertex of P has more than three incident oriented faces it produces more than one ray. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Junction event We distinguish two types of junction events: Ray-ray junction : Two rays of R may define a Voronoi vertex. Two new rays emanate from the junction. Ray-face junction : A ray of R and a face of P may define a Voronoi vertex. Three new rays emanate from the junction. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Ray-ray junction f 3 ( f 1 , f 2 , f 3 ) f 2 f 1 ( f 1 , f 2 , f 4 ) ( f 1 , f 3 , f 4 ) f 4 ( f 2 , f 3 , f 4 ) J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Ray-face junction f 4 ( f 1 , f 3 , f 4 ) ( f 2 , f 3 , f 4 ) f 3 ( f 1 , f 2 , f 3 ) f 1 f 2 ( f 1 , f 2 , f 4 ) J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Wavefront update We insert or remove graph vertices and locally update the con- nectivity of the wavefront graph when a new event occurs. The wavefront update of a ray-ray junction is done by checking the finite set of neighbouring rays of the closed rays. The wavefront update of a ray-face junction is done by retrieving the wavefront edge intersected by the ray. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Nearest junction computation To detect the nearest ray-ray junction of a ray we check its neighbouring wavefront rays. If a ray has a negative orientation in the z-axis direction we retrieve the intersected wavefront edge. If a ray has a positive orientation in the z-axis direction we retrieve the intersected wavefront face. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Computational complexity We have to process k events that correspond to the number of vertices of the straight skeleton. Lemma The straight skeleton of orthogonal polyhedra can be straightfor- wardly computed in O ( kn ) time. Lemma The straight skeleton of orthogonal polyhedra can be computed in O ( klog c n ) , for a constant c. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Handling geometric degeneracies We distinguish two kind of geometrical degeneracies: Coplanar faces Coincident faces If a degeneracy is detected, we simulate a perturbation in order to break it. We assign a symbolical offset to each face. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Coplanar degeneracies J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Algorithm overview Related work Events Algorithm Wavefront and junction update Results Geometric degeneracies Coincident degeneracies J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Results We computed the straight skeleton of some representative ob- jects in order to check the robustness and compared our ap- proach with an optimized thinning method. We obtained better results. The algorithm has been implemented in C++ and the source code consists of about 3000 lines of code. J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Results J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Introduction Related work Algorithm Results Results J. Martinez, M. Vigo, N.Pla Skeleton computation of orthogonal polyhedra
Recommend
More recommend