Title: Generating Well-Shaped Delaunay Mesh
1Generating Well-Shaped Delaunay Mesh
- Xiang-Yang Li
- Department of Computer Science
- Illinois Institute of Technology
2Outline
- Preliminaries
- Considered questions and previous works
- Our Solutions
- perturbation
- refinement
3BioGeometry 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
4Delaunay 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 SODA04)
5Meshes
Modeling and Scientific Computing
6Meshes
Biology, by Herbert Edelsbrunner et al.
7Quality Aspect Ratio
Aspect ratio R/r
8Badly Shaped Element
Wedge
Spade
Spire
Spear
Spindle
Spike
Splinter
Cap
Sliver
9Radius-Edge Ratio
- aspect ratio R/r R/L ratio
L
L shortest edge length
10Sliver
- Small R/L
- Large aspect ratio
bad numerical accuracy
11 Delaunay Triangulation
For every simplex (triangle in 2D, tetrahedron in
3D), circumsphere B(c, R) is empty.
12Examples
s
r
p
q
No
Yes
13Generate Small R/L Delaunay Mesh
- Delaunay Refinement (Chew, Ruppert, Shewchuk)
- Generate mesh using input points
- add circumcenter of simplex with large R/l gt2
- enforce boundary protection
- Repeat until no large R/L
- Generate mesh with bounded R/L
- Sphere-packing (Miller, Teng et al.)
14Encroachment
C encroaches subfacet if it is inside equatorial
sphere of xyz
C encroaches subsegment if it is inside diametral
sphere of xy
15Boundary treatment
- Encroachment (Ruppert, Shewchuk)
Encroached segment
Encroached subfacet
Bad simplex
16Considered Questions
- Given a 3D PLC domain, generate
- Sliver-free (with small aspect ratio)
- Delaunay mesh
17Priori 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
Dist(u,v)2uv2-(pq)2
18Pros and Cons
- No slivers inside the domain
- No boundary treatments!
- Impossible to guarantee sliver-free totally
- Need implement weighted Delaunay
19Our solutions
- Perturbation based method
- First eliminate elements with large R/L
- Then perturb vertices
- Refinement based method
add points inside the bad elements - First eliminate elements with large R/L
- Then eliminate slivers
- Eliminate all created elements with large R/L
first
20Observation
- For qrs, small region for p to form sliver pqrs
- Select p out of this region!
R lt r L
e
21Sliver region
Parameterizing sliver
Sliver region Rqrs
Torus region volume lt C(r) s2N(p)3
Sliver V/L3 lt s ( from Sliver Exudation)
22Smoothing and Cleaning-up Slivers
23Approach Point Perturbation
- For qrs, the region of p to form sliver pqrs is
small - Move p out of this region!
24w-Perturbation
- S a w-perturbation of point set S.
- for v of S, v is in B(v, wN(v))
where w lt0.5 depends on R/l.
25R/L for perturbed points
- Assume S is a periodic point set
- Del(S) has bounded R/L, if w is small
- Proof omitted
26Circular Dependency?
- Perturbing p may create new slivers nonincident
to p!
27Break circular dependency
- union graph G(V,E)
- V is mesh vertices set.
- if exist perturbation so (pq) 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)
28Subregion Existence
All tori regions can not cover the perturbation
ball!
Volume 4p(wN(p))3/3
volume lt C s2N(p)3
Need D C s2N(p)3 lt 4p(wN(p))3/3
29Algorithm
- 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.
30Pros and Cons
- Consider periodic point set (as exudation)
- SS0Z3, where S0 is points in half-open unit
cube. - No boundary treatment
- w is too small!
- However, get Delaunay meshes!
31Removing Slivers by Refinement
32Algorithm Outline
- For any tet (with R/Lgtr)
- 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
33Need What?
- Need
- What is near?
- What is small sliver?
- Existence of such p?
- Termination guarantee?
34Near Center Picking region
sphere (c, dR), where d lt 1
35Small Slivers Need To Avoid
Tet t is small sliver if Rt lt b R Where bgt1 is
a constant.
36Existence Constant Small Slivers
- Constant triangles form slivers with points in
picking region - Almost good mesh constant lengths variation.
37Termination Flow of Bad Tet
Original Slivers
Insert point
Created Slivers
Tet with R/L gt r
High priority
38Shortest Edge Is Not Short!
39Termination Guarantee!
- Step 1 eliminating R/L gt r
- If rgt2, then the shortest edge of the mesh does
not decrease!
40Termination Guarantee!
- Step 2 eliminating sliver t
- If t sliver f(t)
- Shortest edge gt (1-d)b Lf(t) /4
- If t f(t) with R/Lgtr
- Shortest edge gt (1-d)r Lf(t) /2
41Split Original Slivers
RgtL/2
L(1-d)R gt L (1-d)/2
Decrease bounded!
42Split Created Slivers
Rt gt b R R gt L/2
L gt (1-d)bR gt L (1-d)b/2
Split this sliver
43Split Large R/L
Rgtr L
L gt(1-d) r L
44Split Subfacets
45Split Subsegments
46Termination Guarantee!
- Guaranteed to terminate, if
- (1-d)r gt 8 and
- (1-d)b gt 4
- Shortest edge length is at least
- (1-d)/4 of original
47Good Grading
- N(v) lfs(v)
- Define ev shortest edge incident v
- Define parent p of v
- Show ev gtc ep
- Relate ev with lfs(v) for input v
- Relate ev with N(v) for all v.
48Local 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
q
49Nearest neighbor N(x)
- distance to the nearest mesh vertex, if x is
vertex distance to the second nearest mesh
vertex, otherwise
50Mesh Size
- Size at constant factor of well-shaped meshes.
- N(v) lfs(v) for well-shaped mesh!
51Merits
- R/L as good as Delaunay Refinement
- Theoretic Dihedral angle much better
- Complete boundary treatment
- Good grading guarantee
- Easy implementation!
52Weighted 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
53Acknowledgment
- H. Edelsbrunner, G. Miller, A. Stathopoulos, D.
Talmor, S.-H. Teng, A. Ungor, N. Walkington
54Questions and Comments