delaunay triangulation
Post on 06-Feb-2016
76 Views
Preview:
DESCRIPTION
TRANSCRIPT
Delaunay TriangulationJyun-Ming ChenReference: deBerg et al.
Fall 2005 2
Important ConceptsAngle vector of T: sorted internal anglesAngle-optimal triangulation T : A(T) A(T’) for all triangulations T’ of P
Fall 2005 3
Important ConceptsIllegal edge, edge-flip and angle-vector
Legality test:
A(T) < A(T’)
[The correctness of this criterion follows from Thales’ theorem]
Fall 2005 4
ProofWe need to show that angle vector gets bigger if illegal edge is flippedThere are six angles in current configuration:
pqr + psr > 180 are the larger ones;the rest four are the smaller ones
Need to show that once flipped, all six new angles are larger than the four old smaller ones
The ordering of angle vector is determined by smallest angle
p
q
s
r
Fall 2005 5
qps > qpr
qsr > qpr
qsp > qrpq
p
r
sThales’ theorem
Fall 2005 6
pqs > prs
qrs > prs
sqr > rps
q
p
r
s
Fall 2005 7
Algorithm
Only flip if ijkl are convex (non-convex cannot flip)It will terminateToo slow to be interestingHow to come up with initial triangulation T ?!
Fall 2005 8
Incremental AlgorithmThis was first suggested by Lawson(77)
Fall 2005 9
Recursive Call
Complication on presence of p-1, p-2, p-3
Fall 2005 10
Swap Test (Text, exercise 9.5)
0
1111
det
22
22
22
22
yxyx
yxyx
yxyx
yxyx
ssssrrrrqqqqpppp p
q
s
rNote the triangle pqr is CCW!
Fall 2005 11
Swap Test (TRIPACK, Renka96)
21
21
sin2sin1cos2cos1sin12sin
sin2 2cos
sin1 1cos
180 if swap
qpqrsrsp
qpqrqpqr
srspsrsp
p
q
s
r
1
2
For numerical robustness (next page):Swap if sin12 - swtol Just check
the sign!!
Fall 2005 12
Numerical Robustnesscocircular Almost cocircular
[do not flip – avoid cycling]
1
2
34
[1]
[2] [3]
[4]
Don’t flipflip
Fall 2005 13
ObservationEvery new edge created due to insertion of pr is incident to pr
This is also called the Bowyer-Watson algorithm
Fall 2005 14
Boywer-Watson Algorithm
Bowyer-Watson triangulation: circum-circles that contain the new point, and the resulting triangulation
Fall 2005 15
Fall 2005 16
1
2
4
35
Create DT(P)•Mark center of circum-circle carefully•Do the in-circle test by comparing distances•Perform all necessary LegalizeEdge steps
(i)
(i)
(i)
-1
-2 -3
Fall 2005 17
1
2
4
35 (i)
-1
-2 -3
(iv)
(0)
Fall 2005 18
1
2
4
35
-1
-2 -3
(iv)
(0)
(iv)
Fall 2005 19
1
2
4
35
-1
-2 -3
(iii)(0)
(i)
Fall 2005 20
1
2
4
35
-1
-2 -3
(0)
(ii)
Fall 2005 21
1
2
4
35
-1
-2 -3
(0)
(iii)
(i)
Fall 2005 22
1
2
4
35
-1
-2 -3
(iii)
(ii)
Fall 2005 23
1
2
4
35
-1
-2 -3
(0)
(0)
Fall 2005 24
1
2
4
35
-1
-2 -3
Fall 2005 25
Fall 2005 26
Fall 2005 27
Fall 2005 28
Fall 2005 29
Fall 2005 30
Fall 2005 31
Fall 2005 32
Edge swap complexity!?
Fall 2005 33
Fall 2005 34
Fall 2005 35
Choosing Initial Trianglefar away so that they don’t influence the DT of P
Don’t want to introduce huge coordinate (numerical errors)
Fall 2005 36
The Choice Suggested by Text
Choose them to contain PModify illegal edge test whenever p-i are involved
p-1 is outside any circles defined by P p-2 is outside any circles defined by P{p-1} p-3 is outside any circles defined by P{p-1,p-2}
Fall 2005 37
Case Analysis: Is pipj legal?[0] Polygon concave: legal[i] Both i&j negative: legal[ii] i,j,k,l positive: normal case[iii] Exactly one of (i,j,k,l) negative: choose
the one with positive as legal[iv]Exactly two of (i,j,k,l) negatives: choose
the one with smaller negative as legal[v] Exactly three of (i,j,k,l) negatives:
cannot occur
Fall 2005 38
Logical Analysis[i,j,k,l]
i<0 j<0 NOT( i<0 j<0)
[i,j,k,l] all positive
[i,j,k,l] one negative
[i,j,k,l] two negative: ij must be one negative
[i,j,k,l] three negative:impossible
Fall 2005 39
Point-Location SubproblemTo locate the triangle containing pr Data structure D
as described in text
Fall 2005 40
Alternate Point-Location Test
Abstract of [Mucke et al. 96]
Fall 2005 41
Explanation from [Kallmann et al.03]
Fall 2005 42
Example
p
Fall 2005 43
AP: EMST (exercise 9.11)(n2) edges, standard MST algorithm O(n2)EMST DGO(nlogn) algorithm to compute EMST for PTSP …
top related