Generating Well-Shaped Delaunay Mesh Xiang-Yang Li Department of Computer Science Illinois Institute of Technology
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Outline Preliminaries Considered questions and previous works Our Solutions: perturbation refinement 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
BioGeometry: Geometry & Biology Representation of molecular structures and the simulation of biochemical processes ligand-to-protein docking, ab initio structure prediction, and protein folding Drug and protein design Focus on geometric and topological representations “geometric methods should be an essential component of any attempt to understand and simulate biological systems” 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Delaunay & Biology Delaunay tessellations and Voronoi diagrams capture proximity relationships among sets of points. When applied to points representing protein atoms or residue positions, they are used to compute molecular surfaces and protein volumes, to define cavities and pockets, to analyze and score packing interactions, and to find structural motifs Almost Delaunay Tessellation (ACM SODA’04) 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Meshes Modeling and Scientific Computing 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Meshes Biology, by Herbert Edelsbrunner et al. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Quality: Aspect Ratio R R: circumradius; r r: inradius For numerical simulation, the accuracy and convergence depends on the quality of the mesh elements, I.e., the aspect ratio of the element. Generally, we can define the aspect ratio as the radius of the smallest sphere containing the element over the radius of the largest sphere contained in the element. Notice this definition also applies to non-simplex. But in our work, we use the radius-edge ratio to measure the quality of the element. Which is defined as the ratio of the radius of the circumsphere over the length of the shortest edge of the simplex. Notice that if an element has good aspect ratio, then it always has good radius edge ratio. But not vice versa--- sliver is the only element that has good radius-edge ratio, but its aspect ratio can be as large as infinite. Aspect ratio: R/r 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Badly Shaped Element Wedge Spade For numerical simulation, the accuracy and convergency depends on the quality of the mesh elements, I.e., the aspect ratio of the element. Generally, we can define the aspect ratio as the radius of the smallest sphere containing the element over the radius of the largest sphere contained in the element. Notice this definition also applies to non-simplex. But in our work, we use the radius-edge ratio to measure the quality of the element. Which is defined as the ratio of the radius of the circumsphere over the length of the shortest edge of the simplex. Notice that if an element has good aspect ratio, then it always has good radius edge ratio. But not vice versa--- sliver is the only element that has good radius-edge ratio, but its aspect ratio can be as large as infinite. Spire Spear Spindle Spike Splinter Cap Sliver 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Radius-Edge Ratio aspect ratio R/r R/L ratio R r R L For numerical simulation, the accuracy and convergence depends on the quality of the mesh elements, I.e., the aspect ratio of the element. Generally, we can define the aspect ratio as the radius of the smallest sphere containing the element over the radius of the largest sphere contained in the element. Notice this definition also applies to non-simplex. But in our work, we use the radius-edge ratio to measure the quality of the element. Which is defined as the ratio of the radius of the circumsphere over the length of the shortest edge of the simplex. Notice that if an element has good aspect ratio, then it always has good radius edge ratio. But not vice versa--- sliver is the only element that has good radius-edge ratio, but its aspect ratio can be as large as infinite. L: shortest edge length 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Sliver R c L q r s p Small R/L Large aspect ratio bad numerical accuracy 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Delaunay Triangulation c Delaunay triangulation is widely used in the mesh generation area. In 3D, a mesh is Delaunay, if for any tetrahedron, its circumsphere does not contain any mesh vertex inside. Notice that, in 2D, Delaunay triangulation always maximize the minimal angle among all possible triangulations. But in 3D, it does not maximize the minimal dihedral angle among all triangulations. For every simplex (triangle in 2D, tetrahedron in 3D), circumsphere B(c, R) is empty. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Examples p q r s s r p q Delaunay triangulation is widely used in the mesh generation area. In 3D, a mesh is Delaunay, if for any tetrahedron, its circumsphere does not contain any mesh vertex inside. Notice that, in 2D, Delaunay triangulation always maximize the minimal angle among all possible triangulations. But in 3D, it does not maximize the minimal dihedral angle among all triangulations. No Yes 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Generate Small R/L Delaunay Mesh Delaunay Refinement (Chew, Ruppert, Shewchuk) Generate mesh using input points add circumcenter of simplex with large R/l >2; enforce boundary protection Repeat until no large R/L Generate mesh with bounded R/L Sphere-packing (Miller, Teng et al.) 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Encroachment x y r v c x y r v c z C encroaches subfacet if it is inside equatorial sphere of xyz C encroaches subsegment if it is inside diametral sphere of xy 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Boundary treatment Encroachment (Ruppert, Shewchuk) Bad simplex Encroached subfacet Encroached segment 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Considered Questions Given a 3D PLC domain, generate Sliver-free (with small aspect ratio) Delaunay mesh 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Priori Art: Sliver Exudation Weighted Delaunay (Cheng-Dey-Edelsbrunner-Facello-Teng [SCG99]) Generate Delaunay mesh with small R/L assign weights to mesh points mesh with weighted Delaunay triangulation p2 q2 u v Dist(u,v)2=uv2-(p+q)2 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Pros and Cons No slivers inside the domain No boundary treatments! Impossible to guarantee sliver-free totally Need implement weighted Delaunay 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Our solutions Perturbation based method First eliminate elements with large R/L Then perturb vertices Refinement based method add points inside the bad elements Then eliminate slivers Eliminate all created elements with large R/L first 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Observation For qrs, small region for p to form sliver pqrs Select p out of this region! r R R < r L e 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Sliver region Parameterizing sliver Sliver region Rqrs R c L q r s p q r s f Y Torus region volume < C(r) s2N(p)3 Sliver: V/L3 < s ( from Sliver Exudation) 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Smoothing and Cleaning-up Slivers The topic of my Ph.D thesis proposal is Generating High quality mesh and its applications.
Approach: Point Perturbation For qrs, the region of p to form sliver pqrs is small Move p out of this region! q r s f Y 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT w-Perturbation S’: a w-perturbation of point set S. for v of S, v’ is in B(v, wN(v)) where w <0.5 depends on R/l. wN(v) v N(v) 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
R/L for perturbed points Assume S is a periodic point set Del(S’) has bounded R/L, if w is small Proof omitted 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Circular Dependency? Perturbing p may create new slivers nonincident to p! p’ p 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Break circular dependency union graph G=(V,E): V is mesh vertices set. if exist perturbation so (p’q’) in Del(S’), then (p,q) in E. constant degree: G has constant degree D depends on R/L constant C tetrahedra incident in all Del(s’) 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Subregion Existence All tori regions can not cover the perturbation ball! q r s f Y wN(p) p N(p) Volume =4p(wN(p))3/3 volume < C s2N(p)3 Need: D *C s2N(p)3 < 4p(wN(p))3/3 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Algorithm Input: an almost good mesh M. S is vertex set of M. Smooth_Away_Sliver(M) compute the union complex K of S; perturb points in S; construct the Delaunay triangulation of S’. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Pros and Cons Consider periodic point set (as exudation) S=S0+Z3, where S0 is points in half-open unit cube. No boundary treatment w is too small! However, get Delaunay meshes! 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Removing Slivers by Refinement The topic of my Ph.D thesis proposal is Generating High quality mesh and its applications.
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Algorithm Outline For any tet (with R/L>r) add its circumcenter c For any sliver Find a point p near its circumcenter c, s.t. inserting p avoids small slivers Insert point p and update the Del. triangulation If c encroaches boundary apply boundary protection instead 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Need What? Need: What is near? What is small sliver? Existence of such p? Termination guarantee? 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Near Center: Picking region dR sphere (c, dR), where d < 1 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Small Slivers: Need To Avoid c d R Rt p Tet t is small sliver if: Rt < b R Where b>1 is a constant. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Existence: Constant Small Slivers Constant triangles form slivers with points in picking region Almost good mesh: constant lengths variation. e E p v 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Termination: Flow of Bad Tet Original Slivers Insert point Created Slivers Tet with R/L > r High priority 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Shortest Edge Is Not Short! Parent element f(t) Tet t (with R/L > r, or slivers) Created tet m (good or bad) Lf(t) Lt Lm 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Termination Guarantee! Step 1: eliminating R/L > r If r>2, then the shortest edge of the mesh does not decrease! R c 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Termination Guarantee! Step 2: eliminating sliver t If t sliver f(t) Shortest edge > (1-d)b Lf(t) /4 If t f(t) with R/L>r Shortest edge > (1-d)r Lf(t) /2 R c d R Rt p 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Split Original Slivers c l q r s p R>L/2 L’=(1-d)R > L (1-d)/2 Decrease bounded! 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Split Created Slivers Rt > b R R > L/2 R c d R Rt p L’ > (1-d)bR > L (1-d)b/2 Split this sliver 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Split Large R/L R c R>r L L’ >(1-d) r L 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Split Subfacets x bf(y) R v d R c r c inside (v,R) L’ > (1-d) r /2 R>r/2 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Split Subsegments x bf(y) R v d R c r c inside (v,R) L’ > (1-d) r /2 R>r/2 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Termination Guarantee! Guaranteed to terminate, if (1-d)r > 8 and (1-d)b > 4 Shortest edge length is at least (1-d)/4 of original 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Good Grading N(v) ~ lfs(v) Define ev: shortest edge incident v Define parent p of v Show ev >c ep Relate ev with lfs(v) for input v Relate ev with N(v) for all v. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Local Feature Size lfs(x) The radius of the smallest sphere at x intersects or contains two non-incident input features. u v y p x In previous slide, we say the a spacing function specifies the desired element size. So what is the element size? Usually, we use the nearest neighbor function, or edge length function to define the element size of point x. The nearest neighbor function of a point x is the distance to its second nearest mesh vertex. ( Notice here, if x is mesh vertex, then x is the nearest vertex of itself.) Edge length of a point x is the length of the longest edge of all elements contain x. q 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Nearest neighbor N(x) distance to the nearest mesh vertex, if x is vertex distance to the second nearest mesh vertex, otherwise x y z y x In previous slide, we say the a spacing function specifies the desired element size. So what is the element size? Usually, we use the nearest neighbor function, or edge length function to define the element size of point x. The nearest neighbor function of a point x is the distance to its second nearest mesh vertex. ( Notice here, if x is mesh vertex, then x is the nearest vertex of itself.) Edge length of a point x is the length of the longest edge of all elements contain x. 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Mesh Size Size at constant factor of well-shaped meshes. N(v) ~lfs(v) for well-shaped mesh! 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Merits R/L as good as Delaunay Refinement Theoretic Dihedral angle much better Complete boundary treatment Good grading guarantee Easy implementation! 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Weighted Delaunay and Refinement Cheng and Dey (2002) Combine weighted Delaunay triangulation and our Delaunay refinement method It is deterministic It can also handle domain boundary 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
XiangYang Li, Well-Shaped Delaunay Mesh, IIT Acknowledgment H. Edelsbrunner, G. Miller, A. Stathopoulos, D. Talmor, S.-H. Teng, A. Ungor, N. Walkington 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT
Questions and Comments 12/1/2018 4:10 AM XiangYang Li, Well-Shaped Delaunay Mesh, IIT