W eierstraß-institut für Angew andte Analysis und Stochastik 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations Hang Si Weierstrass Institute for Applied Analysis and Stochastics Berlin, Germany Tetrahedron II 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 1 (29)
Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 2 (29)
he Problem Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 3 (29)
he Problem The 3D Boundary Recovery Problem Given a 3D polyhedron P, its edges and faces are called the boundaries. The goal is to partition P into a tetrahedralization T which may contain additional points (so called Steiner points (1) ). Steiner points are not allowed on boundaries of P (for some applications). A polyhedron P A tetrahedralization T of P (1) Jakob Steiner (1796 1863), a Switzerland native and a geometer from Berlin. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 4 (29)
he Problem Known and Open Problems If Steiner points are not allowed: A simple polyhedron may not have a tetrahedralization. [Schönhardt 28] The problem of deciding whether P can be tetrahedralized is NP-complete. [Rupper and Seidel 92] If Steiner points are allowed: A simple polyhedron with n vertices may require Ω(n 2 ) Steiner points. [Chazelle 84] How to reduce the number of Steiner points? How to improve the quality of the boundary recovery (any guarantee on element shape)?... 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 5 (29)
he Problem Challenges In realistic applications, the robustness and efficiency of handling complicated domain boundaries remain a big challenge. The surface mesh of a floating oil platform with helical strakes. (F. Shakib, ACUSIM) 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 6 (29)
elated Work Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 7 (29)
elated Work Convex Decomposition Methods Convex polyhedra are easy to tetrahedrlize. Algorithms: [Chazelle 84], [Chazelle and Palios 90] (1), [Bajaj and Dey 92], etc. The complexities of the above algorithms are guaranteed. (1) If P is simple, it can be decomposed into O(n + r 2 ) tetrahedra. A number of non-practical issues: very complicated, result large number of Steiner points, no quality concern, etc. A simple ployhedron with A result of algorithm (1). 20 vertices, 2 reflex edges 138 nodes, 280 tetrahedra. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 8 (29)
elated Work Constrained Boundary Recovery Methods (Popular in Engineering) No Steiner points are allowed on boundaries. Algorithms: [George, Hecht, and Saltel 91] (1), [Weatherill and Hassan 94] (2), [George, Borouchaki, and Saltel 03], etc. (1) Use edge/face flips together with interior Steiner points insertion. (2) Insert Steiner points at where the boundaries and T intersect, remove them from the boundaries afterwards. A number of difficulties, e.g., robustness, 3D point deletion, complexity. a b a b a b 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 9 (29)
elated Work Constrained Boundary Recovery Methods (Popular in Engineering) No Steiner points are allowed on boundaries. Algorithms: [George, Hecht, and Saltel 91] (1), [Weatherill and Hassan 94] (2), [George, Borouchaki, and Saltel 03], etc. (1) Use edge/face flips together with interior Steiner points insertion. (2) Insert Steiner points at where the boundaries and T intersect, remove them from the boundaries afterwards. A number of difficulties, e.g., robustness, 3D point deletion, complexity. a b a b a b 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 9 (29)
elated Work Conforming Delaunay Methods (Popular in Computational Geometry) Use Delaunay simplices to recover the boundaries. Algorithms: [Murphy, Mount, and Gable 00], [Cohen-Steiner, de Verdière, and Yvinec 02], [Cheng and Poon 03], etc. May need too many Steiner points. An Ω(n 2 ) lower bound example on the number of Steiner points. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 10 (29)
elated Work Constrained Delaunay Methods Use constrained Delaunay simplices to recover the boundaries. Algorithms: [Shewchuk 98,02,03], [Si and Gärtner 04,05]. Conforming Delaunay method Constrained Delaunay method 51 vertices, 103 tetrahedra 20 vertices, 29 tetrahedra. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 11 (29)
efinitions Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 12 (29)
efinitions Piecewise Linear Complexes Definition 3.1. A piecewise linear complex (PLC) X is a collection of faces with the following properties: 1. Each k-face f is a union of polytopes in the same k-dimensional affine space. 2. The set X is closed under taking boundaries. 3. X is closed under intersection. 4. If dim(f 1 f 2) = dim(f 1) then f 1 f 2, and dim(f 1) < dim(f 2). A PLC non-plcs 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 13 (29)
efinitions Notations Let X be a 3D PLC, i.e., X is a collection of faces of dimensions up to 3. The underlying space X is the union of all faces of X. A tetrahedralization T of X is a 3D simplicial complex such that T = X. The boundary X is a 2D PLC, and 2 X = ( X) is a 1D PLC. Let f X, i.e., f may be a vertex, or a segment, or a facet. The relatively interior relint(f) = f \ f. f f relint(f) 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 14 (29)
efinitions Visibility Definition 3.2. Two points p, q R 3 are visible to each other if: (i) relint(pq) X =, or (ii) f X, s.t. pq f = pq, and relint(pq) f =. Otherwise, p and q are invisible to each other. p x r z y q 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 15 (29)
efinitions Constrained Delaunay Definition 3.3. A tetrahedron t is constrained Delaunay within X if: (i) relint( i t) i+1 X =, for all i = 0,..., 3, and (ii) The circumsphere of t contains no vertex which is visible from relint(t). d c a b p f q 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 16 (29)
efinitions Constrained Delaunay Tetrahedralization Definition 3.4. T is a constrained Delaunay tetrahedralization (CDT) of X if: (i) T is a tetrahedralization of X, and (ii) every tetrahedron of T is constrained Delaunay within X. A PLC X A CDT T of X. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 17 (29)
efinitions Constrained Delaunay Tetrahedralization Definition 3.4. T is a constrained Delaunay tetrahedralization (CDT) of X if: (i) T is a tetrahedralization of X, and (ii) every tetrahedron of T is constrained Delaunay within X. A PLC X A CDT T of X. Remarks: (1) A CDT T of X may contain Steiner points (Steiner CDT). (2) T is a pure CDT of X if T contains no Steiner point. (3) A pure CDT of X may not exist, while there are infinitely many Steiner CDTs of X. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 17 (29)
efinitions Combinatorial Properties of CDTs Let K be any constrained tetrahedralization of X, f X. A face abc K is locally constrained Delaunay if abc f = abc, or abc is a convex hull face, or e lies outside the circumsphere of abcd, where abcd, abce K. d d a c a c b b e Lemma 3.5 (Constrained Delaunay Lemma). If every face of K is locally constrained Delaunay, then K is a CDT of X. Lemma 3.6 (Uniqueness). If no 5 vertices of T share a common sphere, then T is unique. e 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 18 (29)
efinitions CDTs with no Steiner point Let X be a 3D PLC. A simplex t is strongly Delaunay if there exists a circumscribed sphere Σ of t, such that no vertex of X lies inside and on Σ. Theorem 3.7 ([Shewchuk 98]). If all segment of X are strongly Delaunay, then X has a CDT with no Steiner point. A PLC X A PLC X Corollary 3.8. If no 5 vertices of X share a common sphere, and all segment of X are Delaunay, then X has a CDT with no Steiner point, and it is unique. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 19 (29)
lgorithms Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 20 (29)
lgorithms Constructing the CDT of a PLC Given a 3D PLC X, a CDT is constructed in the following subsequent phases: (1) Form the Delaunay tetrahedralization T of the vertices of X. (2) Form the surface triangulation F from the facets of X. (3) Perturb the vertices in F and T (add Steiner points). (4) Recover the segments of F in T (add Steiner points). (5) Recover the facets of F in T. (6) Remove tetrahedra outside X from T. (7) Remove Steiner points from X (for constrained boundary recovery). 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 21 (29)
lgorithms Segment Recovery Protecting Sharp Corners Corner lopping [Ruppert 95, Shewchuk 02, Pav and Walkington 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Corner lopping [Ruppert 95, Shewchuk 02, Pav and Walkington 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Corner lopping [Ruppert 95, Shewchuk 02, Pav and Walkington 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Segment Recovery Protecting Sharp Corners Protect sharp corner adaptively [Si and Gärtner 05]. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 22 (29)
lgorithms Facet Recovery Cavity Tetrahedralization A cavity C is tetrahedralized by the following procedure. 1. Verify C. Enlarge C until all faces of C are Delaunay. e1 e2 e1 e2 p1 σ p2 p1 σ p2 q1 q2 q1 q2 2. Tetrahedralize C. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 23 (29)
xamples Outline 1 3D Boundary Recovery The Problem Related Work 2 Constrained Delaunay Tetrahedralizations Definitions Algorithms Examples 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 24 (29)
xamples Example 1 Cami1a A 3D PLC The DT The surface mesh 460 vertices, 328 facets 2637 tetrahedra 954 subfaces, 706 segments A CDT Facet recovery Segment recovery with 505 Steiner points 22 missing subfaces 213 + 292 Steiner points 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 25 (29)
xamples Example 2 Layers A single-layer PLC The DT 114 vertices, 1 facets 293 tetrahedra A CDT with 2 Steiner points The pure CDT (no Steiner point) 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 26 (29)
xamples Example 2 Layers A 5-layer PLC The DT 130 vertices, 5 facets 391 tetrahedra A CDT with 10 Steiner points The pure CDT (no Steiner point) 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 26 (29)
xamples Complexity Issues n the number of input points, s the number of Steiner points, m the number of output points (i.e., m = n + s). Steps Algorithms Worst case General case (1) Delaunay tetrahedralization O(n 2 ) O(n log n) (2) Surface triangulation O(n log n) (3) Vertex perturbation [Si et al 05] O(n log n) (4) Segment recovery [Si et al 05] O(sn 2 log n) O(s log n) (5) Facet recovery [Shewchuk 03] O(m 2 log m) 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 27 (29)
xamples Runtime Statistics The PLC models are available from INRIA s repository (http://www-c.inria.fr/gamma/). Tested by TetGen (compiled by g++ with -O3 option) on a linux workstation (Intel CPU 3.60GHz, 8GB). Times are reported in seconds. Heart Fan Crystal Dragon Mech. Input nodes 3,588 6,516 11,706 21,104 57,270 Input faces 7,620 13,180 26,399 41,963 114,680 Steiner points 3,622 4,992 10,789 1,817 1,963 DT 0.22 0.41 0.81 1.61 4.85 Surfmesh 0.03 0.10 0.15 0.13 0.38 Perturb 0.10 0.18 0.42 0.65 1.80 Segment 0.28 0.37 0.97 0.24 0.51 Facet 0.06 0.07 0.64 0.12 0.31 Total 0.69 1.13 2.99 2.75 7.85 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 28 (29)
Summary 3D Boundary Recovery remains a challenging problem in both theory and practice. Constrained Delaunay methods are one of the effective methods for solving the problem. We gave an overview about constrained Delaunay tetrahedralizations: definitions, algorithms, and complexity issues. Segment recovery is one of the crucial steps for constructing CDTs. 3D Boundary Recovery and Constrained Delaunay Tetrahedralizations October 17, 2007 29 (29)