260 likes | 385 Views
Localized Delaunay Refinement for Volumes. Tamal K Dey and Andrew G Slatton The Ohio State University. Problem. Input: Volume O bounded by smooth 2-manifold ∂O Output: Tetrahedral mesh approximates O Constraints: Use a localized framework. Restricted Delaunay.
E N D
Localized Delaunay Refinement for Volumes Tamal K Dey and Andrew G Slatton The Ohio State University
Problem • Input: Volume O bounded by smooth 2-manifold ∂O • Output: Tetrahedral mesh approximates O • Constraints: Use a localized framework
Restricted Delaunay • Del S|M: Collection of Delaunay simplices t where Vt intersects M
Limitations • Traditional refinement maintains Delaunay triangulation in memory • This does not scale well • Causes memory thrashing • May be aborted by OS
Our Contribution • A simple algorithm that avoids the scaling issues of the Delaunay triangulation • Avoids memory thrashing • Topological and geometric guarantees • Guarantee of termination • Potentially parallelizable
Basic Approach • Divide sample in octree and refine each node individually • [DLS10] • Applying to volumes • [DLS10] and [ORY05] • New challenges
Difficulties: Consistency • Without some additional processing, meshes will not fit consistently across boundaries • Addressed in [DLS10]
Difficulties: Termination • Arbitrarily close insertions • Addressed in [DLS10]
Sample points must lie in bounded domain Not a problem in [DLS10] Outside vs inside New Difficulties
New Difficulties • All vertices of restricted triangles must lie on ∂O • May lead to arbitrarily dense refinement
Algorithm • Parameters: • λ • Sizing • Sample density • Approximation quality • κ • Points per node
Algorithm: Overview • Add octree root to processing queue • Process node at head of queue • May split into new nodes or re-enqueue some existing nodes • Repeat this step until queue is empty
Node Processing • Split • Do when |P| > κ, where P = P ∩ • Divide Pamong children of
Node Processing • Refine • Do while |P| ≤ κ • Initialize node with Del(R) = Del(P U N) • When a node is not being refined, keep only P and UpϵPTp
Refinement Criteria • Restricted triangle size, rf < λ • Vertices of restricted triangles lie on ∂O • Topological disk • Voronoi edge intersects at most once • Tetrahedron size, rt < λ • Radius-edge ratio, ratio < 2
Point Insertion • Strategy is similar to that in [DLS10] • Termination • Key difference: We may delete some points after an insertion • Topological guarantees • Does not prevent termination
Reprocessing • Re-enqueue ’ if ≠ ’ inserts new point q in P’ or N’ • Necessary for consistency
Output • Output UpϵPTp • Union of all UpϵPTp over all nodes in octree
Termination • Theorem 1: The algorithm terminates. • Use a packing argument to prove this
Termination • Each refinement criterion implies some LB • (C1)→d’ss≥ min{dss,λ} and d’sv≥ min{dsv,λ} • (C2)→d’ss≥ min{dss,dsv/2,dvv/2} and d’sv≥ min{dsv,λ} • (C3)→d’ss≥min{dss,λ∂O} and d’sv≥ min{dsv,λ} • (C4)→d’ss≥ min{dss,λ*} and d’sv≥ min{dsv,λ} • (C5)→d’sv≥ min{dsv,λ} and d’vv≥ min{dvv,λ}. • (C6)→d’sv,d’vv≥ min{2dss,dsv,dvv} or d’ss≥ min{dss,dsv,dvv}. • Apply results from [CDRR07], [BO05], [Dey06], [AB99]
Topology & Geometry • Theorem 2: • T=UpTp is subcomplex of Del P|O • ∂T is a 2-manifold without boundary • Output is no more then λ distance from O • For small λ: • T is isotopic to O • Hausdorff distance O(λ2)
Closing Remarks • Key observations • Localized beats non-localized • We are faster than CGAL • Shortcomings • Slivers • Future work • Sliver elimination • Piecewise-smooth complexes