Professional Documents
Culture Documents
Πτυχιακή Εργασία παραγωγη πλεγματος Delauney
Πτυχιακή Εργασία παραγωγη πλεγματος Delauney
Πτυχιακή Εργασία
1 Ιουλίου 2019
iii
Ημερομηνία:
v
“Being perfect is the only mistake that you can never learn from.”
Σπυρίδων Τσαλίκης
vii
Περίληψη
Σχολή Θετικών Επιστημών
Τμήμα Πληροφορικής
Ευχαριστίες
Η υλοποίηση και η συγγραφή αυτής της πτυχιακής εργασίας δεν ήταν εύκολο κατόρθωμα.
Στην προσπάθειά μου όμως αυτή στάθηκα ιδιαίτερα τυχερός έχοντας τους καλύτερους συνο-
δοιπόρους.
Ευχαριστώ θερμά τους επιβλέποντες καθηγητές μου, κυρία Αθηνά Βακάλη και κύριο Νίκο
Χρυσοχοΐδη για το χρόνο που μου διέθεσαν, και τους δρόμους που άνοιξαν στις σκέψεις
μου με τις χρήσιμες συμβουλές και υποδείξεις τους. Χάρη σε αυτούς βρήκα την κλίση μου
στον τομέα της Πληροφορικής και ανακάλυψα την πορεία που θα ήθελα να ακολουθήσω ως
επιστήμονας…
xi
Περιεχόμενα
Περίληψη vii
Ευχαριστίες ix
1 Εισαγωγή 1
1.1 Ευκλείδειοι Χώροι . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Simplices και Συμπλέγματα . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Closures, stars και links . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Υποκείμενοι χώροι . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Χαρακτηριστικά ενός Τριγώνου . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Μέτρηση ενός στοιχείου . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Βιβλιογραφία - Αναφορές 97
xiii
Κατάλογος σχημάτων
6.1 Εκτέλεση της MADD και αξιοποίησης του αποτελέσματος αυτής για Παράλ-
ληλη Παραγωγή Πλέγματος . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2 Delaunay τριγωνοποίηση και μερικοί διαχωριστές . . . . . . . . . . . . . . . 75
6.3 Ν-Way αποσυνθέσεις Τομέα . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.4 Εξομάλυνση διαχωριστών . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.5 Βασικές εντολές του MaddInterface . . . . . . . . . . . . . . . . . . . . . . 81
6.6 Τα τρία γεωμετρικά μοντέλα τομέα . . . . . . . . . . . . . . . . . . . . . . . 82
6.7 Αποτελέσματα καταμέτρησης του πλήθους των ευθυγράμμων τμημάτων συ-
μπεριλαμβανομένου των διαχωριστών . . . . . . . . . . . . . . . . . . . . . 83
6.8 Αποτελέσματα καταμέτρησης του χρόνου εκτέλεσης . . . . . . . . . . . . . 83
Συντομογραφίες
Αφιερωμένο στους γονείς μου και στους θείους μου, Κώστα και
Διονύση, οι οποίοι με εισήγαγαν στον κόσμο των Μαθηματικών. Σας
ευχαριστώ για όλα…
1
Κεφάλαιο 1
Εισαγωγή
Τα πλέγματα κατηγοριοποιούνται με βάση την διαστασιμότητά τους και την επιλογή των
στοιχείων τους. Τα τριγωνικά πλέγματα, τετραπλευρικά πλέγματα, τετραεδρικά πλέγματα και
2 Κεφάλαιο 1. Εισαγωγή
εξαεδρικά πλέγματα είναι ονομασίες πλεγμάτων που σχετίζονται με τα σχήμα των στοιχείων
του. Τα δισδιάστατα στοιχεία (τρίγωνα και τετράπλευρα) χρησιμεύουν στην μοντελοποίηση
δισδιάστατων τομέων αλλά και στην μοντελοποίηση επιφανειών σε τρισδιάστατα πλέγματα,
τα οποία είναι ευρέως διαδεδομένα στα γραφικά του υπολογιστή και στις μεθόδους των ορια-
κών στοιχείων.
Τα πλέγματα κατηγοριοποιούνται επίσης ως δομημένα ή αδόμητα. Ένα δομημένο πλέγμα
είναι εκείνο στο οποίο όλες οι εσωτερικές κορυφές είναι τοπολογικά όμοιες. Ένα αδόμητο
πλέγμα είναι εκείνο στο οποίο οι κορυφές μπορεί να έχουν αυθαίρετα μεταβαλλόμενες τοπι-
κές γειτονιές. Στο σχήμα 1.2, μπορούμε να δούμε τη διαφορά. Τα δομημένα πλέγματα έχουν
μελετηθεί εκτενώς [67], είναι κατάλληλα πρωτίστως για πεδία που έχουν ευάγωγες γεωμε-
τρίες και δεν απαιτούν ένα υψηλά βαθμολογημένο πλέγμα. Τα αδόμητα πλέγματα είναι πολύ
πιο ευέλικτα λόγω της ικανότητάς τους να συνδυάζουν καλές μορφές στοιχείων με περίεργα
σχήματα τομέα και μεγέθη στοιχείων που χαρακτηρίζονται από πολύ μικρά έως πολύ μεγάλα.
Σε αυτή την εισαγωγή, θα επικεντρωθούμε μόνο στα αδόμητα τριγωνικά πλέγματα.
Σχήμα 1.2: Αριστερά βλέπουμε ένα Δομημένο πλέγμα, ενώ δεξιά ένα Αδό-
μητο πλέγμα
Ένας τρόπος διακριτοποίησης ενός δισδιάστατου τομέα είναι η τριγωνοποίησή του. Οι τρι-
γωνοποιήσεις εμφανίζονται σε πολλά διαφορετικά πεδία των Μαθηματικών και της Πληρο-
φορικής δεδομένου ότι είναι ο φυσικός τρόπος για να αποσυντεθεί μια περιοχή του χώρου σε
μικρότερα, εύχρηστα κομμάτια.
Συνήθως, δεδομένου ενός συνόλου σημείων σε κάποιο Ευκλείδειο χώρο, θα επιδιώκαμε τη
μεταξύ τους σύνδεση με ωραίο τρόπο. Η έννοια του ωραίου εξαρτάται από τις εφαρμογές
στις οποίες θα χρησιμοποιηθούν οι τριγωνοποιήσεις. Από γεωμετρικής απόψεως, κάποιος
θα ήθελε να συνδέσει τους πλησιέστερους γείτονες και να αποφύγει μικρές γωνίες. Αυτό
μας οδηγεί στις γνωστές Τριγωνοποιήσεις Delaunay που έχουν πολλές από αυτές τις ωραίες
ιδιότητες.
Καταρχάς, πριν ξεκινήσουμε την ανάλυση των τριγωνοποιήσεων Delaunay, είναι απαραίτητο
να κατανοήσουμε μια συλλογή θεμελιωδών ορισμών και συνδυαστικών ιδιοτήτων που θα
χρειαστούμε. Τα κεφάλαια της Εισαγωγής, των Delaunay τριγωνοποιήσεων, των αλγορίθμων
Delaunay τριγωνοποιήσεων και του αλγορίθμου Delaunay Ραφιναρίσματος για Παραγωγή
Πλέγματος αποτελούν έναν συνδυασμό του βιβλίου ”Delaunay Mesh Generation”[10] του
μαθήματος ”Unstructured Mesh Generation, Algorithms and Softwares” [65] και του άρθρου
”Mesh Generation” [46] τα οποία έχουν μεταφραστεί, όπου αυτό κατέστη εφικτό.
1.1. Ευκλείδειοι Χώροι 3
Στη γεωμετρία, ο Ευκλείδειος χώρος περικλείει το δισδιάστατο ευκλείδειο επίπεδο, τον τρισ-
διάστατο χώρο της Ευκλείδειας γεωμετρίας και τους παρόμοιους χώρους υψηλότερης διά-
στασης. Ονομάζεται Ευκλείδειος από τον Αρχαίο Έλληνα μαθηματικό Ευκλείδη της Αλε-
ξάνδρειας [2]. Ο όρος ”Ευκλείδειος” διακρίνει αυτούς τους χώρους από άλλους τύπους χώ-
ρων που εξετάζονται στη σύγχρονη γεωμετρία. Οι Ευκλείδειοι χώροι γενικεύονται επίσης σε
υψηλότερες διαστάσεις.
Ένας τρόπος να σκεφτούμε ένα k-διαστάσεων Ευκλείδειο χώρο E k είναι ένα σύνολο k-
Πλειάδων (x1 , ..., xk ) των πραγματικών αριθμών xi , 1 < i < k, ικανοποιώντας συγκεκριμέ-
νες σχέσεις, εκφράσιμες από άποψη απόστασης και γωνίας. Αυτή η λειτουργία απόστασης
ονομάζεται Ευκλείδεια μετρική. Κάνει τον Ευκλείδειο χώρο ένα μετρικό χώρο. Αρκεί να ορί-
σουμε την Ευκλείδεια γεωμετρία.
Ο δισδιάστατος Ευκλείδειος χώρος ονομάζεται Ευκλείδειο επίπεδο. Η θέση ενός σημείου
p στο Ευκλείδειο επίπεδο (E 2 ) είναι ένα δισδιάστατο πραγματικό διάνυσμα. Η Ευκλείδεια
νόρμα ενός διαστήματος p = (x, y) ορίζεται ως:
√
∥x∥ = x2 + y 2
Η απόσταση μεταξύ δύο σημείων p1 = (x1 , y1 ) και p2 = (x2 , y2 ) στο Ευκλείδειο επίπεδο
είναι το Ευκλείδειο μήκος του διανύσματος p1 − p2 .
√
d(p1 , p2) = (x2 − x1 )2 + (y2 − y1 )2
Έχοντας δύο ευθύγραμμα τμήματα ab και ac, η γωνία θ που σχηματίζουν μεταξύ τους στο
Ευκλείδειο επίπεδο μπορεί να υπολογιστεί μέσω του νόμου των συνημίτονων.
Στις τριγωνοποιήσεις ένας χρήσιμος όρος είναι το simplex, χάρη στον οποίο ορίζονται σα-
φώς όλοι οι βασικοί ορισμοί. Τα τρίγωνα, οι πλευρές και οι κορυφές είναι όλα simplex. Το
σύνολο αυτών είναι τα συμπλέγματα. Υπάρχουν πολλοί διαφορετικοί τύποι συμπλεγμάτων
που απεικονίζονται στο Σχήμα 1.3, οι οποίοι μοιράζονται δύο κοινές ιδιότητες. Πρώτα ένα
σύμπλεγμα είναι ένα σύνολο που περιέχει όχι μόνο στοιχεία όπως τα τετράεδρα, αλλά και
όψεις, ευθύγραμμα τμήματα και κορυφές αυτών των στοιχείων. Δεύτερον, τα στοιχεία σε
ένα σύμπλεγμα πρέπει να τέμνονται μεταξύ τους σύμφωνα με συγκεκριμένους κανόνες, οι
οποίοι εξαρτώνται από τον τύπο του συμπλέγματος.
Χρησιμοποιούμε το simplicial σύμπλεγμα, το οποίο περιέχει μόνο simplices ως το θεμελιώ-
δες εργαλείο για την μοντελοποίηση του γεωμετρικού σχήματος και των χώρων αυτού. Λόγω
της συνδυαστικής τους φύσης, τα simplicial συμπλέγματα αποτελούν μια τέλεια δομή δεδο-
μένων για αλγόριθμους γεωμετρικών μοντελοποιήσεων. Τα πιο σημαντικά συμπλέγματα για
τη παραγωγή πλέγματος είναι τα περίφημα Voronoi διαγράμματα και η υποδιαίρεση Delaunay
που ορίζονται στο επόμενο κεφάλαιο.
4 Κεφάλαιο 1. Εισαγωγή
Για έναν μαθηματικό, ένα τρίγωνο είναι ένα σύνολο σημείων, το οποίο περιλαμβάνει όλα τα
σημεία μέσα στο τρίγωνο, καθώς και τα σημεία στις τρεις πλευρές του. Ομοίως, ένα πολύεδρο
είναι ένα σύνολο σημείων που καλύπτει ολόκληρο τον όγκο του. Ένα σύμπλεγμα είναι ένα
σύνολο από σύνολα σημείων. Θα ορίσουμε αυτές και άλλες γεωμετρικές δομές από πλευράς
αφφινικών και κυρτών περιβλημάτων, αν για κάθε ζεύγος σημείων p, q ∈ C, το ευθύγραμμο
τμήμα pq περιλαμβάνεται στο C.
Σχήμα 1.3: Από τα αριστερά προς τα δεξιά, απεικονίζονται ένα simplicial σύ-
μπλεγμα, ένα πολυεδρικό σύμπλεγμα, ένα τμηματικά γραμμικό σύμπλεγμα
κι ένα τμηματικά ομαλό σύμπλεγμα. Οι σκιασμένες περιοχές είναι τρίγωνα,
πολύγωνα, κυρτά πολύγωνα και ομαλά πολύγωνα αντίστοιχα. Στο τμημα-
τικά γραμμικό σύμπλεγμα, παρατηρούνται διάφορα πολύγωνα που διαθέ-
τουν οπές, εκ των οποίων ένα είναι γεμισμένο από ένα άλλο πολύγωνο
(σκούρα σκιασμένο).
Ορισμός 1 Αφφινικό Περίβλημα (Affine Hull). Έστω X = {x1 , x2 , ..., xk } είναι ένα σύνολο
από σημεία στο Rd . Ένα ∑ σημείο p είναι ένας αφφινικός συνδυασμός των σημείων στο X,
αν μπορεί να γραφτεί ki=1 wi ∗ xi για ένα σύνολο από βαθμωτά βάρη wi τέτοια ώστε
∑k
i=1 wi = 1. Ένα σημείο p είναι αφφινικώς ανεξάρτητο από το Χ, αν δεν είναι ένας αφφινι-
κός συνδυασμός ενός σημείου σημείου στο Χ. Τα σημεία στο Χ είναι αφφινικά ανεξάρτητα
αν κανένα σημείο στο Χ δεν είναι ένας αφφινικός συνδυασμός των άλλων. Στο Rd , δεν μπο-
ρούν παραπάνω από d + 1 σημεία να είναι αφφινικά ανεξάρτητα. Το αφφινικό περίβλημα του
X, που ορίζεται ως aff(X), είναι το σύνολο όλων των αφφινικών συνδυασμών των σημείων
στο Χ, όπως απεικονίζονται στο Σχήμα 1.4. Ένα k-flat, γνωστό επίσης ως ένας αφφινικός
υποχώρος, είναι το αφφινικό περίβλημα του k + 1 αφφινικά ανεξάρτητου σημείου· άρα ένα
0-flat είναι μία κορυφή, ένα 1-flat είναι μια ευθεία, ένα 2-flat είναι ένα επίπεδο, κ.ο.κ. . Ένα
(d - 1)-flat στο Rd ονομάζεται υπερεπίπεδο . Ένα k-flat λέγεται ότι έχει διάσταση k.
Ορισμός 2 Κυρτό Περίβλημα (Convex Hull).Ένα σημείο p είναι ένας κυρτός συνδυασμός των
σημείων στο X, εάν μπορεί να γραφτεί ως ένας αφφινικός συνδυασμός με όλα τα βάρη μη
αρνητικά. δηλαδή wi ≥ 0 για όλα τα i. Το κυρτό περίβλημα του Χ, που ορίζεται ως conv(X),
είναι το σύνολο όλων των κυρτών συνδυασμών σημείων στο Χ, όπως απεικονίζονται στο
Σχήμα 1.4.
Ορισμός 3 Simplex. Ένα γεωμετρικό k-simplex σ στο Rd είναι το κυρτό περίβλημα μιας
συλλογής k + 1 αφφινικά ανεξάρτητων σημείων στο mathbbRd . Η διάσταση του σ είναι
dim(σ) = k. Για παράδειγμα, το (-1)-simplex είναι το κενό σύνολο (∅), το 0-simplex είναι μια
κορυφή (ή ένα σημείο), ένα 1-simplex είναι ένα ευθύγραμμο τμήμα, ένα 2-simplex είναι ένα
τρίγωνο και ένα 3-simplex είναι ένα τετράεδρο, όπως απεικονίζεται στο Σχήμα 1.4.
Ορισμός 4 Όψη (face). Μία όψη τ του σ είναι το κυρτό περίβλημα οποιουδήποτε υποσυνόλου
των κορυφών του σ, η οποία είναι simplex. Οι τ = ∅ και τ = σ είναι οι δύο τετριμμένες
όψεις του σ, όλα τα άλλα είναι οι κύριες όψεις του σ. Γράφουμε τ ≤ σ ή t < σ αν τ είναι μία
1.2. Simplices και Συμπλέγματα 5
όψη ή η κύρια όψη του σ. Ο αριθμός των l-όψεων του σ είναι ίσος
( με)το σύνολο των τρόπων
που μπορούμε να επιλέξουμε l + 1 από k + 1 σημεία που είναι k+1
l+1 . Ο συνολικός αριθμός
των όψεων είναι:
k (
∑ )
k+1
= 2k+1
l+1
l=−1
Ορισμός 5 Περιφέρεια (Boundary) και Εσωτερικό (Interior). Η ένωση όλων των κύριων
όψεων ενός simplex σ ονομάζεται Περιφέρεια και ορίζεται ως bd(σ) του σ. Το Εσωτερικό
που ορίζεται ως int(σ) του σ είναι σ − bd(σ), όπως απεικονίζεται στο Σχήμα 1.5.
∅. Χωρίς τη δεύτερη ιδιότητα, T είναι ένα αφηρημένο simplicial σύμπλεγμα, όπως απεικονί-
ζεται στο Σχήμα 1.6.
Ορισμός 7 Yποσύμπλεγμα. Ένα υποσύμπλεγμα είναι ένα υποσύνολο του T, το οποίο είναι ένα
simplicial σύμπλεγμα. Παρατηρήστε ότι κάθε simplicial ικανοποιεί την συνθήκη 2. Για να
επιβάλουμε την συνθήκη 1 προσθέτουμε όψεις και simplices στο υποσύνολο.
Έστω Κ ένα simplicial σύμπλεγμα και έστω S ένα σύνολο από simplices στο K.
Ορισμός 8 Closure. Το closureτου S (που δηλώνεται ως Cl(S)) είναι το μικρότερο simplcial
υπό-σύμπλεγμα του Κ που περιέχει κάθε simplex στο S. To Cl(S) αποκτιέται προσθέτοντας
κατ’ επανάληψη στο S κάθε όψη κάθε simplex στο S.
Ορισμός 9 Star. Το star του S, που δηλώνεται ως St(S), είναι η ένωση των stars κάθε simplex
στο S. Για ένα μονοσήμαντο simplex s, το star του s είναι το σύνολο των simplices που
έχουν το s ως όψη. Αξίζει να σημειωθεί πως το star του S γενικά δεν είναι ένα simplicial
σύμπλεγμα.
Ορισμός 10 Link. Το link του S (που δηλώνεται ως Lk(S)) ισούται με το Cl(St( S)) - St(Cl(S)).
Το link είναι το κλειστό star του S χωρίς τα stars όλων των όψεων του S.
Σχήμα 1.7: (a) Δύο simplices και τα closure τους. (b) Μία κορυφή και το star
της. (c) Μία κορυφή και το link της. (Διαγράμματα από το Wikipedia).
1.3. Χαρακτηριστικά ενός Τριγώνου 7
Σε αυτή την ενότητα, θα εισαγάγουμε μια λίστα από γεωμετρικά χαρακτηριστικά που σχετί-
ζονται με ένα συγκεκριμένο και πραγματικά χρήσιμο simplex στο R2 , το Τρίγωνο. Έστω ότι
ABC είναι το τρίγωνο που θα χρησιμοποιήσουμε για τις επεξηγήσεις μας. Όλα τα χαρακτη-
ριστικά του απεικονίζονται στο Σχήμα 1.8.
Ορισμός 12 Περιγεγραμμένος κύκλος. Ο περιγεγραμμένος κύκλος του τριγώνου ABC είναι
ένας κύκλος ο οποίος περνά από όλες τις κορυφές (ABC) του τριγώνου.
Ορισμός 13 Κυκλικός δίσκος. Ο κυκλικός δίσκος του τριγώνου ABC είναι η περιοχή στο
επίπεδο που περιέχει το εσωτερικό του περιγεγραμμένου κύκλου και την περιφέρειά του,
που είναι ο ίδιος ο περιγεγραμμένος κύκλος. Ο κυκλικός δίσκος λέγεται κλειστός αν περιέχει
τον περιγεγραμμένο δίσκο που αποτελεί την περιφέρειά του, και λέγεται ανοιχτός αν δεν τον
περιέχει.
Ορισμός 14 Περίκεντρο. Το περίκεντρο (O) του τριγώνου ABC είναι το κέντρο του περιγε-
γραμμένου κύκλου και ορίζεται ως η τομή των μεσοκαθέτων των πλευρών του τριγώνου. Η
σημαντικότητα των περίκεντρων στους αλγορίθμους παραγωγής Delaunay πλέγματος έγκει-
ται στο γεγονός ότι μεταξύ του περικέντρου, της περιφέρειας ενός τομέα και της ακμής της
περιφέρειας, το περίκεντρο ενός μέτρια κατασκευασμένου στοιχείου θεωρείται το καταλλη-
λότερο μέρος για να εισαχθεί μία νέα κορυφή σε ένα πλέγμα. Τα περίκεντρα σε ένα Delaunay
πλέγμα, βρίσκονται τοπικά μακριά από άλλες κορυφές, οπότε το να τις προσθέσουμε δεν δη-
μιουργεί υπερβολικά κοντές ακμές.
Ορισμός 15 Βαρύκεντρο. Το βαρύκεντρο (G) (κέντρο βάρους) του τριγώνου ABC ορίζεται
ώς η τομή των διαμέσων του τριγώνου.
Ορισμός 16 Έκκεντρο. Το έκκεντρο (I) του τριγώνου ABC είναι η τομή των εσωτερικών
διχοτόμων των γωνιών του τριγώνου.
Ορισμός 17 Symmedian. Οι Symmedians είναι τρεις συγκεκριμένες γεωμετρικές ευθείες που
σχετίζονται με κάθε τρίγωνο. Κατασκευάζονται φέροντας μία διάμεση ενός τριγώνου και
ανακλώντας την ευθεία αυτή πάνω στην διχοτόμο της αντίστοιχης γωνίας. Η γωνία που σχη-
ματίζεται από την Symmedian και την διχοτόμο είναι ίση με τη γωνία μεταξύ της διχοτόμου
και της διαμέσου, απλά από την άλλη πλευρά της διχοτόμου.
Ορισμός 18 Symmedian σημείο. Το Symmedian σημείο (K) του τριγώνου ABC, το οποίο
επίσης καλείται και Lemoine σημείο ή Grebe σημείο, ορίζεται ως η τομή των Symmedians
του τριγώνου ABC. Ο Ross Honsberger αποκάλεσε την ύπαρξή αυτού του σημείου ως ”Ένα
από τα διαμάντια της μοντέρνας γεωμετρίας” [34].
Ορισμός 19 Brocard κύκλος. Ο κύκλος με διάμετρο το ευθύγραμμο τμήμα OK και κέντρο το
(P), είναι ο Brocard κύκλος του τριγώνου ABC [9].
8 Κεφάλαιο 1. Εισαγωγή
Ορισμός 20 Brocard τρίγωνο. Η ευθεία που περνά από το O και είναι κάθετη στο ευθύγραμμο
τμήμα BC τέμνει τον Brocard κύκλο στο A’. Η ευθεία που περνά από το O και είναι κάθετη
στο ευθύγραμμο τμήμα CA τέμνει τον Brocard κύκλο στο B’. Η ευθεία που περνά από το O
και είναι κάθετη στο ευθύγραμμο τμήμα AB τέμνει τον Brocard κύκλο στο C’. Το τρίγωνο
A’B’C’ είναι το Brocard τρίγωνο του τριγώνου ABC [9].
Ορισμός 21 Steiner σημείο. Ας σχεδιάσουμε δύο ευθείες. Η πρώτη ευθεία περνά από το Α
και είναι παράλληλη στο ευθύγραμμο τμήμα B’C’. Η δεύτερη ευθεία περνά από το Β και
είναι παράλληλη στο ευθύγραμμο τμήμα C’A’ και η τρίτη ευθεία περνά από το C και είναι
παράλληλη στο ευθύγραμμο τμήμα A’B’. Αυτές οι τρεις ευθείες συντρέχουν. Η τομή των
ευθειών αυτών είναι το Steiner σημείο (S) του τριγώνου ABC, όπως ορίστηκε από των J.
Neuberg [49]. Η σημαντικότερη ιδιότητα του Steiner σημείου είναι ότι πάντα βρίσκεται στον
περιγεγραμμένο κύκλο ενός τριγώνου. Αυτή η ιδιότητα είναι ιδιαίτερα χρήσιμη στην παρα-
γωγή πλέγματος και θα αναλύσουμε την σημαντικότητά της στα επόμενα κεφάλαια.
Σε αυτήν την ενότητα θα περιγράψουμε τρόπους για να μετράμε το μέγεθος, τις γωνίες και
την ποιότητα ενός simplicial στοιχείου στο R2 .
Αρχικά, θα εισάγουμε τρεις ακόμη ορισμούς, δύο εκ των οποίων απεικονίζονται στο Σχήμα 1.9.
Ορισμός 22 Διαμετρικός κύκλος. Ο διαμετρικός κύκλος ενός simplex τ είναι ο περιγεγραμ-
μένος κύκλος του τ με τη μικρότερη ακτίνα. Το περίκεντρο του τ είναι το σημείο στο κέντρο
του διαμετρικού κύκλου του τ , το οποίο πάντα βρίσκεται στο aff(τ ). Η ακτίνα του περιγε-
γραμμένου κύκλου του τ είναι η ακτίνα του διαμετρικού κύκλου του τ .
Ορισμός 23 Εγγεγραμμένος κύκλος.Ο εγγεγραμμένος κύκλος ενός k-simplex τ είναι ο μεγα-
λύτερος k-κύκλος C ⊂ τ . Παρατηρήστε ότι ο C είναι εφαπτόμενος σε κάθε όψη του τ . Ο
εγγεγραμμένος κύκλος του τ είναι η περιφέρεια του C. Το έκκεντρο του τ είναι το σημείο
στο κέντρο του C και η ακτίνα εγγεγραμμένου κύκλου του τ είναι το C.
Ορισμός 24 Ελάχιστος κύκλος εγκλεισμού. Ο ελάχιστος κύκλος εγκλεισμού ενός k-simplex
τ είναι ο μικρότερος k-κύκλος C ⊃ τ . Ο ελάχιστος κύκλος εγκλεισμού είναι πάντα ένας δια-
μετρικός κύκλος μιας όψης του τ . Ο ελάχιστος κύκλος εγκλεισμού του τ είναι η περιφέρεια
του C.
Για πολλούς σκοπούς, όπως για παράδειγμα, βελτίωση ενός πλέγματος, είναι επιθυμητό να
έχουμε ένα μοναδικό μέτρο ποιότητας που να τιμωρεί αξιολογικά και τις γωνίες κοντά στις
0° αλλά και αυτές κοντά στις 180°. Τα περισσότερα μέτρα ποιότητας σχεδιάζονται για να
φτάσουν μία ακραία τιμή για ένα ισόπλευρο τρίγωνο και μια αντίθετη ακραία τιμή για ένα
εκφυλισμένο στοιχείο, ένα τρίγωνο του οποίου οι κορυφές είναι συνευθειακές. Σε αυτή την
πτυχιακή εργασία το σημαντικότερο μέτρο ποιότητας είναι ο λόγος ακτίνας-πλευράς, επειδή
είναι φυσικά οριοθετημένος από τους αλγορίθμους παραγωγής Delaunay πλεγμάτων, γεγονός
που επισημάνθηκε για πρώτη φορά από τους Miller, Talmor, Teng και Walkington [47].
Ορισμός 25 Λόγος ακτίνας-πλευράς. O λόγος ακτίνας-πλευράς ενός simplex τ είναι R/lmin
όπου R είναι η ακτίνα του περιγεγραμμένου κύκλου του τ και lmin είναι το μήκος της μικρό-
τερης πλευράς του.
Θα θέλαμε ο λόγος ακτίνας-πλευράς να είναι όσο γίνεται πιο μικρός.
√ Ο λόγος κυμαίνεται από
το ∞ για τα περισσότερα εκφυλισμένα simplices μέχρι το 1/ 3 ≈ 0.577 για ένα ισόπλευρα
τρίγωνο. Ο λόγος ακτίνας πλευράς ενός τριγώνου σχετίζεται με τη μικρότερη γωνία θmin από
τον τύπο:
R 1
ρ(τ ) = = .
lmin 2 · sin θmin
Το Σχήμα 1.11 απεικονίζει τον τρόπο με τον οποίο παράγεται αυτή η ταυτότητα για ένα τρί-
γωνο xyz με περίκεντρο το c. Παρατηρήστε ότι τα τρίγωνα ycz και xcz είναι ισοσκελή, άρα
οι γωνίες των κορυφών τους είναι ∠ycz = 180°−2ϕ και ∠xcz = 180°−2ϕ−2θ. Επομένως,
ϕ = 2θmin και lmin = 2R sin θmin. Αυτή η συλλογιστική ισχύει ακόμα και αν ϕ < 0. Όσο
μικρότερος είναι ο λόγος ακτίνας-πλευρά ενός τριγώνου, τόσο μεγαλύτερη είναι η μικρό-
τερη ακτίνα. Οι γωνίες ενός τριγώνου είναι αθροιστικά 180°, οπότε η μεγαλύτερη γωνία του
τριγώνου είναι το πολύ 180° − 2θmin . Επομένως, ένα άνω όριο του λόγου ακτίνας-πλευράς
1.4. Μέτρηση ενός στοιχείου 11
θέτει όρια και στις μικρότερες αλλά και στις μεγαλύτερες γωνίες. Για ένα τρίγωνο τ , ο λόγος
ακτίνας σχετίζεται με τη μικρότερη γωνία θmin το οποίο φαίνεται στις κατωτέρω ανισότη-
τες:
θmin r θmin
2 sin2 ≤ ≤ 2 tan ,
2 R 2
σχέση η οποία υποδηλώνει ότι προσεγγίζει το 0 όσο το θmin προσεγγίζει το 0 και αντιστρό-
φως.
Σχήμα 1.11: Σχέσεις μεταξύ της ακτίνας R του περιγεγραμμένου κύκλου, της
μικρότερης πελυρά lmin και της μικρότερης γωνίας θmin
13
Κεφάλαιο 2
Έχοντας πλέον όλες τις απαραίτητες γνώσεις που χρειαζόμαστε, είμαστε σε θέση να ορί-
σουμε την Delaunay τριγωνοποίηση. Η Delaunay τριγωνοποίηση είναι μια γεωμετρική δομή
που οι μηχανικοί χρησιμοποίησαν για τα πλέγματα, όταν η παραγωγή πλέγματος ήταν ακόμη
στις αρχές της. Σε δύο διαστάσεις έχει το εξής εντυπωσιακό πλεονέκτημα. Μεταξύ όλων των
πιθανών τριγωνοποιήσεων ενός σταθερού συνόλου σημείων, οι τριγωνοποιήσεις Delaunay
μεγιστοποιούν την ελάχιστη γωνία των τριγώνων. Επίσης, βελτιστοποιεί αρκετά άλλα γεω-
μετρικά κριτήρια που σχετίζονται με την ακρίβεια της παρεμβολής. Αν ο στόχος σας είναι να
δημιουργήσετε μια τριγωνοποίηση χωρίς μικρές γωνίες, φαίνεται σχεδόν ανόητο να εξετά-
σετε μια τριγωνοποίηση που δεν είναι Delaunay. Οι τριγωνοποιήσεις Delaunay έχουν μελε-
τηθεί διεξοδικά και υπάρχουν εξαιρετικοί αλγόριθμοι για την κατασκευή και την ενημέρωσή
τους.
Μία περιορισμένη τριγωνοποίηση είναι μια τριγωνοποίηση που επιβάλλει την παρουσία συ-
γκεκριμένων ακμών, για παράδειγμα, την περιφέρεια και ένα μη κυρτό αντικείμενο. Μία
τριγωνοποίηση Delaunay υπό περιορισμούς χαλαρώνει την ιδιότητα του Delaunay, ακριβώς
για να ανακτήσει τις άκρες αυτές, ενώ απολαμβάνει βέλτιστες ιδιότητες παρόμοιες με εκεί-
νες μιας τριγωνοποίησης Delaunay. Οι τριγωνοποιήσεις Delaunay υπό περιορισμούς είναι
σχεδόν εξίσου δημοφιλείς με τους προγόνους τους χωρίς περιορισμούς.
Αυτό το κεφάλαιο εξετάζει τις τριγωνοποιήσεις Delaunay στο R2 , τις περιορισμένες τριγω-
νοποιήσεις Delaunay και τις γεωμετρικές τους ιδιότητες. Δείτε το άρθρο του Fortune [28]
για μια εναλλακτική έρευνα των τριγωνοποιήσεων Delaunay και Aurenhammer [1] για μια
έρευνα πολλών περισσότερων τύπων διαγραμμάτων Voronoi.
Έχει κάθε σύνολο σημείων μια τριγωνοποίηση; Ναι. Θεωρήστε την Λεξικογραφική τριγωνο-
ποίηση που απεικονίζεται στο Σχήμα 2.3. Για να κατασκευάσουμε μία τέτοια τριγωνοποίηση,
ταξινομούμε τα σημεία λεξικογραφικά (δηλαδή με βάση την x-συντεταγμένη, και τα σημεία
που έχουν την ίδια x-συντεταγμένη τα ταξινομούμε με βάση την y-συντεταγμένη τους), και
2.2. Επίπεδοι Γράφοι και τύπος του Euler 15
έτσι έχουμε μία ταξινομημένη ακολουθία v1 , v2 , ..., vn σημείων. Μία λεξικογραφική τριγω-
νοποίηση Ti ορίζεται επαγωγικά ως εξής. Η πρώτη τριγωνοποίηση είναι T1 = {v1 }. Κάθε
επακόλουθη τριγωνοποίηση είναι Ti = Ti−1 ∪{vi }∪{conv({vi }∪σ) : σ ∈ Tv−1 και το σχε-
τικό εσωτερικό του conv({vi }∪σ) δεν διασταυρώνεται με κανένα simplex στο Ti−1 }.
Το σύνολο V έχει μια τριγωνοποίηση ακόμα και αν όλα τα σημεία της είναι συνευθειακά: Η
τριγωνοποίηση Tn περιέχει n κορυφές, n-1 συγγραμμικές ακμές που συνδέουν τις κορυφές
αυτές και καθόλου τρίγωνα.
Μία τριγωνοποίηση στο επίπεδο είναι ένας επίπεδος γράφος, αλλά μπορεί να μην είναι μέγι-
στα συνδεδεμένη. Η όψη έξω από το κυρτό περίβλημα αυτής της τριγωνοποίησης είναι ένα
k-πολύγωνο και k ≥ 3. Χρησιμοποιώντας τον τύπο του Euler, μπορούμε να πάρουμε τα άνω
όρια του πλήθους των ακμών και των όψεων μιας τριγωνοποίησης ως προς το πλήθος του
συνόλου των κορυφών.
Ένας γράφος G = (V, E) είναι ένα σύνολο V κορυφών και ένα σύνολο E ακμών, όπου κάθε
ακμή έχει ως άκρα ένα ζεύγος κορυφών από το V. Ένας γράφος είναι απλός εάν κάθε ακμή
έχει δύο ξεχωριστές κορυφές και κανένα ζεύγος ακμών δεν έχει τις ίδιες κορυφές. Ένας απλός
γράφος είναι συνδεδεμένος εάν υπάρχει ένα μονοπάτι (ακολουθία ακμών) που συνδέει κάθε
ζεύγος των κορυφών του. Οι ελάχιστα συνδεδεμένοι γράφοι είναι δέντρα, που χαρακτηρί-
ζονται από την ύπαρξη μιας μοναδικής απλής διαδρομής μεταξύ κάθε ζεύγους κορυφών. Η
κατάργηση μιας ακμής αποσυνδέει τον γράφο. Ένα συνδεδεμένο δέντρο του G = (V,E), είναι
ένα δέντρο (V,T) με T ⊂ E. Έχει το ίδιο σύνολο κορυφών με τον γράφο και χρησιμοποιεί
ένα ελάχιστο σύνολο ακμών που πρέπει να συνδεθούν. Ένας γράφος είναι συνδεδεμένος, αν
και μόνο αν έχει ένα συνδεδεμένο δένδρο.
Όπως απεικονίζεται στο Σχήμα 2.4, υπάρχουν πολλά σχέδια ενός γράφου. Κάποια διαθέτουν
διασταυρώσεις, ενώ κάποια άλλα, όχι. Μόνο γράφοι με σχετικά λίγες ακμές μπορούν να σχε-
διαστούν χωρίς διασταυρώσεις στο επίπεδο.
Έστω G = (V, E) είναι ένας επίπεδος γράφος. Αυτό αποσυνθέτει το επίπεδο σε ένα σύνολο
περιοχών που ονομάζονται όψεις του G. Έστω τα v, e και f να δηλώσουν τον αριθμό των
κορυφών, των άκρων και των όψεων του G. Ο τύπος Euler είναι μια γραμμική σχέση μεταξύ
αυτών των αριθμών.
16 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Τύπος του Euler. Κάθε συνδεδεμένος επίπεδος γράφος G = (V, E) ικανοποιεί την σχέση:
v − e + f = 2.
Ο τύπος αυτός είναι γνωστός ως ο τύπος Euler για επίπεδους γράφους και κυρτούς τρισδιά-
στατους πολυτόπους. Υπάρχουν πολλές αποδείξεις αυτού του τύπου. Εδώ παρουσιάζουμε
μια απόδειξη με βάση τον δυαδικό γράφο και τα συνδεδεμένα δέντρα.
Απόδειξη. Για κάθε συνδεδεμένο ενσωματωμένο επίπεδο γράφο G, ορίζουμε τον δυαδικό
γράφο G* σχεδιάζοντας μια κορυφή στη μέση κάθε όψης του G και συνδέοντας τις κορυ-
φές από δύο γειτονικές όψεις με μια καμπύλη e* μέσω της κοινής τους ακμής e. Αξίζει να
σημειωθεί ότι G** = G. Οποιοσδήποτε κύκλος στο G αποσυνδέει το G*, όπως ορίζεται από
το θεώρημα καμπύλης του Jordan. Οποιοσδήποτε άκυκλος υπογράφος F του G είναι ένα δά-
σος, και δεν αποσυνδέει το G*. Έτσι, η συνδετικότητα και η ακυκλικότητα είναι μία δυαδική
σχέση. Αυτή η δυαδικότητα αποτελεί τη βάση της ακόλουθης απόδειξης
Σχήμα 2.5: Μία απόδειξη του τύπου Euler χρησιμοποιώντας δυαδικούς γρά-
φους και συνδεδεμένα δέντρα.
2.3. Delaunay Τριγωνοποίηση 17
Επιλέξτε οποιοδήποτε συνδεδεμένο δένδρο T στο G. Αυτό είναι εξ ορισμού ένας συνδεδεμέ-
νος άκυκλος υπογράφος. Οι δυαδικές ακμές του συμπληρώματός του, (G-T)*, σχηματίζουν
έναν άκυκλο συνδεδεμένο υπογράφο του G*, ο οποίος είναι συνεπώς και ένα συνδεδεμένο
δένδρο. Τα δύο δέντρα μαζί έχουν (V − 1) + (F − 1) ακμές. Έτσι, V − 1 + F − 1 = E ⇒
V − E + F = 2.
Ο τύπος Euler είναι μια τοπολογική και συνδυαστική ιδιότητα αυτού του γράφου. Μπορεί
να χρησιμοποιηθεί για να δείξει πολλές ενδιαφέρουσες ιδιότητες των επίπεδων γραφημάτων
καθώς και τρισδιάστατων κυρτών πολύτοπων.
Έστω n, e και f ο αριθμός των κορυφών, των άκρων και των τριγώνων μιας τριγωνοποίησης
Τ ενός συνόλου σημείων V. Σε μία τριγωνοποίηση Τ, κάθε τρίγωνο έχει τρεις ακμές, κάθε
εσωτερική ακμή ανήκει σε δύο όψεις και κάθε ακμή στο κυρτό περίβλημα ανήκει σε μία
μόνο όψη, και ισχύει:
3f = 2e + k,
όπου k είναι ο αριθμός των ακμών του κυρτού περιβλήματος του Τ. Δεδομένου ότι k> 0,
τότε:
3f < 2e.
Χρησιμοποιώντας τον τύπο του Euler και την παραπάνω ανισότητα, μπορούμε να θέσουμε
όρια στον συνολικό αριθμό των άκρων και των όψεων του Τ, τα οποία είναι:
e < 3n − 6
f < 2n − 4.
Εάν ο ελάχιστος βαθμός κορυφών ενός γράφου είναι 3, τότε κάθε μία από τις ακμές e έχει δύο
κορυφές και κάθε μία από τις κορυφές v ανήκει σε 3 ακμές. Στο επίπεδο έχει κατά μέγιστο 2n
- 4 τρίγωνα και 3n - 6 ακμές ως συνέπεια της φόρμουλας του Euler. Ως εκ τούτου,2e ≥ 3v.
Ο τύπος Euler n + v − e = 2 υποδηλώνει ότι e ≤ 3n − 6 και v ≤ 2n − 4. Επομένως, εάν
υποθέσουμε ότι η τριγωνοποίησή μας των n σημείων στο επίπεδο είναι ένας επίπεδος γράφος,
τότε έχει το πολύ 2n - 4 τρίγωνα και 3n - 6 άκρες ως συνέπεια του τύπου του Euler.
Τα διαγράμματα Voronoi παίρνουν το όνομά τους από τον Ρώσο και Ουκρανό μαθηματικό
Georgy Feodosevich Voronoy το 1907 [68]. Είναι επίσης γνωστά ως οι Dirichlet’s tessellations
(από τον Γερμανό μαθηματικό Peter Gustav Lejeune Dirichlet). Τα διαγράμματα Voronoi
προκύπτουν στη φύση σε διάφορες καταστάσεις, όπως απεικονίζεται στο σχήμα 2.6. Είναι
μία από τις πιο θεμελιώδεις δομές δεδομένων στην Υπολογιστική Γεωμετρία.
Το διάγραμμα Voronoi χωρίζει το επίπεδο σύμφωνα με τον κανόνα του πλησιέστερου γεί-
τονα: Κάθε σημείο συνδέεται με την περιοχή του επιπέδου που είναι πλησιέστερα σε αυτό.
Θεωρήστε την απλούστερη περίπτωση των δύο σημείων p και q στο επίπεδο. Το σύνολο των
σημείων που είναι τουλάχιστον κοντά στο p και στο q είναι το ημιεπίπεδο (half-space):
Hpq = {x ∈ R2 : ∥x − p∥ ≤ ∥x − q∥}.
Έστω S ένα σύνολο n σημείων (που λέγονται εστίες στο R2 ). Η Voronoi περιοχή μίας εστίας p
∈ S είναι το σύνολο των σημείων x ∈ R2 που είναι τόσο κοντά στο p όσο και σε οποιαδήποτε
άλλη εστία στο S, δηλαδή:
Vp = {x ∈ R2 : ∥x − p∥ ≤ ∥x − q∥, ∀q ∈ S}.
Κάθε Voronoi περιοχή του p είναι η τομή ενός συνόλου n - 1 ημιεπιπέδων (όταν έχουμε n
εστίες), όπου βρίσκονται τόσο κοντά στο p όσο και στο q, Hpq = {x ∈ R2 : ∥x − p∥ ≤
∥x − q∥}. Έπεται ότι είναι μια κυρτή πολυγωνική περιοχή, πιθανώς χωρίς περιορισμούς, με
το πολύ n - 1 ακμές.
2.3. Delaunay Τριγωνοποίηση 19
Κάθε σημείο x ∈ R2 έχει τουλάχιστον μία πλησιέστερη εστία στο S, οπότε ανήκει σε τουλάχι-
στον μία Voronoi περιοχή. Συνεπώς, οι περιοχές Voronoi καλύπτουν ολόκληρο το επίπεδο. Οι
Voronoi περιοχές μαζί με τις ακμές και τις κορυφές τους σχηματίζουν το διάγραμμα Voronoi
του S [68], όπως φαίνεται στο Σχήμα 2.7.
Σχήμα 2.7: Aριστερά βλέπουμε ένα Voronoi κελί, στο κέντρο ένα Voronoi
διάγραμμα και αριστερά μία δυαδική Delaunay τριγωνοποίηση.
Τα διαγράμματα Voronoi έχουν βρει πολλές εφαρμογές στις φυσικές επιστήμες και τη μη-
χανική. Αναφέρουμε μόνο μία περίπτωση στη γεωμετρία. Μπορεί να χτιστεί μια δομή δεδο-
μένων θέσης σημείου πάνω στο διάγραμμα Voronoi προκειμένου να απαντηθούν τα πλησιέ-
στερα ερωτήματα γειτόνων, όπου κάποιος θέλει να βρει το αντικείμενο που είναι πιο κοντά σε
ένα δοσμένο σημείο ερωτήματος. Τα πλησιέστερα ερωτήματα γειτόνων έχουν πολλές εφαρ-
μογές. Για παράδειγμα, κάποιος μπορεί να θέλει να βρει το πλησιέστερο νοσοκομείο ή το πιο
παρόμοιο αντικείμενο σε μια βάση δεδομένων.
Ένα δισδιάστατο Voronoi διάγραμμα είναι ένας επίπεδος γράφος με περιοχές n και ελάχιστο
βαθμό κορυφής 3. Κάθε μία από τις ακμές e έχει δύο κορυφές και κάθε μία από τις κορυφές
v ανήκει σε τουλάχιστον 3 ακμές. Ως εκ τούτου, 2e ≥ 3v. Ο τύπος του Euler n + v − e = 2
υποδηλώνει ότι e ≤ 3n − 6 και v ≤ 2n − 4. Κατά μέσο όρο, ο αριθμός των ακμών κάθε
Voronoi περιοχής είναι μικρότερος από 6.
Σχεδιάζοντας μία ευθεία γραμμή που συνδέει το p και το q στο S, θα λάβουμε ως αποτέ-
λεσμα ένα δυαδικό διάγραμμα εάν οι περιοχές Voronoi των p και q μοιράζονται ένα κοινό
ευθύγραμμο τμήμα. Σε γενικές γραμμές, αν δεν υπάρχουν τέσσερις εστίες της S που μοιρά-
ζονται έναν κοινό κύκλο, δηλαδή το S είναι σε γενική θέση, το δυαδικό διάγραμμα είναι ένα
δισδιάστατο simplicial σύμπλεγμα το οποίο αποσυνθέτει το κυρτό περίβλημα του S. Αυτό
ονομάζεται η Delaunay τριγωνοποίηση του S, όπως απεικονίζεται στο Σχήμα 2.7.
Ορισμός 27 Delaunay. Στο πλαίσιο ενός πεπερασμένου συνόλου σημείων V, ένα τρίγωνο εί-
ναι Delaunay αν οι κορυφές του βρίσκονται στο V και ο περιγεγραμμένος κύκλος του είναι κε-
νός, δεν περικλείει δηλαδή κανένα σημείο V. Αξίζει να σημειωθεί ότι οποιοσδήποτε αριθμός
σημείων μπορεί να βρίσκεται στον περιγεγραμμένο κύκλο ενός τρίγωνου Delaunay.
Μια ακμή είναι Delaunay αν οι κορυφές της είναι στο V και έχει τουλάχιστον έναν κενό
περιγεγραμμένο κύκλο.
Μια Delaunay τριγωνοποίηση του V, που ορίζεται ως Del(V), είναι μια τριγωνοποίηση του
V στην οποία κάθε τρίγωνο είναι Delaunay, όπως απεικονίζεται στο Σχήμα 2.8.
Σχήμα 2.8: Κάθε τρίγωνο σε μία Delaunay τριγωνοποίηση έχει έναν κενό
περιγεγραμμένο κύκλο.
Έχει κάθε σετ σημείων μία Delaunay τριγωνοποίηση, και πόσες Delaunay τριγωνοποιήσεις
έχει ένα σύνολο σημείων; Η απάντηση στην πρώτη ερώτηση είναι ”Ναι”. Η ενότητα 2.4
δίνει κάποια εντύπωση ως προς το γιατί αυτό είναι αληθές, ενώ στην Ενότητα 2.5 δίνεται η
απόδειξη.
Η Delaunay τριγωνοποίηση του V είναι μοναδική, αν και μόνο αν δεν υπάρχουν τέσσερα
σημεία στο V σε έναν κοινό κενό κύκλο, γεγονός που αποδεικνύεται στην Ενότητα 2.8. Δια-
φορετικά, υπάρχουν Delaunay τρίγωνα και ακμές των οποίων οι εσωτερικοί χώροι τέμνονται,
όπως απεικονίζεται στο Σχήμα 2.9 (a). Οι περισσότερες εφαρμογές παραλείπουν ορισμένα
από αυτά τα τρίγωνα και τις ακμές, έτσι ώστε τα εναπομείναντα να σχηματίζουν ένα simplicial
σύμπλεγμα, όπως απεικονίζεται στο Σχήμα 2.9 (b). Ανάλογα με το ποια Delaunay simplices
κρατάμε και το ποια πετάμε, αποκτάμε διαφορετικές Delaunay τριγωνοποιήσεις.
Μερικές φορές είναι χρήσιμο να ενώσουμε τα διασταυρωμένα τρίγωνα σε ένα ενιαίο πολύ-
γωνο, όπως απεικονίζεται στο Σχήμα 2.9 (c). Η υποδιαίρεση Delaunay που αποκτάται με
αυτόν τον τρόπο είναι ένα πολυεδρικό σύμπλεγμα, και όχι ένα simplicial σύμπλεγμα. Έχει το
πλεονέκτημα ότι είναι το γεωμετρικό δυαδικό του διάσημου Voronoi διαγράμματος.
Εάν ένα simplex είναι Delaunay, δεν εγγυάται ότι θα είναι Delaunay σε κάθε Delaunay τρι-
γωνοποίηση ενός συνόλου σημείων. Αλλά μια ελαφρώς ισχυρότερη ιδιότητα παρέχει αυτή
την εγγύηση.
Ορισμός 28 Delaunay Ισχυρό. Στο πλαίσιο ενός πεπερασμένου συνόλου σημείων V, ένα τρί-
γωνο τ είναι Delaunay ισχυρό αν οι κορυφές του είναι στο V και κανένα σημείο στο V δεν
βρίσκεται στο εσωτερικό ή στην περιφέρεια του περιγεγραμμένου κύκλου του, εκτός από τις
κορυφές του τ .
Μια ακμή e είναι Delaunay ισχυρή αν οι κορυφές της είναι στο V και έχει τουλάχιστον έναν
περιγεγραμμένο κύκλου όπου κανένα σημείο στο V δεν βρίσκεται στο εσωτερικό ή στην
περιφέρειά του, εκτός από τις κορυφές του e.
Κάθε σημείο V είναι μία Delaunay ισχυρή κορυφή.
Κάθε Delaunay τριγωνοποίηση του V περιέχει κάθε Delaunay ισχυρό simplex, γεγονός που
αποδεικνύεται στην Ενότητα 2.8. Η υποδιαίρεση Delaunay περιέχει τις Delaunay ισχυρές
ακμές, τα Delaunay ισχυρά τρίγωνα και κανένα άλλο.
Θεωρήστε δύο παραδείγματα Delaunay ισχυρών ακμών. Πρώτον, κάθε ακμή στην περιφέρεια
μίας τριγωνοποίησης του V είναι Delaunay ισχυρή. Το Σχήμα 2.10 δείχνει γιατί. Δεύτερον, η
ακμή που συνδέει ένα σημείο v ∈ V με τον πλησιέστερο γείτονά του w ∈ V είναι Delaunay
ισχυρή, επειδή ο μικρότερος κύκλος που διέρχεται από v και w δεν περικλείει, ούτε αγγίζει
κανένα άλλο σημείο στο V. Επομένως, κάθε Delaunay τριγωνοποίηση συνδέει κάθε κορυφή
με τον πλησιέστερο γείτονά της.
Σχήμα 2.10: Κάθε ακμή στην περιφέρεια μίας κυρτής τριγωνοποίησης είναι
Delaunay ισχυρή, επειδή είναι πάντα δυνατό να βρεθεί ένας κενός κύκλος
που περνάει μόνο από τα άκρα της και από καμία άλλη κορυφή.
22 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
x-y (πετώντας την συντεταγμένη z κάθε σημείου), παίρνουμε την υποδιαίρεση Delaunay του
V.
Αν το V έχει περισσότερες από μία Delaunay τριγωνοποιήσεις, αυτή η υποδιαίρεση Delaunay
θα έχει μη τριγωνικά πολύγωνα, όπως το εξάγωνο στο Σχήμα 2.9 (C). Τριγωνοποιώντας αυτές
τις πολυγωνικές όψεις, παίρνουμε μία Delaunay Τριγωνοποίηση.
Για ένα simplex σ στο επίπεδο, ο ανυψωμένος σύντροφος σ + είναι το simplex που είναι
ενσωματωμένο στο E 3 των οποίων οι κορυφές είναι οι ανυψωμένοι σύντροφοι των κορυφών
του σ. Αξίζει να σημειωθεί ότι το σ + είναι επίπεδο και δεν καμπυλώνει ώστε να αγκαλιάσει το
παραβολοειδές. Το παρακάτω λήμμα και θεώρημα δείχνουν ότι κάθε ανυψωμένος σύντροφος
του Delaunay simplex περιλαμβάνεται σε μία προς τα κάτω όψη του conv(V + ).
Λήμμα 1. Έστω C είναι ένας κύκλος στο επίπεδο και C + = {p+ : p ∈ C} είναι η έλλειψη
που παίρνουμε ανυψώνοντας το C στο παραβολοειδές. Τότε τα σημεία του C + βρίσκονται
σε ένα επίπεδο h, το οποίο δεν είναι παράλληλο με τον άξονα z. Επιπλέον, κάθε σημείο p
μέσα στον C ανυψώνεται σε ένα σημείο p+ κάτω από το h, και κάθε σημείο p έξω από τον
C ανυψώνεται σε ένα σημείο p+ πάνω από το h. Επομένως, η δοκιμή για το αν ένα σημείο p
είναι μέσα, πάνω ή έξω από τον C ισοδυναμεί με τον έλεγχο για το αν το ανυψωμένο σημείο
p+ είναι κάτω από το h, στο h ή πάνω από το h.
Απόδειξη. Έστω O και r είναι το κέντρο και η ακτίνα του C αντίστοιχα. Έστω p ένα σημείο
στο επίπεδο. Η συντεταγμένη z των p+ είναι |p|2 . Με την επέκταση του |O − p|2 , έχουμε την
ταυτότητα |p|2 = 2O · p − |O|2 + |O − p|2 .
Επειδή το O και το r είναι σταθερά και το p ∈ E 2 είναι μεταβλητό, η εξίσωση z = 2O · p −
|O|2 + r2 ορίζει ένα επίπεδο h στο E 2 , το οποίο δεν είναι παράλληλο στον άξονα z. Για κάθε
σημείο p ∈ C, |O − p| = r, έτσι ώστε C + ⊂ h. Για κάθε σημείο p ∈ / C, αν |O − p| < r, τότε
το ανυψωμένο σημείο p+ βρίσκεται κάτω από το h και αν |O − p| > r, τότε p+ βρίσκεται
πάνω από το h.
Θεώρημα 2 Seidel[68]. Έστω σ ένα simplex του οποίου οι κορυφές είναι στο V και έστω
σ + να είναι ο ανυψωμένος σύντροφός του. Άρα, το σ είναι Delaunay αν και μόνο αν το σ +
περιλαμβάνεται σε κάποια προς τα κάτω όψη του conv(V + ). Το simplex σ είναι Delaunay
ισχυρό αν και μόνο αν το σ + είναι μία προς τα κάτω όψη του conv(V + ).
Απόδειξη. Αν το σ έχει περιγεγραμμένο κύκλο C που δεν περικλείει κανένα σημείο στο
V. Έστω h είναι το μοναδικό επίπεδο στο E 3 που περιλαμβάνει το C + . Με τη χρήση του
λήμματος 1, κανένα σημείο στο V + δεν βρίσκεται κάτω από το h. Επειδή οι κορυφές του
σ + βρίσκονται στο C + , h ⊃ σ + . Επομένως, το σ + περιλαμβάνεται σε μία προς τα κάτω
όψη του κυρτού περιβλήματος του V + . Αν το σ είναι Delaunay ισχυρό, κάθε σημείο στο V +
βρίσκεται πάνω από το h εκτός από τις κορυφές του σ + . Ως εκ τούτου, το σ + είναι μία προς
τα κάτω όψη του κυρτού περιβλήματος του V + .
Το αντίστροφο συμπέρασμα προκύπτει αν αντιστρέψουμε αυτό το επιχείρημα.
Ο παραβολικός ανυψωτικός χάρτης λειτουργεί εξίσου καλά για Delaunay τριγωνοποιήσεις
σε τρεις διαστάσεις. Το Λήμμα 1 και το Θεώρημα 2 γενικεύονται σε ανώτερες διαστάσεις
χωρίς επιπρόσθετη σκέψη. Το Θεώρημα 2 υποδηλώνει ότι οποιοσδήποτε αλγόριθμος για την
κατασκευή κυρτού περιβλήματος ενός συνόλου σημείων στο E d+1 μπορεί να κατασκευάσει
την Delaunay τριγωνοποίηση ενός συνόλου σημείων στο E d .
24 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Ίσως το πιο σημαντικό αποτέλεσμα των Delaunay τριγωνοποιήσεων είναι το Delaunay Λήμμα,
το οποίο αποδεικνύει ο ίδιος ο Boris Delaunay [22] Αυτό παρέχει έναν εναλλακτικό χαρακτη-
ρισμό της Delaunay τριγωνοποίησης: μία τριγωνοποίηση των οποίων οι ακμές είναι τοπικά
Delaunay.
Ορισμός 29 Τοπικά Delaunay. Έστω T είναι μία τριγωνοποίηση ενός συνόλου σημείων V στο
R2 . Μία ακμή ab ∈ T είναι τοπικά Delaunay αν ισχύει οποιοδήποτε από τα παρακάτω:
i βρίσκεται στο κυρτό περίβλημα ή
ii ανήκει σε δύο τρίγωνα, abc και abd και το d βρίσκεται έξω από τον περιγεγραμμένο
κύκλο του abc.
Αυτός ο ορισμός απεικονίζεται στο Σχήμα 2.12. Μία τοπικά Delaunay ακμή δεν είναι απα-
ραίτητα μία Delaunay ακμή. Ωστόσο, αν κάθε ακμή είναι τοπικά Delaunay, τότε μπορούμε
να αποδείξουμε ότι όλες οι ακμές είναι Delaunay.
Το Delaunay Λήμμα έχει αρκετές χρήσεις. Πρώτον, παρέχει έναν αλγόριθμο γραμμικού χρό-
νου για να καθορίσει εάν μία τριγωνοποίηση είναι Delaunay, ελέγχοντας απλά αν κάθε ακμή
είναι τοπικά Delaunay. Δεύτερον, υποδηλώνει έναν απλό αλγόριθμο για την παραγωγή μίας
Delaunay τριγωνοποίησης που ονομάζεται αλγόριθμος Περιστροφής, τον οποίο θα συζητή-
σουμε στην Ενότητα 2.6. Ο αλγόριθμος Περιστροφής βοηθά στην απόδειξη ότι οι Delaunay
τριγωνοποιήσεις έχουν χρήσιμες ιδιότητες βελτιστότητας. Τρίτον, το Delaunay Λήμμα βοηθά
στην απόδειξη της ορθότητας άλλων αλγορίθμων που κατασκευάζουν Delaunay τριγωνοποι-
ήσεις.
Θεώρημα 3. Delaunay Λήμμα [22]. Έστω T είναι μία τριγωνοποίηση ενός συνόλου σημείων
V. Οι 3 ακόλουθες εκφράσεις είναι ισοδύναμες.
i Κάθε τρίγωνο στην Τ είναι Delaunay, δηλαδή η Τ είναι Delaunay.
ii Κάθε ακμή στην T είναι Delaunay.
iii Κάθε ακμή στην T είναι τοπικά Delaunay.
Απόδειξη. Χρησιμοποιούμε μια νέα έννοια, την δύναμη σημείου ως προς κύκλο. Η δύναμη
σημείου ως προς ένα κύκλο U με κέντρο u και ακτίνα r είναι: πO (x) = ∥x − u∥2 − r2 .
Αν το x βρίσκεται εκτός αυτού του κύκλου, τότε αυτή η απόσταση είναι το τετραγωνικό
μήκος του εφαπτόμενου ευθύγραμμου τμήματος που συνδέει το x με το u. Αυτό μπορεί να
αποδειχθεί όπως φαίνεται στο Σχήμα 2.13, ως εξής: P T 2 = P M × P N = P A × P B =
2.5. Το Delaunay Λήμμα 25
Έστω x ∈ R2 είναι ένα σταθερό σημείο. Λέμε ότι ένα τρίγωνο abc βρίσκεται μπροστά από
ένα άλλο τρίγωνο def αν υπάρχει μια ημιευθεία που ξεκινάει από το x, πρώτα περνάει μέσα
από το abc και στη συνέχεια μέσά από το def. Αυτό υποδηλώνεται ως abc ≺x def. Το ακό-
λουθο γεγονός βοηθά σημαντικά ώστε να αποδειχθεί το Delaunay Λήμμα:
Αν το abc ≺x abd και η ab είναι τοπικά Delaunay, συνεπάγεται ότι πCabc (x) < πCabd (x), όπου
Cabc είναι ο περιγεγραμμένος κύκλος του abc, όπως απεικονίζεται στο Σχήμα 2.14.
Ορίζουμε το abc ως t0 , και κατά σύμβαση επίσης ορίζουμε ως πt0 (x) την δύναμη του x ως
προς τον περιγεγραμμένο κύκλο του t0 . Υποθέτουμε ότι το z είναι μια κορυφή που βρίσκεται
μέσα στον περιγεγραμμένο κύκλο του abc. Τότε θα μπορούσαμε να βρούμε μια ακολουθία
τριγώνων ξεκινώντας από το abc και τελειώνοντας στο τρίγωνο uvz, δηλαδή,
Άρα τώρα έχουμε πtm (z) = 0 και πti (z) > 0, για i = m - 1,...,0. Αλλά η υπόθεση μας σημαίνει
πως πt0 (z) < 0, που είναι μια αντίφαση.
26 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Ο αλγόριθμος Περιστροφής έχει τουλάχιστον τρεις χρήσεις: είναι ένας απλός αλγόριθμος για
τον υπολογισμό μίας Delaunay τριγωνοποίησης. Είναι η βάση μιας εποικοδομητικής απόδει-
ξης ότι κάθε πεπερασμένο σύνολο σημείων στο επίπεδο έχει μία Delaunay τριγωνοποίηση
και είναι η βάση μίας απόδειξης που δείχνει ότι η Delaunay τριγωνοποίηση βελτιστοποιεί αρ-
κετά γεωμετρικά κριτήρια σε σύγκριση με όλες τις άλλες τριγωνοποιήσεις του ίδιου συνόλου
σημείων.
Έστω V είναι ένα σύνολο σημείων που θέλουμε να τριγωνοποιήσουμε. Ο αλγόριθμος Περι-
στροφής ξεκινά με οποιαδήποτε τριγωνοποίηση Τ του V, για παράδειγμα τη λεξικογραφική
τριγωνοποίηση η οποία περιγράφεται στην Ενότητα 2.1. Το Delaunay Λήμμα μας λέει ότι
η T είναι Delaunay, άν και μόνο αν κάθε ακμή του Τ είναι τοπικά Delaunay. Ο αλγόριθ-
μος Περιστροφής επιλέγει επανειλημμένα κάθε ακμή που δεν είναι τοπικά Delaunay και την
περιστρέφει.
Η ένωση δύο τριγώνων που μοιράζονται μια ακμή είναι ένα τετράπλευρο, και η κοινή ακμή
είναι μια διαγώνιος του τετράπλευρου. Για να περιστρέψουμε μια ακμή σημαίνει ότι πρέπει
να την αντικαταστήσουμε με την άλλη διαγώνιο του τετραπλεύρου, όπως απεικονίζεται στο
Σχήμα 2.16. Μία περιστροφή μίας ακμής είναι επιτρεπτή μόνο αν οι δύο διαγώνιοι διασχίζουν
η μία την άλλη, ισοδύναμα, αν το τετράπλευρο είναι κυρτό. Στο Σχήμα 2.15, μπορούμε να
δούμε ότι κάθε ακμή δεν μπορεί να περιστραφεί, γιατί το τετράπλευρο μπορεί να μην είναι
κυρτό. Παρ ’όλα αυτά, κάθε ακμή που δεν μπορεί να περιστραφεί, είναι επίσης πάντα τοπικά
Delaunay.
Σχήμα 2.15: Στο μη κυρτό τετράπλευρο abcd, η ac ακμή δεν μπορεί να περι-
στραφεί.
Σχήμα 2.16: (a) Η ακμή e είναι τοπικά Delaunay, (b) Η ακμή e δεν είναι
τοπικά Delaunay, αλλά η ακμή που δημιουργείται από την περιστροφή της e
είναι τοπικά Delaunay.
2.6. Ο Αλγόριθμος Περιστροφής (Flip) 27
Λήμμα 4. Έστω e μία ακμή σε μία τριγωνοποίηση του V. Είτε η e είναι τοπικά Delaunay είτε
η e μπορεί να περιστραφεί και η ακμή που δημιουργείται από την περιστροφή της e είναι
τοπικά Delaunay.
Απόδειξη. Έστω v και w είναι οι κορυφές απέναντι από την e. Θεωρήστε το τετράπλευρο που
ορίζεται από τα άκρα της e και τις κορυφές v, w, όπως απεικονίζεται στο Σχήμα 2.16. Έστω
C ο κύκλος που περνά από την v και τα άκρα της e. Αν η w βρίσκεται στην περιφέρεια του C
ή εκτός του C, όπως φαίνεται στο Σχήμα 2.12(a), τότε ο κενός κύκλος C καταδεικνύει ότι η e
είναι τοπικά Delaunay. Διαφορετικά, η w είναι μέσα στο τμήμα του C που οριοθετείται από
την e και το συμμετρικό σημείο της v. Αυτό το τμήμα είναι σκιασμένο στο Σχήμα 2.12(b).
Έτσι, το τετράπλευρο είναι αυστηρά κυρτό, οπότε η ακμή e μπορεί να περιστραφεί. Επιπλέον,
ο κύκλος που είναι εφαπτόμενος στο C στο v και διέρχεται από το w δεν περικλείει τα άκρα
του e, επειδή το C το περικλείει, όπως δείχνει το Σχήμα 2.12(b). Επομένως, η ακμή vw είναι
τοπικά Delaunay.
Θεώρημα 5. Δεδομένης μίας τριγωνοποίησης n σημείων, ο αλγόριθμος Περιστροφής τερ-
ματίζει μετά από O (n2 ) περιστροφές ακμών, ο οποίος παράγει μία Delaunay τριγωνοποί-
ηση.
Απόδειξη. Έστω T είναι η αρχική τριγωνοποίηση που παρέχεται ως είσοδος στον αλγόριθμο
Περιστροφής. Έστω T + = {σ + : σ ∈ T } είναι η αρχική τριγωνοποίηση που ανυψώθηκε
στον παραβολικό χάρτη ανύψωσης. Το T + είναι ένα simplicial σύμπλεγμα ενσωματωμένο
στο E 3 . Αν η T είναι Delaunay, τότε T + τριγωνοποιεί την κάτω πλευρά του conv(V + ), αλ-
λιώς, από το Λήμμα 1, οι ακμές της Τ που δεν είναι τοπικά Delaunay ανυψώνονται στις
αντανακλώμενες ακμές του T + όπου εκεί είναι τοπικά μη κυρτό.
Με τη χρήση του λήμματος 2, μία περιστροφή μίας ακμής αντικαθιστά μια ακμή που δεν εί-
ναι τοπικά Delaunay, με μία που είναι. Στην ανυψωμένη τριγωνοποίηση T + , μία περιστροφή
αντικαθιστά μια αντανακλώμενη ακμή με μία κυρτή ακμή. Έστω Q είναι το σύνολο που πε-
ριέχει τις τέσσερις κορυφές των δύο τριγώνων που μοιράζονται την ακμή που έχει περιστρα-
φεί. Άρα conv(Q+ ) είναι ένα τετράεδρο του οποίου οι προς τα πάνω όψεις είναι τα simplices,
πριν περιστραφούν και οι προς τα πάνω όψεις είναι τα simplices, αφού περιστράφηκαν. Φα-
νταστείτε την περιστροφή της ακμής ως μία πράξη συγκόλλησης αυτού του τετράεδρου με
την προς τα κάτω πλευρά του T + .
Το γεγονός ότι ο αλγόριθμος Περιστροφής τερματίζει, βοηθάει στην απόδειξη ότι κάθε σύ-
νολο σημείων έχει μία Delaunay τριγωνοποίηση.
Πόρισμα 6. Κάθε πεπερασμένο σύνολο σημείων στο επίπεδο έχει μία Delaunay τριγωνοποί-
ηση.
Απόδειξη. Στην ενότητα 2.1 δείξαμε ότι κάθε πεπερασμένο σύνολο σημείων έχει τουλά-
χιστον μία τριγωνοποίηση. Με τη χρήση του θεωρήματος 5, η εφαρμογή του αλγορίθμου
Περιστροφής σε εκείνη την τριγωνοποίηση παράγει μία Delaunay τριγωνοποίηση.
Αν ένα σύνολο σημείων έχει παραπάνω από μία Delaunay τριγωνοποίηση, ο αλγόριθμος Πε-
ριστροφής θα βρει μία από αυτές. Το ποια θα βρει εξαρτάται από την αρχική τριγωνοποίηση
και τη σειρά με την οποία οι περιστροφές εφαρμόζονται.
Μια αποτελεσματική υλοποίηση του αλγόριθμου Περιστροφής απαιτεί ένα επιπλέον συστα-
τικό. Πόσο γρήγορα μπορούμε να βρούμε μια ακμή που δεν είναι τοπικά Delaunay; Θα ήταν
αρκετά αργό να ελέγξουμε επανειλημμένα κάθε ακμή της τριγωνοποίησης. Άντι αυτού, ο
αλγόριθμος Περιστροφής διατηρεί μια λίστα με ακμές που ενδέχεται να μην είναι τοπικά
Delaunay. Ο λίστα αυτή αρχικά περιέχει κάθε ακμή της τριγωνοποίησης. Στη συνέχεια, ο αλ-
γόριθμος Περιστροφής επαναλαμβάνει την διαδικασία που περιγράφεται στη συνέχεια μέχρι
28 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Απόδειξη. Έστω το uv να είναι το αναδιπλωμένο άκρο και έστω τα △ wvu και △ xuv να
είναι τα τρίγωνα που διαγράφονται από την περιστροφή, έτσι ώστε τα △ wxu και △ xwv να
είναι τα τρίγωνα που δημιουργούνται από το flip.
Η γωνία απέναντι από την ακμή uw είναι η ∠wvu πριν την περιστροφή, και η ∠wxu μετά την
περιστροφή. Όπως φαίνεται στο Σχήμα 2.17, η νέα γωνία είναι μεγαλύτερη από την παλιά
βάσει του θεωρήματος του Θαλή, επειδή ο περιγεγραμμένος κύκλος του △wvu περικλείει το
x. Ομοίως, η περιστροφή μεγαλώνει τις γωνίες απέναντι από τις ακμές wv, vx και xu.
Κάθε μία από τις άλλες δύο γωνίες των νέων τριγώνων, ∠xuw και ∠wvx, είναι ένα άθροισμα
δύο γωνιών πριν περιστραφούν, που ενώνονται όταν διαγράφεται το uv. Συνεπώς, και οι έξι
γωνίες των δύο τριγώνων που έχουν περιστραφεί, υπερβαίνουν την μικρότερη μεταξύ των
τεσσάρων γωνιών, στις οποίες η ακμή uv συμμετάσχει πριν την περιστροφή.
Ας υποθέσουμε, χωρίς απώλεια της γενικότητας, ότι ο περιγεγραμμένος κύκλος του △wxu εί-
ναι τουλάχιστον τόσο μεγάλος, όσο ο περιγεγραμμένος κύκλος του △xwv , και ότι ∠wxu≤∠uwx,
υποδηλώνοντας ότι η ∠wxu είναι οξεία. Επειδή ο περιγεγραμμένος κύκλος του △wvu περι-
κλείει το x, είναι μεγαλύτερος από τον περιγεγραμμένο κύκλο του △wxu, όπως απεικονίζεται
στο Σχήμα 2.17. Επομένως, ο μεγαλύτερος περιγεγραμμένος κύκλος, πριν την περιστροφή,
είναι μεγαλύτερος από τον μεγαλύτερο περιγεγραμμένο κύκλο, μετά την περιστροφή.
Σχήμα 2.17: Μία Delaunay Περιστροφή μεγαλώνει την γωνία απέναντι από
την πλευρά uw και αν η ∠wxu είναι οξεία μία το μέγεθος του περιγεγραμ-
μένου κύκλου του τριγώνου που συνορεύει με αυτήν την ακμή.
Το Θεώρημα 7 εγγυάται ότι αν ένα σύνολο σημείων έχει μόνο μία Delaunay τριγωνοποί-
ηση, η Delaunay τριγωνοποίηση είναι βέλτιστη. Αλλά τι γίνεται αν ένα σύνολο σημείων έχει
περισσότερες από μία Delaunay τριγωνοποιήσεις; Κάθε Delaunay τριγωνοποίηση βελτιστο-
ποιεί αυτά τα κριτήρια, διότι κάθε Delaunay τριγωνοποίηση μπορεί να μετατραπεί σε οποια-
δήποτε άλλη Delaunay τριγωνοποίηση των ίδιων σημείων με μια ακολουθία περιστροφών
ακμών έτσι ώστε κάθε ενδιάμεση τριγωνοποίηση να είναι Delaunay, και κάθε περιστροφή να
διατηρεί τη βελτιστότητα.
Ο αλγόριθμος περιστροφής και η ιδιότητα της Delaunay τριγωνοποίησης που αφορά την μεγι-
στοποίηση της ελάχιστης γωνίας εισήχθησαν από τον Charles Lawson [38], ο οποίος εισήγαγε
επίσης τον αλγόριθμο σταδιακής εισαγωγής (incremental insertion) για την κατασκευή μίας
Delaunay Τριγωνοποίησης. Ο D’Azevedo και ο Simpson [21] ήταν οι πρώτοι που έδειξαν
ότι οι δισδιάστατες Delaunay τριγωνοποιήσεις ελαχιστοποιούν τον μεγαλύτερο κύκλο ελά-
χιστου εγκλεισμού. Ο Rajan [53] αποδεικνύει ότι οι Delaunay τριγωνοποιήσεις υψηλότερης
διάστασης ελαχιστοποιούν τη μεγαλύτερη υπερσφαίρα ελάχιστου εγκλεισμού.
30 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Το προτέρημα ενός Delaunay ισχυρού simplex είναι ότι εμφανίζεται σε κάθε Delaunay τρι-
γωνισμό ενός συνόλου σημείων. Εάν ένα σύνολο σημείων έχει πολλαπλές Delaunay τριγω-
νοποιήσεις, αυτές διαφέρουν μόνο στις επιλογές των simplices που είναι απλώς Delaunay. Ως
εκ τούτου, ένα σύνολο σημείων έχει μόνο μία Delaunay τριγωνοποίηση, εάν δεν έχει τέσσερα
σημεία συν-περιφερειακά, που ανήκουν στην ίδια περιφέρεια ενός κύκλου,
Ας αποδείξουμε αυτά τα γεγονότα. Απλοϊκά μιλώντας, το ακόλουθο θεώρημα λέει ότι τα
Delaunay ισχυρά simplices διασταυρώνονται όμορφα.
Θεώρημα 9. Έστω σ είναι ένα Delaunay ισχυρό simplex, και έστω τ είναι ένα Delaunay
simplex. Τότε η τομή σ ∩ τ είναι είτε κενή, είτε μία κοινή όψη και των δύο, σ και τ .
Απόδειξη. Αν το τ είναι μία όψη του σ, τότε το θεώρημα εφαρμόζεται αμέσως. Διαφορε-
τικά, το τ έχει μια κορυφή v που το σ δεν έχει. Επειδή το τ είναι Delaunay, έχει έναν κενό
περιγεγραμμένο κύκλο Cτ . Επειδή το σ είναι Delaunay ισχυρό, έχει επίσης έναν κενό περι-
γεγραμμένο κύκλο Cσ που δεν διέρχεται από το v, όπως απεικονίζεται στο Σχήμα 2.18. Αλλά
το v βρίσκεται στο Cτ , έτσι ώστε Cσ ̸= Cτ .
Η τομή των περιγεγραμμένων κύκλων Cσ ∩ Cτ περιέχει είτε μηδέν, είτε ένα, είτε δύο σημεία.
Στις δύο πρώτες περιπτώσεις, το θεώρημα εφαρμόζεται εύκολα. Υποθέστε λοιπόν, ότι έχουμε
δύο σημεία w και x, και πως η λ είναι η μοναδική ευθεία που περνά από το w και το x. Από τη
μία πλευρά της λ, ένα τόξο του Cσ περικλείει ένα τόξο του Cτ και επειδή το Cσ είναι κενό,
καμία κορυφή του τ δεν βρίσκεται σε αυτήν την πλευρά της λ. Συμμετρικά, καμία κορυφή
του σ δεν βρίσκεται στην άλλη πλευρά της λ. Επομένως, σ ∩ τ ⊂ λ. Από αυτό προκύπτει
σ ∩ λ είναι είτε ∅, {w}, {x}, είτε ή ακμή wx. Το ίδιο ισχύει και για τ ∩ λ, και συνεπώς για
σ ∩ τ.
Το Θεώρημα 9 μας οδηγεί στο συμπέρασμα, ότι αν ένα σύνολο σημείων έχει πολλές Delaunay
τριγωνοποιήσεις, τότε αυτές διαφέρουν μόνο όσον αφορά τα simplices που δεν είναι Delaunay
ισχυρά.
Θεώρημα 10. Κάθε Delaunay τριγωνοποίηση ενός συνόλου σημείων περιέχει κάθε Delaunay
ισχυρό simplex.
2.9. Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 31
Απόδειξη. Έστω T είναι κάθε Delaunay τριγωνοποίηση ενός συνόλου σημείων V, σ είναι
οποιαδήποτε Delaunay ισχυρό Simplex και p είναι ένα σημείο στο σχετικό εσωτερικό του
σ.
Ορισμένα Delaunay simplex τ στο T περιέχουν το σημείο p. Από το Θεώρημα 9, προκύπτει
ότι το σ ∩τ είναι η κοινή όψη του σ και του τ .Αλλά το σ ∩τ περιέχει το p, το οποίο βρίσκεται
στο σχετικό εσωτερικό του σ, έτσι σ ∩ τ = σ. Επομένως, το σ είναι μία όψη του τ, άρα
σ ∈ T.
Μια άμεση συνέπεια αυτού του θεωρήματος είναι ότι τα ”περισσότερα” σύνολα σημείων, ή
τουλάχιστον, τα περισσότερα σύνολα σημείων με τυχαία διαταραγμένες πραγματικές συντε-
ταγμένες, έχουν μόνο μία Delaunay τριγωνοποίηση.
Απόρροια 11. Έστω V είναι ένα σύνολο σημείων. Υποθέτουμε ότι δεν υπάρχουν τέσσερα
σημεία στο V που βρίσκονται σε έναν κοινό κενό κύκλο. Τότε το V έχει το πολύ μία Delaunay
τριγωνοποίηση.
Απόδειξη. Επειδή δεν υπάρχουν τέσσερα σημεία σε έναν κοινό κενό κύκλο, κάθε Delaunay
simplex είναι Delaunay ισχυρό. Βάσει του θεωρήματος 10, κάθε Delaunay τριγωνοποίηση
του V περιέχει κάθε Delaunay Simplex. Εξ ορισμού, δεν υπάρχει Delaunay τριγωνοποίηση,
η οποία να περιέχει ένα τρίγωνο που δεν είναι Delaunay. Ως εκ τούτου, η Delaunay τριγωνο-
ποίηση ορίζεται μοναδικά ως το σύνολο όλων των τρίγωνων Delaunay και των όψεων των
τριγώνων αυτών.
Μια εναλλακτική λύση στο δεύτερο πρόβλημα θα μπορούσε να αποτελέσει η χρήση μιας Πε-
ριορισμένης Delaunay τριγωνοποίησης (ΠDT). Μία ΠDΤ ορίζεται σε σχέση με ένα σύνολο
σημείων και ευθύγραμμων τμημάτων που οριοθετούν την περιφέρεια του τομέα. Κάθε ευθύ-
γραμμο τμήμα πρέπει να γίνει μια ακμή του ΠDΤ. Τα τρίγωνα μίας ΠDΤ δεν απαιτείται να
είναι Delaunay. Αντίθετα, πρέπει να είναι Delaunay περιορισμένα. Αυτή είναι μια ιδιότητά
που χαλαρώνει εν μέρει την ιδιότητα του κενού περιγεγραμμένου κύκλου.
Μια αρετή μίας ΠDT είναι ότι μπορεί να σέβεται αυθαίρετα ευθύγραμμα τμήματα, χωρίς να
απαιτεί ταυτόχρονα την εισαγωγή κάποιας επιπλέον κορυφής, πέραν των κορυφών των τμη-
μάτων. Ένα ακόμη πλεονέκτημα είναι ότι η ΠDT κληρονομεί την βελτιστότητα της Delaunay
τριγωνοποίησης. Δηλαδή, μεταξύ όλων των τριγωνοποιήσεων ενός συνόλου σημείων που
περιλαμβάνει όλα τα ευθύγραμμα τμήματα, η ΠDT μεγιστοποιεί την ελάχιστη γωνία [39],
ελαχιστοποιεί το μεγαλύτερο περιγεγραμμένο κύκλο, καθώς επίσης και τον μεγαλύτερο Ελά-
χιστο κύκλο εγκλεισμού. Οι ΠDT στο επίπεδο ήταν μαθηματικά επισημοποιημένες από τους
Lee και Lin [39] το 1986, όμως οι αλγόριθμοι που δημιουργούν εν αγνοία τους ΠDT εμφα-
νίστηκαν πολύ νωρίτερα [29], [50].
Ο τομέας πάνω στον οποίο ορίζεται μία ΠDT, και η είσοδος σε έναν αλγόριθμο κατασκευής
ΠDT, δεν συνιστούν απλώς ένα σετ των σημείων, αλλά μάλλον ένα σύμπλεγμα αποτελούμενο
από σημεία, ακμές και πολύγωνα, όπως απεικονίζεται στο Σχήμα 2.20. Ο σκοπός των ακμών
είναι να υπαγορεύσουν ότι οι τριγωνοποιήσεις του συμπλέγματος πρέπει να περιέχουν αυτές
τις ακμές. Ο σκοπός των πολυγώνων είναι να καθορίζουν την περιοχή προς τριγωνοποίηση.
Τα πολύγωνα δεν είναι αναγκαστικά κυρτά και ενδέχεται να έχουν τρύπες.
Ορισμός 31 Τμηματικά γραμμικό σύμπλεγμα, ευθύγραμμο τμήμα, τοίχος. Στο επίπεδο, ένα
τμηματικά γραμμικό σύμπλεγμα (ΤΓΣ) X είναι ένα πεπερασμένο σύνολο κορυφών, ακμών
και πολύγωνων που ικανοποιεί τις ακόλουθες ιδιότητες:
i Οι κορυφές και οι ακμές στο Χ σχηματίζουν ένα simplicial σύμπλεγμα. Δηλαδή, το Χ
περιέχει και τις δύο κορυφές κάθε ακμής στο Χ και το σχετικό εσωτερικό μιας ακμής στο
Χ δεν τέμνει καμία κορυφή στο Χ, ούτε οποιαδήποτε άλλη ακμή στο Χ.
ii Για κάθε πολύγωνο f στο X, η περιφέρεια του f είναι μια ένωση ακμών στο X.
iii Αν διασταυρωθούν δύο πολύγωνα στο Χ, η τομή τους είναι μια ένωση ακμών και κο-
ρυφών στο X. Για παράδειγμα, στο Σχήμα 2.20 f ∩ g είναι μια ένωση τριών άκρων και
μιας κορυφής στο Χ. Αυτός ο κανόνας υποδηλώνει ότι δύο εσωτερικά πολυγώνων δεν
μπορούν να διασταυρωθούν.
2.9. Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 33
Όπως αναφέρει και ο Ruppert [54], οι ακμές σε ένα ΤΓΣ X καλούνται ευθύγραμμα τμήματα
προκειμένου να διακρίνονται από άλλες ακμές σε μία τριγωνοποίηση του Χ. Τα πολύγωνα
σε ένα ΤΓΣ ονομάζονται τοίχοι.
Ο υποκείμενος χώρος
∪ ενός ΤΓΣ X, που δηλώνεται ως |X|, είναι η ένωση των περιεχομένων
του, δηλαδή, |X| = f ∈X f . Συνήθως, ο υποκείμενος χώρος είναι ο τομέας που πρόκειται να
τριγωνοποιηθεί.
Κάθε simplicial σύμπλεγμα είναι ένα ΤΓΣ. Ωστόσο, τα ΤΓΣ είναι πιο γενικά. Όπως απεικονί-
ζεται στο Σχήμα 2.20, αυτό συμβαίνει όχι απλώς και μόνο επειδή επιτρέπουν μη κυρτά πολύ-
γωνα, αλλά επειδή ευθύγραμμα τμήματα και απομονωμένες κορυφές μπορεί να ”επιπλέουν”
στο εσωτερικό του τοίχου, περιορίζοντας τον τρόπο με τον οποίο μπορεί να τριγωνοποιηθεί ο
τοίχος. Ένας σκοπός αυτών των ”πλωτών” περιορισμούς είναι το να επιτρέπεται η εφαρμογή
οριακών συνθηκών σε κατάλληλες θέσεις σε ένα πλέγμα ενός ΤΓΣ.
Παρά το γεγονός ότι οι όψεις ενός simplex ορίζονται με έναν τρόπο που εξαρτάται αποκλει-
στικά από το simplex και οι όψεις ενός κυρτού πολύεδρου επίσης, οι όψεις ωστόσο, ενός
τοίχου ορίζονται με έναν θεμελιωδώς διαφορετικό τρόπο που εξαρτάται τόσο από τον τοίχο,
όσο και από το ΤΓΣ. Μια ακμή ενός τοίχου μπορεί να είναι μια ένωση διαφόρων τμημάτων
στο ΤΓΣ. Αυτά τα ευθύγραμμα τμήματα και οι κορυφές τους είναι όψεις του τοίχου. Ένα
ΤΓΣ μπορεί να περιέχει ευθύγραμμα τμήματα και ακμές που βρίσκονται στο σχετικό εσωτε-
ρικό του τοίχου. Αυτά θεωρούνται επίσης όψεις του τοίχου, επειδή οριοθετούν πώς μπορεί ο
τοίχος να υποδιαιρεθεί σε τρίγωνα.
Ορισμός 32 Όψη γραμμικού στοιχείου. Οι όψεις ενός γραμμικού στοιχείου f (πολύγωνο, ακμή
ή κορυφή) σε ένα ΤΓΣ X είναι τα γραμμικά στοιχεία στο Χ που είναι υποσύνολα του f,
συμπεριλαμβανομένου του ίδιου του f.
Μια τριγωνοποίηση του Χ πρέπει να καλύπτει κάθε τοίχο και να περιλαμβάνει κάθε ευθύ-
γραμμο τμήμα.
Ορισμός 33 Τριγωνοποίηση ενός επίπεδου ΤΓΣ. Έστω X είναι ένα ΤΓΣ στο επίπεδο. Μια
τριγωνοποίηση του Χ είναι ένα simplicial σύμπλεγμα T τέτοιο ώστε:
i Τα Χ και Τ έχουν τις ίδιες κορυφές,
ii Το T περιέχει κάθε ακμή στο Χ (και ίσως επιπλέον ακμές),
iii |Τ| = |Χ|
Δεν είναι δύσκολο να δούμε ότι ένα simplex μπορεί να εμφανιστεί σε μία τριγωνοποίηση του
X μόνο αν ”σέβεται” το X.
Ορισμός 34 Σεβασμός. Ένα simplex σ σέβεται ένα ΤΓΣ X αν σ ⊆ |X| και για κάθε f ∈ X
που τέμνει το σ, f ∩ σ είναι μια ένωση των όψεων του σ. (Συνήθως, αλλά όχι πάντα, αυτή
η ένωση είναι μία όψη του σ ή το ίδιο το σ.) Με άλλα λόγια, το f συμπεριλαμβάνει πλήρως
κάθε όψη του σ, του οποίου το σχετικό εσωτερικό τμήμα τέμνει το f.
Θεώρημα 12. Κάθε απλό πολύγωνο τριγωνοποιείται. Κάθε ΤΓΣ στο επίπεδο επίσης τριγω-
νοποιείται.
Απόδειξη: Έστω P είναι ένα απλό πολύγωνο. Αν το P είναι ένα τρίγωνο, είναι σαφές ότι
έχει μία τριγωνοποίηση. Διαφορετικά, θεωρούμε την ακόλουθη διαδικασία για την τριγωνο-
ποίηση του P. Έστω ∠uvw είναι μια γωνία του P που έχει εσωτερική γωνία μικρότερη από
180°. Δύο τέτοιες γωνίες εντοπίζονται θεωρώντας ότι το v είναι η λεξικογραφικά ελάχιστη ή
μεγαλύτερη κορυφή του P.
34 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Αν η ανοιχτή ακμή uw (ανοιχτή ακμή είναι μία ακμή που την ”λείπουν” τα άκρα της) βρίσκε-
ται αυστηρά στο εσωτερικό του P, κόβοντας το △uvw από το P, παράγεται ένα πολύγωνο που
έχει μία ακμή λιγότερο, το οποίο τριγωνοποιούμε αναδρομικά. Διαφορετικά, το △uvw περιέ-
χει τουλάχιστον μία κορυφή του P εκτός των u, v, και w, όπως απεικονίζεται στο Σχήμα 2.21.
Μεταξύ αυτών των κορυφών, έστω x είναι η κορυφή που είναι η πιο απομακρυσμένη από
την γραμμή aff(uw). Η ανοιχτή ακμή vx πρέπει να βρίσκεται αυστηρά στο εσωτερικό του P,
διότι εάν τέμνει μια ακμή του P, αυτή η ακμή θα έχει μία κορυφή μακρύτερα από την aff(uw).
Κόβοντας το P στο vx, παράγονται δύο απλά πολύγωνα, το καθένα με λιγότερες ακμές από
το P, τα οποία τριγωνοποιούμε αναδρομικά. Σε κάθε περίπτωση, η διαδικασία παράγει μία
τριγωνοποίηση του P.
Έστω X είναι ένα επίπεδο ΤΓΣ. Θεωρήστε την ακόλουθη διαδικασία για την τριγωνοποίηση
του X. Ξεκινήστε με μία αυθαίρετη τριγωνοποίηση των κορυφών του Χ, όπως η λεξικο-
γραφική τριγωνοποίηση που περιγράφεται στην Ενότητα 2.1. Εξετάζουμε κάθε ευθύγραμμο
τμήμα στο Χ για να δούμε αν είναι ήδη μια ακμή της τριγωνοποίησης. Εισάγουμε κάθε ευθύ-
γραμμο τμήμα που λείπει στην τριγωνοποίηση διαγράφοντας όλες τις ακμές και τα τρίγωνα
που τέμνουν το σχετικό εσωτερικό τους, δημιουργώντας έτσι το νέο ευθύγραμμο τμήμα, και
εκ νέου τριγωνοποιώντας τις δύο πολυγωνικές κοιλότητες που δημιουργήθηκαν με τον τρόπο
αυτό (ένα σε κάθε πλευρά του ευθύγραμμου τμήματος), όπως απεικονίζεται στο Σχήμα 2.22.
Οι κοιλότητες μπορεί να μην είναι απλά πολύγωνα, επειδή μπορεί να έχουν ακμές που κρέ-
μονται στο εσωτερικό τους, όπως φαίνεται στο Σχήμα 2.22. Αλλά είναι πολύ απλό να επα-
ληθεύσουμε ότι η διαδικασία που συζητήθηκε παραπάνω για την τριγωνοποίηση ενός απλού
πολύγωνου λειτουργεί εξίσου καλά και για μια κοιλότητα με κρεμάμενες ακμές.
Η πράξη εισαγωγής ενός ευθύγραμμου τμήματος δεν διαγράφει ποτέ άλλο ευθύγραμμο τμήμα,
επειδή δύο ευθύγραμμα τμήματα στο Χ δεν μπορούν να περάσουν. Επομένως, η τριγωνο-
ποίηση περιέχει όλα τα ευθύγραμμα τμήματα μετά την εισαγωγή τους. Τέλος, διαγράφουμε
τυχόν simplices που δεν περιλαμβάνονται στο |X|.
Ο ορισμός 33 δεν επιτρέπει στο Τ να έχει κορυφές που δεν περιέχονται στο Χ, αλλά η παρα-
γωγή πλέγματος συνήθως προκύπτει προσθέτοντας νέες κορυφές για να εξασφαλιστεί ότι τα
τρίγωνα έχουν υψηλή ποιότητα. Αυτό μας ωθεί στην Steiner τριγωνοποίηση.
2.9. Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 35
Οι περιορισμένες Delaunay τριγωνοποιήσεις (ΠDT) που θεμελιώθηκαν από τον L. Paul Chew
[13] προσφέρουν έναν τρόπο που εξαναγκάζει μία τριγωνοποίηση να σέβεται τις ακμές ενός
ΤΓΣ χωρίς την εισαγωγή νέων κορυφών, διατηρώντας παράλληλα μερικά από τα πλεονε-
κτήματα των Delaunay τριγωνοποιήσεων. Ωστόσο, είναι απαραίτητο να χαλαρώσουμε την
απαίτηση που επιβάλλει όλα τα τρίγωνα να είναι Delaunay. Η ορολογία μπορεί να είναι συ-
γκεχυμένη. Ενώ κάθε Steiner Delaunay τριγωνοποίηση είναι μια Delaunay τριγωνοποίηση
(ενός συνόλου σημείων), οι περιορισμένες Delaunay τριγωνοποιήσεις γενικά δεν είναι.
Κατά το προαναφερθέν Delaunay Λήμμα, μία τριγωνοποίηση ενός συνόλου σημείων είναι
Delaunay αν και μόνο αν κάθε ακμή είναι τοπικά Delaunay. Ομοίως, υπάρχει ένα περιορι-
σμένο Delaunay Λήμμα που προσφέρει τον πιο απλό ορισμό μίας ΠDΤ, σύμφωνα με το οποίο
μία τριγωνοποίηση ενός ΤΓΣ είναι Περιορισμένη Delaunay αν και μόνο αν κάθε ακμή είναι
τοπικά Delaunay ή ένα ευθύγραμμο τμήμα. Συνεπώς, μία ΠDΤ διαφέρει από μία Delaunay
τριγωνοποίηση με τρεις τρόπους: (a) δεν είναι απαραίτητα κυρτή, (b) απαιτείται να περιέ-
χει τις ακμές σε ένα ΤΓΣ και (c) οι ακμές αυτές απαλλάσσονται από το να είναι τοπικά
Delaunay.
Το καθοριστικό χαρακτηριστικό μίας ΠDΤ είναι ότι κάθε τρίγωνο είναι Delaunay περιορι-
σμένο, όπως ορίζεται παρακάτω.
Ορισμός 36 Ορατότητα. Δύο σημεία x και y είναι ορατά μεταξύ του, εάν το ευθύγραμμο
τμήμα xy σέβεται το X (βλέπε Ορισμό 34). Λέμε επίσης ότι τα x και y μπορούν να δουν το
ένα το άλλο. Ένα γραμμικό στοιχείο στο Χ που τέμνει το σχετικό εσωτερικό του xy αλλά δεν
περιλαμβάνει το xy, λέγεται ότι αποκλείει την ορατότητα μεταξύ των x και y.
36 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Ορισμός 37 Delaunay Περιορισμένο. Στο πλαίσιο ενός ΤΓΣ X, ένα simplex σ είναι Delaunay
περιορισμένο αν αυτό ικανοποιεί τις ακόλουθες τρεις συνθήκες.
i Τ Χ περιέχει τις κορυφές του σ.
ii Tο σ σέβεται το Χ
iii Υπάρχει ένας περιγεγραμμένος κύκλος του σ που δεν περικλείει καμία κορυφή στο X που
είναι ορατή από ένα σημείο στο σχετικό εσωτερικό του σ.
Το Σχήμα 2.23 απεικονίζει παραδείγματα μίας περιορισμένης Delaunay ακμής e και ενός
περιορισμένου Delaunay τριγώνου τ. Οι έντονες γραμμές υποδηλώνουν τα ευθύγραμμα τμή-
ματα του ΤΓΣ. Παρόλο που η e δεν έχει κενό περιγεγραμμένο κύκλο, ο απεικονιζόμενος πε-
ριγεγραμμένος κύκλος του e δεν περικλείει καμία κορυφή που να είναι ορατή από το σχετικό
εσωτερικό του e. Υπάρχουν δύο κορυφές μέσα στον κύκλο, αλλά και οι δύο είναι κρυμμένες
πίσω από ευθύγραμμα τμήματα. Ως εκ τούτου, η e είναι Delaunay περιορισμένη. Ομοίως, ο
περιγεγραμμένος κύκλος του τ περικλείει δύο κορυφές. Επειδή όμως και οι δύο είναι κρυμ-
μένες από το εσωτερικό του τ εξαιτίας κάποιων ευθύγραμμων τμημάτων, το τ είναι Delaunay
περιορισμένο.
Σχήμα 2.24: (a) Ένα ΤΓΣ. (b) Η Delaunay τριγωνοποίηση των κορυφών του.
(c) Η ΠDΤ του ΤΓΣ.
2.9. Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 37
Οι ΠDΤ και οι Steiner Delaunay τριγωνοποιήσεις είναι δύο διαφορετικοί τρόποι για να εξα-
ναγκάσουμε μια τριγωνοποίηση να συμμορφωθεί στην περιφέρεια ενός γεωμετρικού τομέα.
Οι ΠDΤ θυσιάζουν εν μέρει την Delaunay ιδιότητα στο βωμό της μη χρήσης νέων κορυφών.
Για την παραγωγή πλέγματος, συνήθως χρειάζονται ούτως ή άλλως νέες κορυφές για την
επίτευξη καλών τριγώνων, για αυτό πολλοί αλγόριθμοι παραγωγής Delaunay πλέγματος χρη-
σιμοποιούν τις Steiner Delaunay τριγωνοποιήσεις. Αλλά μερικοί αλγόριθμοι χρησιμοποιούν
ένα υβρίδιο ΠDΤ και Steiner Delaunay τριγωνοποιήσεων, επειδή αυτό το υβρίδιο συμβά-
λει στην μείωση του αριθμού των νέων κορυφών. Μία Steiner ΠDΤ ή μία προσαρμοζόμενη
ΠDΤ του X είναι μια Steiner τριγωνοποίηση του Χ στην οποία κάθε τρίγωνο είναι Delaunay
περιορισμένο.
Για κάθε ιδιότητα των Delaunay τριγωνοποιήσεων που συζητήθηκε σε αυτό το κεφάλαιο,
υπάρχει μια ανάλογη ιδιότητα των περιορισμένων Delaunay τριγωνοποιήσεων. Αυτή η ενό-
τητα τις συνοψίζει, αλλά παραλείπει τις αποδείξεις. Ωστόσο, καθεμία από αυτές είναι μια
απλή επέκταση της αντίστοιχης απόδειξης για τις Delaunay τριγωνοποιήσεις.
Το Delaunay λήμμα γενικεύεται και στις ΠDΤ, και παρέχει έναν χρήσιμο εναλλακτικό ορισμό.
Μία τριγωνοποίηση ενός ΤΓΣ X είναι μία ΠDΤ, αν και μόνο αν κάθε μία από τις ακμές του
είναι τοπικά Delaunay ή ένα ευθύγραμμο τμήμα στο Χ είναι τοπικά Delaunay.
Θεώρημα 13 Περιορισμένο Delaunay Λήμμα. Έστω T είναι μία τριγωνοποίηση ενός ΤΓΣ X.
Οι ακόλουθες 3 δηλώσεις είναι ισοδύναμες:
i Κάθε τρίγωνο στην Τ είναι περιορισμένο Delaunay. Δηλαδή, η Τ είναι περιορισμένη
Delaunay.
ii Κάθε ακμή στο Τ, που δεν βρίσκεται στο X, είναι Delaunay περιορισμένη.
iii Κάθε ακμή στο Τ, που δεν βρίσκεται στο X, είναι τοπικά Delaunay.
Ένας τρόπος να κατασκευαστεί μια ΠDΤ ενός ΤΓΣ X είναι να ξεκινήσει με οποιαδήποτε τρι-
γωνοποίηση του X. Εφαρμόζουμε τον αλγόριθμο περιστροφής τροποποιημένο, έτσι ώστε να
μην στρέφει ποτέ ένα ευθύγραμμο τμήμα. Επιλέγουμε επανειλημμένα οποιαδήποτε ακμή της
τριγωνοποίησης που δεν είναι στο X και δεν είναι τοπικά Delaunay, και την περιστρέφουμε.
Όταν καμιά τέτοια ακμή δεν επιβιώσει, τότε το Delaunay λήμμα μας λέει ότι η τριγωνοποίηση
είναι Περιορισμένη Delaunay.
Θεώρημα 14. Δεδομένης μίας τριγωνοποίησης ενός ΤΓΣ που έχει n κορυφές, ο τροποποιη-
μένος αλγόριθμος Περιστροφής, που ποτέ δεν περιστρέφει ένα ευθύγραμμο τμήμα του ΤΓΣ,
τερματίζει μετά από O(n2 ) περιστροφές και παράγει μία περιορισμένη Delaunay τριγωνο-
ποίηση.
Πόρισμα 15. Κάθε ΤΓΣ έχει μία περιορισμένη Delaunay τριγωνοποίηση.
H ΠDΤ έχει τις ίδιες ιδιότητες βελτιστότητας με την Delaunay τριγωνοποίηση, εκτός από το
ότι η βελτιστότητα είναι σε σχέση με ένα μικρότερο σύνολο τριγωνοποιήσεων, εκείνων που
συμπεριλαμβάνουν τις ακμές του ΤΓΣ.
Θεώρημα 16. Μεταξύ όλων των τριγωνοποιήσεων ενός ΤΓΣ, κάθε περιορισμένη Delaunay
τριγωνοποίηση μεγιστοποιεί την ελάχιστη γωνία στην τριγωνοποίηση, ελαχιστοποιεί το με-
γαλύτερο περιγεγραμμένο κύκλο, καθώς και τον μεγαλύτερο Ελάχιστο κύκλο εγκλεισμού.
38 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2
Μια επαρκής αλλά όχι απαραίτητη προϋπόθεση για να είναι η ΠDΤ μοναδική είναι, ότι τέσ-
σερις κορυφές δεν είναι συν-περιφερειακές.
Θεώρημα 17. Εάν δεν υπάρχουν τέσσερις συν-περιφερειακές κορυφές σε ένα ΤΓΣ, τότε το
ΤΓΣ έχει μία μοναδική περιορισμένη Delaunay Τριγωνοποίηση.
39
Κεφάλαιο 3
Αλγόριθμοι Delaunay
Tριγωνοποίησης στο R2
i θετική τιμή, εάν τα σημεία a, b, c είναι διατεταγμένα αντίθετα από τη φορά των δεικτών
του ρολογιού
ii μηδέν, εάν τα σημεία είναι συνευθειακά
iii αρνητική τιμή, εάν τα σημεία a, b, c είναι διατεταγμένα όμοια προς τη φορά των δεικτών
του ρολογιού
Ο έλεγχος προσανατολισμού μπορεί να υπολογισθεί ως το πρόσημο της ορίζουσας των ση-
μείων που δίνονται ως ομοιογενείς συντεταγμένες, δηλαδή Orient2D(a, b, c) = sign(det(A)),
όπου:
ax ay 1
A = bx by 1 ,
cx cy 1
Ο Lawson [38] εισήγαγε τον πρώτο αλγόριθμο για την εισαγωγή μιας κορυφής σε μία Delaunay
τριγωνοποίηση και την αποκατάσταση της Delaunay ιδιότητας, ωστόσο αυτός λειτουργεί
μόνο στο επίπεδο. Ένας ελαφρώς ταχύτερος αλγόριθμος που λειτουργεί σε οποιαδήποτε διά-
σταση ανακαλύφθηκε ανεξάρτητα από τους Bowyer [8], Hermeline [33], [32] και Watson
[70]. Ο Bowyer και ο Watson το υπέβαλλαν ταυτόχρονα στο περιοδικό Computer Journal
και βρήκαν τα άρθρα τους δημοσιευμένα το ένα δίπλα στο άλλο.
Θεωρήστε την εισαγωγή μιας νέας κορυφής v σε μια Delaunay τριγωνοποίηση. Αν ο περιγε-
γραμμένος κύκλος ενός τριγώνου περικλείει το v, αυτό το τρίγωνο δεν είναι πλέον Delaunay,
επομένως πρέπει να διαγραφεί. Αυτή η ιδέα μας ωθεί στον αλγόριθμο Bowyer-Watson.
i Βρείτε ένα τρίγωνο του οποίου o περιγεγραμμένος κύκλος περικλείει το v.
3.2. Εισαγωγή μίας κορυφής σε μία Delaunay Τριγωνοποίηση 41
ii Βρείτε όλα τα άλλα τρίγωνα (σε χρόνο γραμμικό ως προς τον αριθμό τους) με DFS στην
τριγωνοποίηση.
iii Διαγράψτε τα όλα, εκκενώνοντας μια πολυεδρική κοιλότητα, η οποία σκιάζεται, όπως
απεικονίζεται δεξιά στο Σχήμα 3.1.
iv Για κάθε ακμή αυτής της κοιλότητας, δημιουργούμε ένα νέο τρίγωνο που το συνδέουμε
με το v, όπως απεικονίζεται δεξιά στο Σχήμα 3.1.
Σχήμα 3.2: Αλγόριθμος για εισαγωγή μιας κορυφής u μέσα σε μία Delaunay
Τριγωνοποίηση, δοσμένου ενός τριγώνου △vwx του οποίου ο περιγεγραμ-
μένος κύκλος περικλείει το u.
Απόδειξη: Πριν από την εισαγωγή του v, η τριγωνοποίηση είναι Delaunay, άρα όλες οι ακμές
της είναι τοπικά Delaunay. Έστω τ είναι ένα τρίγωνο του οποίου ο περιγεγραμμένος κύκλος
περικλείει το v. Έστω p οποιοδήποτε σημείο στο εσωτερικό του τ. Με την ίδια επαγωγική
λογική που χρησιμοποιείται στην απόδειξη του Delaunay λήμματος, κάθε τρίγωνο που τέμνει
το ευθύγραμμο τμήμα pv έχει επίσης το v μέσα στον περιγεγραμμένο κύκλο του. Συνεπώς το
ζητούμενο αποτέλεσμα προέκυψε.
Λήμμα 19. Έστω v είναι μια κορυφή που μόλις εισήχθη. Έστω τ είναι ένα τρίγωνο που δια-
γράφεται επειδή ο περιγεγραμμένος κύκλος του περικλείει το v. Έστω w είναι μια κορυφή
του τ. Τότε, η ακμή vw είναι έντονα Delaunay.
Απόδειξη: Βλ. Σχήμα 3.3. Ο περιγεγραμμένος κύκλος του τ δεν περικλείει καμία κορυφή
εκτός της v. Έστω C είναι ο κύκλος που είναι εφαπτόμενος στον περιγεγραμμένο κύκλο του
τ στο σημείο w και περνά μέσα από το v. Ο C δείχνει ότι το vw είναι Delaunay ισχυρό.
Θεώρημα 20. Μια τριγωνοποίηση, η οποία παράγεται εφαρμόζοντας τον αλγόριθμο Bowyer-
Watson σε μία Delaunay τριγωνοποίηση, είναι Delaunay.
3.3. Εισαγωγή μίας κορυφής στο εξωτερικό μιας Delaunay Τριγωνοποίησης 43
Απόδειξη: Από το λήμμα 18 προκύπτει ότι η ενημέρωση παράγει μία τριγωνοποίηση του συ-
νόλου σημείων που έχει αυξηθεί με το νέο σημείο. Όλα τα παλιά τρίγωνα που σώζονται είναι
Delaunay. διαφορετικά θα είχαν διαγραφεί. Συνεπώς οι ακμές τους είναι επίσης Delaunay.
Από το λήμμα 19, όλες οι νέες ακμές είναι ακμές Delaunay. Από το Delaunay λήμμα, η νέα
τριγωνοποίηση είναι Delaunay.
Τα τρίγωνα φάντασμα αποθηκεύονται ρητά στη δομή δεδομένων της τριγωνοποίησης. Δεν
είναι μόνο διακοσμητικά, καθιστούν δυνατό για τον αλγόριθμο Bowyer-Watson να διασχί-
σει αποτελεσματικά την περιφέρεια της τριγωνοποίησης και έτσι είναι απαραίτητα για την
επίτευξη ενός αλγόριθμου διαδοχικής εισαγωγής σε βέλτιστο χρόνο εκτέλεσης.
Θεωρούμε μια ακμή uv στην περιφέρεια μίας τριγωνοποίησης, που κατευθύνεται δεξιόστροφα
γύρω από την περιφέρεια. Ορίζουμε ένα θετικά προσανατολισμένο τρίγωνο φάντασμα △uvg,
όπου g είναι η κορυφή φάντασμα. Όπως κάθε άλλο τρίγωνο, το △uvg έχει έναν περιγεγραμ-
μένο κύκλο, μολονότι είναι εκφυλισμένος, και αυτό πρέπει να διαγραφεί εάν μια νέα κο-
ρυφή εισάγεται ”μέσα” στον περιγεγραμμένο κύκλο του. Ο ορισμός του ”περιγεγραμμένου
κύκλου” είναι λίγο δύσκολος, όμως. Ο περιγεγραμμένος κύκλος εκφυλίζεται στη γραμμή
aff(uv), η οποία διαιρεί το επίπεδο σε δύο ανοικτά ημιεπίπεδα.
Υπάρχουν δύο περιπτώσεις στις οποίες το τρίγωνο φάντασμα △uvg πρέπει να διαγραφεί,
δηλ. Το uv δεν είναι πλέον μία περιφερειακή ακμή της τριγωνοποίησης. Και οι δύο περιπτώ-
σεις απεικονίζονται στο Σχήμα 3.5. Στη πρώτη περίπτωση, μια κορυφή εισάγεται στο ανοικτό
44 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2
ημιεπίπεδο στην άλλη πλευρά του aff(uv) της τριγωνοποίησης, ενώ στη δεύτερη, μια κορυφή
εισάγεται πάνω στη ανοιχτή ακμή uv. Καλούμε την ένωση των δύο αυτών περιοχών το εξω-
τερικό ημιεπίπεδο του uv. Αυτό το ημιεπίπεδο δεν είναι ούτε ανοιχτό ούτε κλειστό, αλλά κάτι
ενδιάμεσο. Είναι το σύνολο των σημείων που περικλείονται από τον περιγεγραμμένο κύκλο
του△uvg στο όριο, καθώς το g απομακρύνεται από την τριγωνοποίηση.
Σχήμα 3.5: Το τρίγωνο φάντασμα uvg διαγράφεται αν μία νέα κορυφή ει-
σάγεται στο σκιασμένο ανοιχτό ημιεπίπεδο (κέντρο) ή πάνω στη ακμή uv
(δεξιά). Η ένωση του ανοιχτού ημιεπίπεδου και του uv είναι το εξωτερικό
ημιεπίπεδο του uvg.
Μια νέα κορυφή που εισάγεται έξω από την τριγωνοποίηση προκαλεί τη διαγραφή τουλάχι-
στον ενός τριγώνου φάντασμα, και ίσως κάποιων κανονικών (μη-φάντασμα) τριγώνων επί-
σης. Έτσι όμως δημιουργούνται δύο νέες περιφερειακές ακμές, δύο νέα τρίγωνα φαντασματα
και ένας αυθαίρετος αριθμός κανονικών τριγώνων, όπως απεικονίζεται στο Σχήμα 3.4.
Μια δημοφιλής εναλλακτική επιλογή έναντι των τριγώνων φάντασμα είναι το να περικλεί-
ουμε τις κορυφές εισόδου σε ένα γιγαντιαίο τριγωνικά οριοθετημένο πλαίσιο, όπως απεικο-
νίζεται στο Σχήμα 3.6. Αφού εισαχθούν όλες οι κορυφές, κάθε τρίγωνο, που έχει μία κορυφή
στο τριγωνικά οριοθετημένο πλαίσιο, διαγράφεται. Η δυσκολία με αυτήν την προσέγγιση εί-
ναι ότι οι κορυφές του οριοθετημένου πλαισίου μπορεί να αφήσουν κοίλες διαβολές στην
τριγωνοποίηση, αν είναι πολύ κοντά η μία στην άλλη, και δεν είναι εύκολο να καθορίσουμε
πόσο μακριά χρειάζονται να είναι. Μια λύση σε αυτό το πρόβλημα είναι να υπολογίσουμε μία
σταθμισμένη Delaunay τριγωνοποίηση, αναθέτοντας στις τρεις κορυφές του οριοθετημένου
πλαισίου βάρος αρνητικού άπειρου. Αυτά τα τρία άπειρα βάρη πρέπει να είναι ασύγκριτα - ας
∞
πούμε, ∞, 2∞ και 22 - έτσι ώστε οι έλεγχοι InCircle που περιλαμβάνουν δύο από τις κορυ-
φές του οριοθετημένου πλαισίου να λειτουργούν με συνέπεια. Αυτή η προσέγγιση φαίνεται
να τρέχει πιο αργά (ίσως κατά 10%) από την υλοποίηση τριγώνου φάντασμα. Άλλη μία λύση
είναι να γεμίζουμε τις διαβολές με τον αλγόριθμο εισαγωγής τμήματος, που περιγράφεται σε
παρακάτω ενότητα.
Πόσο ακριβή είναι η εισαγωγή μίας κορυφής, εξαιρώντας τον εντοπισμού του σημείου; Σε
αυτήν τη ενότητα εξετάζουμε δύο περιπτώσεις: τη χειρότερη περίπτωση και την αναμενόμενη
περίπτωση όταν οι κορυφές εισάγονται με τυχαία σειρά. Η τελευταία περίπτωση είναι ένα
μέρος ενός αλγόριθμου διαδοχικής εισαγωγής που υπολογίζει την Delaunay τριγωνοποίηση
των n κορυφών σε αναμενόμενο O(n log n) χρόνο, και επίσης εισάγει μια κομψή τεχνική
ανάλυσης αλγορίθμων που ονομάζεται ”Αναδρομική ανάλυση”.
Χειρότερη περίπτωση: Το Σχήμα 3.7 απεικονίζει τη χειρότερη περίπτωση. Μια μόνο εισα-
γωγή κορυφής μπορεί να διαγράψει τα Θ(n) τρίγωνα και να δημιουργήσει άλλα Θ(n), σε
Θ(n) χρόνο. Επιπλέον, αυτή η θλιβερή απόδοση μπορεί να επαναληφθεί για Θ(n) διαδοχι-
κές εισαγωγές κορυφών. Επομένως, ο αλγόριθμος Διαδοχικής Εισαγωγής για την κατασκευή
μιας Delaunay τριγωνοποίησης χρειάζεται Θ(n2 ) χρόνο, εάν οι κορυφές και η σειρά εισαγω-
γής τους είναι η χείριστη δυνατή.
Σχήμα 3.7: Κάθε εισαγωγή κορυφής μπορεί να διαγράψει Θ(n) τρίγωνα και
μπορεί να δημιουργήσει άλλα Θ(n).
Ευτυχώς, υπάρχουν καλύτεροι τρόποι για να ταξινομήσουμε τις διεργασίες εισαγωγής κορυ-
φής. Ο Αλγόριθμος Τυχαίας Διαδοχικής Εισαγωγής εισάγει τις κορυφές σε τυχαία σειρά,
με κάθε μετάθεση των κορυφών να είναι ισοπίθανη. Παραδόξως, ο αναμενόμενος αριθμός
των τριγώνων που δημιουργούνται από κάθε διαδοχική διεργασία εισαγωγής κορυφών εί-
ναι μικρότερος από έξι, όπως δείχνει το Θεώρημα 21 παρακάτω. Η ιδέα είναι ότι όλες οι
κορυφές πρέπει να είναι γνωστές εκ των προτέρων, έτσι ώστε μια τυχαία μετάθεση να μπο-
ρεί να υπολογιστεί. Ο τυχαίος αλγόριθμος είναι εξαιρετικός για τη δημιουργία μιας αρχικής
τριγωνοποίησης των κορυφών ενός τομέα, αλλά η ανάλυσή του δεν ισχύει για τις κορυφές
που ακολούθως δημιουργούνται κατά την παραγωγή των πλεγμάτων, επειδή η σειρά τους
δεν μπορεί να τυχαιοποιηθεί. Παρ ’όλα αυτά, το θεώρημα δίνει μία εντύπωση αναφορικά με
το γιατί η εισαγωγή κορυφής σε σταθερό χρόνο παρατηρείται τόσο συχνά στην παραγωγή
πλέγματος.
Θεώρημα 21. Έστω V είναι ένα σύνολο n κορυφών στο επίπεδο. Έστω (v1 , v2 , ..., vn ) είναι
μια μετάθεση του V που επιλέχθηκε ομοιόμορφα τυχαία από το σύνολο όλων αυτών των
μεταθέσεων. Για i ∈ [0, n], έστω Ti είναι η Delaunay τριγωνοποίηση που κατασκευάζεται
με την εισαγωγή των πρώτων i κορυφών στη σειρά. Όταν το vi εισάγεται στην Ti−1 για να
δημιουργήσει την Ti , ο αναμενόμενος αριθμός των νέων τριγώνων (συμπεριλαμβανομένων
των τρίγωνων φάντασμα) που δημιουργούνται είναι μικρότερος από έξι. Ένα αναμενόμενο
46 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2
σύνολο O(n) τριγώνων δημιουργούνται και διαγράφονται κατά τη διάρκεια των εισαγωγών
n κορυφών που κατασκευάζουν την Tn .
Αυτό το θεώρημα αποδεικνύεται πιο εύκολα με αναδρομική ανάλυση, μια αξιοσημείωτη τε-
χνική ανάλυσης που ο Seidel [57] συνοψίζει ως εξής: ”Αναλύστε έναν αλγόριθμο σαν να
τρέχει προς τα πίσω στο χρόνο, από την έξοδο στην είσοδο”. Φανταστείτε ότι αντί να εισά-
γεται μια τυχαία επιλεγμένη κορυφή στην Ti−1 , διαγράφεται μία τυχαία επιλεγμένη κορυφή
από την Ti . Επειδή μια τυχαία μετάθεση γραμμένη προς τα πίσω εξακολουθεί να είναι μια
τυχαία μετάθεση, κάθε κορυφή στην Ti διαγράφεται με την ίδια πιθανότητα.
Απόδειξη: Για κάθε κορυφή v της Ti , όπου ο αριθμός των τριγώνων που γειτονεύουν με
την v, συμπεριλαμβανομένου των τριγώνων φάντασμα, είναι ίσος με τον βαθμό του v, μία
ακμή φάντασμα μετριέται μόνο αν είναι στην περιφέρεια της τριγωνοποίησης. Όταν η vi
εισάγεται στην Ti−1 για να κατασκευάσει την Ti , κάθε νέο τρίγωνο που δημιουργείται έχει
την vi ως μία από τις κορυφές του. Επομένως, ο αναμενόμενος αριθμός νέων τριγώνων που
δημιουργούνται είναι ίσος με τον αναμενόμενο βαθμό της vi .
Υπάρχει μια τεχνική δυσκολία: εάν τέσσερις κορυφές της Ti βρίσκονται σε έναν κοινό κενό
κύκλο, τότε η Ti εξαρτάται από τη σειρά με την οποία εισάγονται οι κορυφές. Έτσι, Si εί-
ναι η υποδιαίρεση Delaunay {v1 , v2 , ..., vi }, όπου τα τρίγωνα στην Ti τα οποία μοιράζονται
έναν κοινό περιγεγραμμένο κύκλο, συγχωνεύονται σε ένα πολύγωνο. Θυμόμαστε ότι από
την ενότητα 2.3 ότι το Si περιέχει τις Delaunay ισχυρές ακμές της Ti και όχι άλλες, και εί-
ναι επομένως μοναδικό. Από το Λήμμα 19, κάθε ακμή που γειτνιάζει με την vi στην Ti είναι
Delaunay ισχυρή, οπότε ο βαθμός της vi στην Ti είναι ίσος με τον βαθμό της vi στο Si .
Επειδή η μετάθεση επιλέγεται ομοιόμορφα τυχαία, κάθε κορυφή του Si είναι εξίσου πιθανό
να είναι η vi . Ο αναμενόμενος βαθμός μιας τυχαία επιλεγμένης κορυφής στο Si (ή σε οποιο-
δήποτε επίπεδο γράφο) είναι μικρότερος από έξι, από την ακόλουθη αιτιολογία.
Έστω i + 1, e, και f υποδηλώνουν τον αριθμό κορυφών, ακμών και τριγώνων της Ti , αντί-
στοιχα, με την κορυφή φάντασμα, ακμές φάντασμα και τρίγωνα φάντασμα να συμπεριλαμ-
βάνονται. Από τον τύπο του Euler, i + 1 − e + f = 2. Κάθε τρίγωνο έχει τρεις ακμές και κάθε
ακμή μοιράζεται από δύο τρίγωνα, έτσι 2e = 3f . Η εξάλειψη του f από τον τύπο του Euler
δίνει e = 3i − 3. Κάθε ακμή έχει δύο κορυφές, οπότε ο συνολικός αριθμός των περιπτώσεων
ακμής-κορυφής είναι 6i − 6, και ο μέσος βαθμός κορυφής μη-φάντασμα στην Ti είναι μικρό-
τερος από 6 − 6/i. Ο μέσος βαθμός μιας κορυφής μη-φάντασμα στο Si δεν μπορεί να είναι
μεγαλύτερος.
Κάθε αναμενόμενη εισαγωγή κορυφής δημιουργεί λιγότερα από έξι νέα τρίγωνα, οπότε ο
αναμενόμενος συνολικός αριθμός των τριγώνων που δημιουργούνται κατά την εισαγωγή
των κορυφών n είναι στο O(n). Ένα τρίγωνο δεν μπορεί να διαγραφεί αν δεν δημιουργηθεί
πρώτα. Έτσι ο αναμενόμενος συνολικός αριθμός των διαγραμμένων τριγώνων είναι επίσης
στο O(n).
Το Θεώρημα 21 περιορίζει όχι μόνο τον αριθμό των δομικών αλλαγών αλλά και τον χρόνο
λειτουργίας της DFS στον αλγόριθμο Bowyer-Watson. Αυτή η DFS αναζήτηση επισκέπτεται
όλα τα τρίγωνα που έχουν διαγραφεί και όλα τα τρίγωνα που μοιράζονται μια ακμή με ένα
διαγραμμένο τρίγωνο. Η DFS απαιτεί γραμμικό χρόνο ως προς τον αριθμό των τριγώνων που
έχει επισκευθεί, καθώς επίσης και ως προς τον αριθμό των διαγραμμένων τριγώνων.
Επομένως, ο αναμενόμενος χρόνος εκτέλεσης του τυχαίου αλγόριθμου Διαδοχική Εισαγω-
γής, με εξαίρεση τον εντοπισμό σημείου είναι O(n). Θα δούμε ότι ο εντοπισμός του σημείου
είναι το κυρίαρχο κόστος του αλγορίθμου.
3.5. Εισαγωγή μίας κορυφής σε μία Περιορισμένη Delaunay Τριγωνοποίηση 47
Για να ”εισάγουμε μια κορυφή σε μία ΠDΤ” πρέπει να πάρουμε σαν είσοδο την ΠDΤ κάποιου
ΤΓΣ X και μια νέα κορυφή v για να εισάγουμε, και παράγουμε την ΠDΤ του X ∪ {v}. Μια
υλοποίηση μπορεί επίσης να υποστηρίξει την εισαγωγή μιας κορυφής v σε ένα ευθύγραμμο
τμήμα s ∈ X, οπότε ο αλγόριθμος υποδιαιρεί το s σε δύο υποτμήματα s1 και s2 που έχουν
την κορυφή v, και παράγει την ΠDΤ του X ∪ {v, s1, s2} {s}.
Με μια μικρή αλλαγή, ο αλγόριθμος Bowyer-Watson μπορεί να εισάγει μια κορυφή v σε μία
ΠDΤ, όπως απεικονίζεται στο Σχήμα 3.8. Η αλλαγή, φυσικά, είναι ότι ο αλγόριθμος δια-
γράφει τα τρίγωνα που δεν είναι πλέον περιορισμένα Delaunay. Ευτυχώς, είναι δυνατόν να
απαριθμήσουμε αυτά τα τρίγωνα χωρίς να πραγματοποιήσουμε ακριβούς ελέγχους ορατότη-
τας. Για να το πετύχουμε αυτό, το πρώτο βήμα, που είναι ο εντοπισμός σημείου, βρίσκει το
τρίγωνο που περιέχει την v. Μπορεί να υπάρχουν δύο τέτοια τρίγωνα, αν η v βρίσκεται σε
μία ακμή της τριγωνοποίησης. Το δεύτερο βήμα, στο οποίο η DFS αναγνωρίζει τα τρίγωνα
που δεν είναι πλέον περιορισμένα Delaunay, είναι να μην ”περπατήσει” ποτέ σε ένα ευθύ-
γραμμο τμήμα. Όπως δείχνει το Σχήμα 3.8, ο περιορισμός αυτός αρκεί για να διασφαλιστεί
ότι θα διαγραφούν μόνο τρίγωνα των οποίων το εσωτερικό θα είναι ορατό από τη v. Αν η v
βρίσκεται σε ένα ευθύγραμμο τμήμα στο Χ, οι DFS πρέπει να εκτελούνται και από τα δύο
γειτονικά τρίγωνα. Το τρίτο και το τέταρτο βήμα του αλγορίθμου Bowyer-Watson δεν αλ-
λάζουν. Επεκτείνοντας τις αποδείξεις στην ενότητα 3.2, μπορεί κανείς να δείξει ότι η DFS
βρίσκει όλα τα τρίγωνα που δεν είναι πλέον περιορισμένα Delaunay, ότι η κοιλότητα είναι
πάντα σε σχήμα star, και ο αλγόριθμος λειτουργεί σωστά.
Οι αλγόριθμοι Περιτύλιξης Δώρου βασίζονται σε μια απλή διαδικασία που κατασκευάζει ένα
τρίγωνο που γειτνιάζει με μία συγκεκριμένη ακμή. Έστω e = uw μια προσανατολισμένη ακμή.
Το μπροστινό μέρος της e είναι το ανοικτό ημιεπίπεδο στα αριστερά του uw,
⃗ και ένα θετικό
προσανατολισμένο τρίγωνο △uwv λέμε ότι είναι μπροστά από το e. Το πίσω μέρος του e
48 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2
Σχήμα 3.9: Ένας Κενός περιγεγραμμένος κύκλος της ακμής e που ”ψάχνει”
την κορυφή v.
Τελικά, το αναπτυσσόμενο τμήμα του περιγεγραμμένου κύκλου μπορεί να αγγίξει μια κο-
ρυφή v που είναι ορατή από το σχετικό εσωτερικό της e, οπότε το βήμα περιτύλιξης δώρου
κατασκευάζει = conv(e ∪ v), ολοκληρώνοντας έτσι την e. Το Λήμμα 22 παρακάτω δείχνει
ότι το τ είναι περιορισμένο Delaunay εάν η e είναι περιορισμένη Delaunay ή ένα ευθύγραμμο
τμήμα. Εναλλακτικά, το αναπτυσσόμενο τμήμα του περιγεγραμμένου κύκλου μπορεί ποτέ να
μην αγγίζει μια κορυφή, οπότε η e είναι στη περιφέρεια του κυρτού περιβλήματος των κορυ-
φών.
Αν και ο επεκτεινόμενος περιγεγραμμένος κύκλος δίνει τη σωστή διαίσθηση για την οποία
επιλέγεται η κορυφή, ο αλγόριθμος που υλοποιεί ένα βήμα περιτύλιξης δώρου λειτουργεί με
αντίθετο τρόπο, συρρικνώνοντας το εμπρόσθιο μέρος του περιγεγραμμένου κύκλου: ο αλγό-
ριθμος σαρώνει μέσω των κορυφών που είναι μπροστά από την e και θυμάται ποια κορυφή,
μέχρι στιγμής, ελαχιστοποιεί το τμήμα (εμβαδόν) του περιγεγραμμένου κύκλου μπροστά από
την e.
Το Σχήμα 3.10 παρουσιάζει έναν ψευδοκώδικα για το βήμα περιτύλιξης δώρου. Ένα βήμα
περιτύλιξης δώρου παίρνει O(n) χρόνο για μία Delaunay τριγωνοποίηση ή O(nm) χρόνο για
ΠDΤ, όπου n = |V | είναι ο αριθμός των κορυφών και m = |K| είναι ο αριθμός των ευθύ-
γραμμων τμημάτων. Η γραμμή 5 του ψευδοκώδικα αντιστοιχεί στον παράγοντα m.
3.7. Ο αλγόριθμος Περιτύλιξης Δώρου (Gift Wrapping Algorithm) 49
Λήμμα 22. Εάν η ακμή e είναι περιορισμένη Delaunay ή ένα ευθύγραμμο τμήμα, ο αλγόριθ-
μος ολοκλήρωσης (Finish) επιστρέφει ένα περιορισμένο Delaunay τρίγωνο τ.
Απόδειξη. Υπάρχει μια συνολική σειρά του συνόλου όλων των περιγεγραμμένων κύκλων
της e έτσι ώστε, αν ένας περιγεγραμμένος κύκλους προηγείται ενός άλλου, ο προηγούμενος
περιγεγραμμένος κύκλος περικλείει το τμήμα του επόμενου μπροστά από την e. Είναι εύκολο
να δούμε ότι μεταξύ των κορυφών στο V που βρίσκονται μπροστά από την e και είναι ορατές
από το σχετικό εσωτερικό της e, οι Γραμμές 3-6 επιλέγουν την κορυφή v έτσι ώστε το =
conv(e ∪ v) να έχει τον τελευταίο περιγεγραμμένο κύκλο σε αυτήν την σειρά. Ως εκ τούτου,
ο περιγεγραμμένος κύκλος του τ δεν περιβάλλει καμία κορυφή που βρίσκεται μπροστά από
την ε και είναι ορατή από το σχετικό εσωτερικό της e.
Αν η e είναι ένα ευθύγραμμο τμήμα, τότε καμία κορυφή που βρίσκεται πίσω από την e και
μέσα στον περιγεγραμμένο κύκλο του τ δεν είναι ορατή από το εσωτερικό του τ, οπότε το τ
είναι περιορισμένο Delaunay.
Αν η e είναι περιορισμένη Delaunay, έχει περιγεγραμμένο κύκλο που δεν περικλείει καμία
κορυφή ορατή από το σχετικό εσωτερικό του ε. Αυτός ο περιγεγραμμένος κύκλος δεν περι-
κλείει την v, οπότε πρέπει να περικλείει κάθε σημείο επάνω ή πίσω από τον περιγεγραμμένο
κύκλο του τ. Από αυτό προκύπτει ότι ο περίκλειστος τ δεν περιβάλλει καμία κορυφή ορατή
από το εσωτερικό του τ, οπότε τ είναι περιορισμένος Delaunay.
Αυτή η ενότητα περιγράφει έναν βασικό αλγόριθμο περιτύλιξης δώρου για την κατασκευή
των Delaunay τριγωνοποιήσεων και των ΠDΤ. Αξίζει να σημειωθεί ότι εάν το ΤΓΣ εισό-
δου ή το σύνολο σημείων εισόδου έχει τέσσερις συν-περιφερειακές κορυφές, ο αλγόριθμος
μπορεί να πάρει αποφάσεις που είναι αμοιβαία ασυνεπείς και δεν καταφέρνουν να κατα-
σκευάσουν μία έγκυρη τριγωνοποίηση. Το Σχήμα 3.11 απεικονίζει ένα απλό, μη περιορισμένο
παράδειγμα, όπου η Delaunay περιτύλιξη δώρου αποτυγχάνει. Η περιτύλιξη δώρου μπορεί
να τροποποιηθεί, ώστε να χειρίζεται αυτές τις εισόδους, είτε διαταράσσοντας συμβολικά τα
βάρη των κορυφών, είτε αναγνωρίζοντας τις ομάδες των συν-περιφερειακών κορυφών που
μπορούν να δουν ο ένας τον άλλον και να τριγωνοποιηθούν όλες μαζί.
50 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2
Ο αλγόριθμος περιτύλιξης δώρου ξεκινά με τα ευθύγραμμα τμήματα του ΤΓΣ, επί των οποίων
τα περιορισμένα Delaunay τρίγωνα κρυσταλλώνονται ένα προς ένα. Ο πυρήνας του αλγο-
ρίθμου είναι μία επανάληψη που επιλέγει μια μη-ολοκληρωμένη ακμή και την ολοκληρώνει
κάνοντας χρήση της διαδικασίας ολοκλήρωσης (Finish) όπως απεικονίζεται στο Σχήμα 3.10.
Συχνά, το νέο τρίγωνο ολοκληρώνει περισσότερες από μία μη-ολοκληρωμένες ακμές. Για
να ανιχνεύσει αυτή την περίπτωση, ο αλγόριθμος διατηρεί τις μη-ολοκληρωμένες ακμές σε
ένα λεξικό (π.χ. Hash-Table), ώστε να μπορούν να αναζητηθούν γρήγορα από τους δείκτες
των κορυφών τους. Ο ψευδοκώδικας για τον αλγόριθμο περιτύλιξης δώρου εμφανίζεται στο
Σχήμα 3.12.
Για να εισάγουμε ένα ευθύγραμμο τμήμα σε μία ΠDΤ, πρέπει να πάρουμε ως είσοδο στην
ΠDΤ ενός ΤΓΣ X και ένα νέο ευθύγραμμο τμήμα s προς εισαγωγή, και να παράγουμε την
ΠDΤ του X ∪ {s}. Έχει νόημα μόνο εάν το X ∪ {s} είναι ένα έγκυρο ΤΓΣ - δηλαδή, το X
περιέχει ήδη τις κορυφές του s (διαφορετικά, πρέπει πρώτα να εισαχθούν, όπως περιγράφεται
στην Ενότητα 3.5) και το σχετικό εσωτερικό του s δεν διασταυρώνεται με κανένα ευθύγραμμο
τμήμα ή κορυφή στο Χ. Αυτή η ενότητα παρουσιάζει έναν αλγόριθμο περιτύλιξης δώρου για
την εισαγωγή ευθύγραμμου τμήματος. Είναι δύσκολο να εντοπιστεί ποιος σκέφτηκε πρώτα
τον αλγόριθμο.
Έστω T είναι μία ΠDΤ του X. Αν s ∈ T , τότε η T είναι επίσης η ΠDΤ του X ∪ {s}. Διαφο-
ρετικά, ο αλγόριθμος ξεκινά διαγράφοντας από την Τ τις ακμές και τα τρίγωνα που τέμνουν
το σχετικό εσωτερικό του s. Όλα τα simplices της Τ που δεν διαγράφονται, παραμένουν πε-
ριορισμένα Delaunay μετά την εισαγωγή του s. Στη συνέχεια, ο αλγόριθμος προσθέτει το s
στο σύμπλεγμα, και εκ νέου τριγωνοποιεί τις δύο πολυγωνικές κοιλότητες σε κάθε πλευρά
του s με περιορισμένα Delaunay τρίγωνα. Ενθυμούμενοι από το Σχήμα 2.22, οι κοιλότητες
μπορεί να έχουν ευθύγραμμα τμήματα που κρέμονται στο εσωτερικό τους.
Έστω P είναι ένα από τα δύο πολύγωνα, όπου οι ακμές του περιλαμβάνουν το s. Ο αλγό-
ριθμος Περιτύλιξης-Δώρου-ΠDΤ θα μπορούσε να περιτυλίξει το P ξεκινώντας από οποια-
δήποτε ακμή του P, αλλά υπάρχουν πολλά πλεονεκτήματα για την περιτύλιξη δώρου από
το εξωτερικό του s. Πρώτον, η περιτύλιξη δώρου από το s καθιστά δυνατή την εξάλειψη
των ελέγχων ορατότητας (γραμμή 5 του αλγόριθμου ολοκλήρωσης) και του λεξικού των μη-
ολοκληρωμένων ακμών, επιταχύνοντας τον αλγόριθμο με συντελεστή m. Δεύτερον, η περι-
τύλιξη δώρου από το s δίνει την καλύτερη πιθανότητα υποδιαίρεσης της P σε δύο πολύγωνα
μισού μεγέθους, βελτιώνοντας την ταχύτητα του αλγορίθμου. Τρίτον, ο αλγόριθμος εγγυάται
ότι λειτουργεί σωστά, ακόμη και αν το Χ έχει τέσσερις ή περισσότερες συν-περιφερειακές
52 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2
κορυφές. Αξίζει να σημειωθεί ότι η περιτύλιξη δώρου χωρίς ελέγχους ορατότητας δεν λει-
τουργεί σωστά για όλα τα πολύγωνα, αλλά λειτουργεί σωστά για εισαγωγή ευθύγραμμου
τμήματος.
Ο αλγόριθμος εκ νέου τριγωνοποίησης κοιλότητας είναι ο ακόλουθος. Ξεκινήστε με συ-
σκευασία δώρου ένα περιορισμένο Delaunay τρίγωνο μπροστά από το s, όπως απεικονίζεται
στο Σχήμα 3.13. Έστω u και w οι κορυφές του s, και έστω το △uwv είναι το θετικά προ-
σανατολισμένο τρίγωνο που παράγεται από το βήμα περιτύλιξης δώρου. Ο αλγόριθμος εκ
νέου τριγωνοποίησης κοιλότητας καλεί τον ίδιο αναδρομικά στις προσανατολισμένες ακμές
uv και vw (αν είναι μη-ολοκληρωμένες).
Ο χρόνος λειτουργίας του πρώτου βήματος περιτύλιξης δώρου είναι ανάλογος ως προς τον
αριθμό m των κορυφών του P. Εάν είμαστε τυχεροί, θα χωρίσει το P σε δύο πολύγωνα πε-
ρίπου του μισού μεγέθους, και οι αναδρομικές κλήσεις θα απολαύσουν επίσης ισορροπη-
μένα χωρίσματα, οπότε ο χρόνος που απαιτείται για να τριγωνοποιήσουμε το P θα είναι σε
O(mlogm). Στη χειρότερη περίπτωση, το κάθε βήμα περιτύλιξης δώρου μπορεί απλά να
αφαιρέσει ένα τρίγωνο από το Ρ χωρίς να υποδιαιρέσει το Ρ σε μικρότερα πολύγωνα, και θα
χρειαστεί Θ(m2 ) χρόνο για να τριγωνοποιηθεί το P. Στην πράξη, αν το m είναι μεγάλο, το P
είναι πιθανώς μακρύ και λεπτό και θα το απολαύσει καλά ισορροπημένες επαναλαμβανόμε-
νες κλήσεις.
Ο εντοπισμός του σημείου είναι το ένα πολύ σημαντικό γεγονός όσον αφορά το χρόνο εκτέ-
λεσης. Σε σε αυτή την ενότητα, θα δώσουμε ένα πολύ απλό σχέδιο για τον εντοπισμό ενός
σημείου. Ωστόσο, η χειρότερη περίπτωση χρόνου εκτέλεσης του αλγορίθμου είναι O(n) για
τον εντοπισμό ενός σημείου.
Ευθύς Περίπατος (Straight Walk). Ένα απλό σχέδιο για τον εντοπισμό ενός σημείου είναι
ο ”Ευθύς Περίπατος”. Συγκεκριμένα, ο αλγόριθμος ξεκινά από ένα αυθαίρετο τρίγωνο τ που
ανήκει σε μία Delaunay τριγωνοποίηση Τ, και ψάχνει το τρίγωνο τ που περιέχει το σημείο pi
περπατώντας κατά μήκος της ακτίνας και ξεκινώντας από ένα εσωτερικό σημείο του τ προς
το pi με κόστος O(n).
Χρόνος εκτέλεσης Ευθύ Περιπάτου. Υποθέτουμε ότι επισκεπτόμαστε κάθε τρίγωνο μόνο
μία φορά. Στη συνέχεια, κάθε εντοπισμός σημείου θα επισκεφθεί το πολύ τον αριθμό των
τρίγωνων της τριγωνοποίησης που είναι λιγότερα από 2n. Κάποιος μπορεί να δείξει ότι αυτό
είναι εφικτό από την τριγωνοποίηση που φαίνεται δεξιά στο Σχήμα 3.14. Ως εκ τούτου, ο
εντοπισμός n σημείων με αυτόν τον αλγόριθμο μπορεί να χρειαστεί O(n2 ) χρόνο, που είναι
αρκετά αργό.
3.9. Εντοπισμός Σημείου 53
Κεφάλαιο 4
Αλγόριθμος Delaunay
Ραφιναρίσματος για Παραγωγή
Πλέγματος στο R2
Το πρόβλημα αυτό έχει συγκεκριμένη είσοδο αλλά και απαιτήσεις. Το αντικείμενο εισόδου
είναι ένας πολυγωνικός τομέας δύο διαστάσεων, ο στόχος είναι να επιτευχθεί μια διακριτο-
ποίηση αυτού του τομέα με τριγωνικό πλέγμα. Επιπλέον, είναι επιθυμητό το σχήμα των τρι-
γώνων να είναι ”καλό” και ο συνολικός αριθμός των τρίγωνων να μην είναι μεγάλος.
Θεωρούμε ως είσοδο ένα πεπερασμένο σύνολο σημείων V ⊂ R2 και ένα πεπερασμένο σύ-
νολο ευθύγραμμων τμημάτων Ε, καθένα εκ των οποίων συνδέει δύο σημεία του E. Απαι-
τούμε ότι δύο οποιοδήποτε ευθύγραμμα τμήματα είναι ανεξάρτητα ή συναντιόνται σε το πολύ
ένα σημείο. Ο γράφος G = (V, E) είναι ένας Επίπεδος Γράφος Ευθειών Γραμμών (ΕΓΕΓ),
όπως απεικονίζεται στα αριστερά στο Σχήμα 4.1.
Σχήμα 4.1: Αριστερά βλέπουμε ένα σύνολο κορυφών και ευθύγραμμων τμη-
μάτων, και δεξιά μια περιορισμένη Τριγωνοποίηση.
56 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2
Ξεκινάμε με τους ορισμούς των εισόδων και των εξόδων. Η είσοδος Ω είναι μια πολυγωνική
περιοχή στο επίπεδο, πιθανόν με οπές και με περιορισμένες ακμές και κορυφές μέσα στον το-
μέα. Η περιφέρεια ∂Ω είναι ένα σύνολο κορυφών και ακμών που διαχωρίζουν, το εσωτερικό
της Ω από το εξωτερικό της. Η ∂Ω είναι ένα ΕΓΕΓ. Ένα παράδειγμα απεικονίζεται αριστερά
στο. Σχήμα 4.2.
Ο γενικός στόχος της παραγωγής πλέγματος είναι να αποσυντεθεί ένας τομέας πλέγματος που
περιορίζεται από έναν ΕΓΕΓ. Τα στοιχεία είναι περιορισμένα σε τύπο και σχήμα, ο αριθμός
των στοιχείων πρέπει να μην είναι πολύ μεγάλος. Η έξοδος του προβλήματός μας είναι ένα
τριγωνικό πλέγμα με τις ακόλουθες ιδιότητες:
1. Συμμόρφωση: Η έξοδος συλλογικά σχηματίζει ένα simplicial σύμπλεγμα Τ του οποίου
ο υποκείμενος χώρος είναι ίσος με τον δεδομένο πολυγωνικό τομέα. Αυτό σημαίνει,
για κάθε ευθύγραμμο τμήμα e ∈ ∂Ω , το Ε είναι η ένωση των ακμών του Τ. Άρα λέμε
πως το Τ είναι ένα πλέγμα του Ω.
2. Ποιότητα: Υπάρχουν λίγα ή κανένα «κακής ποιότητας» τρίγωνα στο Τ. Αυτό σημαί-
νει, τα περισσότερα τρίγωνα είναι καλά σε σχέση με ορισμένες μετρικές ποιότητας
τριγώνων.
3. Πληθάριθμος: Είναι απαραίτητο για το Τ να συμπεριλάβει επιπλέον σημεία, που ονο-
μάζονται Steiner σημεία, δηλαδή, κορυφές του πλέγματος που δεν είναι κορυφές του
ΕΓΕΓ εισόδου, επειδή είναι απαραίτητα για την επίτευξη της καλής μορφής των στοι-
χείων. Θέλουμε να προσθέσουμε λίγα Steiner σημεία, δηλ. ο αριθμός των τριγώνων να
είναι μικρός.
Σχήμα 4.2: Αριστερά βλέπουμε μια είσοδο ενός τομέα πλέγματος, και δεξιά
μία τριγωνοποίηση του πλέγματος εισόδου.
Αξίζει να σημειωθεί ότι η απαίτηση της ύπαρξης καλοσχηματισμένων στοιχείων και ενός
μικρού αριθμού στοιχείων είναι αντιφατικές μεταξύ τους. Ένα πλέγμα που ικανοποιεί ένα
συγκεκριμένο σχηματικό όριο λέμε ότι είναι βέλτιστο ως προς το μέγεθος, εάν ο αριθμός
των τριγώνων είναι εντός ενός σταθερού παράγοντα, ο οποίος ορίζει τον ελάχιστο δυνατό
αριθμό τριγώνων σε κάθε τριγωνοποίηση της δεδομένης εισόδου που πληροί το ίδιο σχημα-
τικό όριο.
Για τον σκοπό αυτό έχουν αναπτυχθεί διάφορες προσεγγίσεις. Οι περισσότερες από αυτές
λειτουργούν καλά στην πράξη, αλλά δεν συνοδεύονται από εγγύηση ποιότητας και μεγέθους
όσον αφορά το παραγόμενο πλέγμα.
Θα κάνουμε επίδειξη της χρήση των ΠDΤ για την κατασκευή τέτοιων πλεγμάτων. Για να
λυθεί αυτό το βασικό πρόβλημα θα εισάγουμε την τεχνική ”Delaunay Ραφινάρισμα”.
4.2. Περιγραφή του Αλγορίθμου 57
Αυτή η ενότητα παρουσιάζει μια προσέγγιση διαδοχικής εισαγωγής κορυφών, η οποία βα-
σίζεται σε μια κλασσική προσέγγιση του Delaunay Ραφιναρίσματος που προτάθηκε από τον
Chew [14] και Ruppert [54]. Η ιδέα είναι να προσθέσουμε νέες κορυφές, μέχρι η τριγωνο-
ποίηση να σχηματίσει ένα ικανοποιητικό πλέγμα. Χρησιμοποιεί πολλές ωραίες γεωμετρικές
ιδιότητες της Delaunay τριγωνοποίησης.
Δεδομένης ενός δισδιάστατου πολυγωνικού τομέα, κατασκευάζουμε μία ΠDΤ της ∂Ω. Στη
συνέχεια, προσθέτουμε κορυφές μία προς μία για να βελτιώσουμε την ποιότητα του πλέγ-
ματος. Θεωρούμε ένα τρίγωνο κοκαλιάρικο εάν έχει μια ελάχιστη γωνία μικρότερη από ένα
δεδομένο όριο, το οποίο μπορεί να είναι μια παράμετρος που παρέχεται από τους χρήστες.
Έστω ένα τρίγωνο abc στην τρέχουσα ΠDΤ είναι κοκαλιάρικο. Προσθέτουμε ένα νέο σημείο
που είναι το περίκεντρο του abc σε αυτήν την ΠDΤ, όπως απεικονίζεται στο Σχήμα 4.3. Δε-
δομένου ότι ο περιγεγραμμένος κύκλος του abc δεν είναι πλέον κενός, το τρίγωνο abc είναι
εγγυημένο ότι θα αφαιρεθεί χάρη σε μία περιστροφή ακμής που θα γίνει, ώστε να επισκευά-
σουμε την περιορισμένη Delaunay τριγωνοποίηση.
Είναι πιθανό ότι ένας περιγεγραμμένος κύκλος ενός κοκαλιάρικου τριγώνου μπορεί να βρί-
σκεται έξω από τον τομέα. Αυτό μπορεί να συμβεί αφού ένα κοκαλιάρικο τρίγωνο κοντά στο
όριο θα μπορούσε να έχει ένα αυθαίρετα μεγάλο κενό περιγεγραμμένο κύκλο. Ένας απλός
τρόπος για να διορθώσουμε αυτό το πρόβλημα βασίζεται στο ακόλουθο γεγονός. Ενθυμού-
μενοι ότι μία ακμή μπορεί να έχει αυθαίρετα πολλούς περιγεγραμμένους κύκλους, εξ αυτών,
ο μικρότερος είναι ο διαμετρικός περιγεγραμμένος κύκλος. Λέμε ότι η ακμή είναι ο Gabriel
αν ο διαμετρικός περιγεγραμμένος κύκλος είναι άδειος.
Λήμμα 23. Αν όλα τα ευθύγραμμα τμήματα της ∂Ω ικανοποιούν την Gabriel ιδιότητα, τότε
κανένα περίκεντρο των τριγώνων μίας ΠDΤ της ∂Ω δεν βρίσκεται εκτός της ∂Ω.
Αλγόριθμος. Μετά τη δημιουργία μίας ΠDΤ του εισαγόμενου ΕΓΕΓ ∂Ω, χρησιμοποιούμε
δύο κανόνες για να προσθέσουμε νέες κορυφές σε αυτήν την ΠDΤ, μέχρις ότου να μην μπο-
ρούμε να προσθέσουμε καμία νέα κορυφή.
1. Ο πρώτος κανόνας είναι να διασφαλιστεί ότι δεν υπάρχει κανένα ευθύγραμμο τμήμα
της περιφέρειας που θα επιτρέψει ένα περίκεντρο ενός κοκαλιάρικου τρίγωνου να βρί-
σκεται έξω από τον τομέα. Λέμε ότι μία κορυφή παραβιάζει ένα ευθύγραμμο τμήμα
εάν βρίσκεται εντός του διαμετρικού της περιγεγραμμένου κύκλου. Αν ένα ευθύγραμμο
τμήμα είναι παραβιασμένο, το χωρίζουμε προσθέτοντας το μεσαίο του σημείο, όπως
απεικονίζεται στο Σχήμα 4.4.
2. Ο δεύτερος κανόνας είναι να βελτιωθεί η ποιότητα του πλέγματος με την αφαίρεση των
κοκαλιάρικων τριγώνων. Αν ένα τρίγωνο είναι κοκαλιάρικο, προσθέτουμε το περίκε-
ντρο του c. Ωστόσο, αν το c παραβιάζει μερικά ευθύγραμμα τμήματα της περιφέρειας,
δεν το προσθέτουμε το c, και χωρίζουμε ένα από τα παραβιασμένα ευθύγραμμα τμή-
ματα αντί αυτού.
Ακολούθως παρουσιάζεται ο αλγόριθμος του Ruppert [54], όπως απεικονίζεται στο Σχήμα 4.5:
Μια πιθανή εκτέλεση του παραπάνω αλγορίθμου Delaunay Ραφιναρίσματος σε μια απλή εί-
σοδο απεικονίζεται στο Σχήμα 4.6. Στα b - e, τα ευθύγραμμα τμήματα χωρίζονται εξαιτίας των
λόγων παραβίασης. Στο f προστίθεται ένα περίκεντρο ως μία Ποιοτική διεργασία. Στο g σκε-
φτόμαστε την προσθήκη ενός περίκεντρου, αλλά αυτό παραβιάζει ένα ευθύγραμμο τμήμα.
Όπως φαίνεται στο στοιχείο h, το ευθύγραμμο τμήμα χωρίζεται αντί αυτού. Στο i άλλο ένα ευ-
θύγραμμο τμήμα χωρίζεται. Στο j σκεφτόμαστε την προσθήκη ενός περίκεντρου, αλλά αυτό
παραβιάζει δύο ευθύγραμμα τμήματα, οπότε και τα δύο χωρίζονται. Στο l σκεφτόμαστε την
προσθήκη του ίδιου περικέντρου, και πάλι, αντί αυτού ένα άλλο ευθύγραμμο τμήμα χωρίζε-
ται. Στο m προστίθεται το περίκεντρο. Στο n απεικονίζονται τα τελικά σύνολα κορυφών και
ευθυγράμμων τμημάτων, και στο o εμφανίζεται η περιορισμένη Delaunay τριγωνοποίηση,
όπου τα ευθύγραμμα τμήματα φαίνονται έντονα.
4.3. Απόδειξη Τερματισμού 59
Το μέγεθος του τοπικού χαρακτηριστικού (local feature size) είναι μια συνάρτηση Lipschitz,
δηλαδή. lf s(X) ≤ |x − y| + lf s(y). Αυτό υποδηλώνει ότι η συνάρτηση μεγέθους του τοπι-
κού χαρακτηριστικού είναι συνεχής. Ο ορισμός του μεγέθους του τοπικού χαρακτηριστικού
απεικονίζεται στο Σχήμα 4.7
Σχήμα 4.7: Για ένα σύνολο σημείων στο επίπεδο, απεικονίζεται το μέγεθος
του τοπικού χαρακτηρισκού σε σχέση με τον ΕΓΕΓ. Σχεδόν καθένα από τα
σημεία είναι το κέντρο ενός κύκλου του οποίου η ακτίνα είναι το μέγεθος
του τοπικού χαρακτηριστικού του κεντρικού σημείου.
R
Ενθυμούμενοι ότι ο Λόγος Ακτίνας-Πλευράς είναι ρ(τ ) = lmin = 2·sin1θmin ., έστω ότι ρ0
είναι η τιμή του λόγου ακτίνας-πλευράς που αντιστοιχεί στην μικρότερη γωνία θmin
Ο αλγόριθμος ξεκινά με τις κορυφές του ∂Ω και παράγει όλες τις άλλες κορυφές σειριακά.
Δείχνουμε ότι όταν προστεθεί μια νέα κορυφή, η απόσταση της από τις ήδη υπάρχουσες
κορυφές δεν είναι πολύ μικρότερη από το μέγεθος του τοπικού χαρακτηριστικού.
Λήμμα 24 ( [61]). Έστω η v είναι μια νεοεισαχθείσα κορυφή και έστω η p είναι κοντινότερη
κορυφή στην v. Τότε, ισχύει ένα από τα δύο ακόλουθα:
1. ∥v − p∥ ≥ lf s(v), ή
2. ∥v − p∥ ≥ ∥p − q∥, όπου q είναι η κοντινότερη κορυφή στην p πριν εισαχθεί η v, η p
μπορεί να απορριφθεί, όπου:
i β = ρ0 , αν v είναι το περίκεντρο ενός κοκαλιάρικου τριγώνου
ii β = √12 , αν v είναι το μέσο ενός παραβιασμένου ευθύγραμμου τμήματος (η p
πρέπει να είναι μία απορριφθείσα κορυφή).
1
iii β = 2 cos a , αν οι v και p βρίσκονται σε προσπίπτοντα ευθύγραμμα τμήματα που
σχηματίζουν γωνία a, και η p παραβιάζει το υποτμήμα που περιέχει την v, όπου
ισχύει 45° ≤ a ≤ 90°, και
iv β = cos a, αν οι v και p βρίσκονται σε προσπίπτοντα ευθύγραμμα τμήματα που
σχηματίζουν γωνία a < 45°.
Οι 4 περιπτώσεις διαφορετικής σταθερής β απεικονίζονται στο Σχήμα 4.8.
4.3. Απόδειξη Τερματισμού 61
Σχήμα 4.8: Σχέση μεταξύ του μήκους της μικρότερης ακμής και του μήκους
μιας υπάρχουσας ακμής.
Το παραπάνω λήμμα δείχνει πόσο γρήγορα το μήκος της μικρότερης ακμής μεταξύ των νε-
οεισαχθέντων κορυφών μπορεί να αυξηθεί ή να μειωθεί. Ας εξετάσουμε μια ακολουθία κο-
ρυφών v0 .v1 , ..., vi , ... έτσι ώστε το vi+1 να εισάγεται αυστηρά μετά το vi . Στο Σχήμα 4.9
απεικονίζεται ένα διάγραμμα ροής που δείχνει τη χειρότερη περίπτωση αύξησης / μείωσης
του μικρότερου μήκους ακμής σε αυτή την ακολουθία.
Ως εκ τούτου, έχουμε το ακόλουθο θεώρημα που δείχνει υπό ποια προϋπόθεση αυτός ο αλ-
γόριθμος πρέπει να τερματίζει.
62 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2
Σε αυτήν την ενότητα, δείχνουμε ότι η τριγωνοποίηση που παράγεται από αυτόν τον αλ-
γόριθμο είναι βελτιστοποιημένη ως προς το μέγεθος, πράγμα που σημαίνει ότι ο αριθμός
των τριγώνων είναι εντός ενός σταθερού παράγοντα που ορίζει τον ελάχιστο δυνατό αριθμό
τριγώνων. Στην πράξη, αυτό σημαίνει ότι το πλέγμα εξόδου έχει τις ακόλουθες ωραίες ιδιό-
τητες:
i Τα μικρά χαρακτηριστικά εισαγωγής θα περιβληθούν από μικρά τρίγωνα για να έχουν
καλή ποιότητα.
ii Τα γειτονικά τρίγωνα έχουν παρόμοιο μέγεθος.
iii Η διακύμανση μεγέθους μεταξύ απομακρυσμένων τριγώνων εξαρτάται από την από-
σταση τους.
Αυτές οι ιδιότητες εξασφαλίζουν ότι το παραγόμενο πλέγμα δεν περιέχει άσκοπα μεγάλο
αριθμό τριγώνων ωστόσο διατηρούμε την καλή ποιότητά τους. Το πλέγμα βαθμολογείται,
δηλαδή τα μήκη των ακμών αλλάζουν αργά από μικρά σε μεγάλα τρίγωνα.
Η βασική ιδέα θα ήταν να δείξουμε ότι σε ένα βέλτιστο πλέγμα, τα μεγέθη των τριγώνων πρέ-
πει να διαφέρουν αργά, ανάλογα με το μεγέθους του τοπικού χαρακτηριστικού της εισόδου.
Αυτό που πρέπει να βρούμε είναι η σχέση κάθε μήκους ακμής του πλέγματος με το μέγεθος
του τοπικού χαρακτηριστικού των τελικών σημείων της ακμής. Αν αυτό το μήκος είναι πάντα
οριοθετημένο από μια σταθερά πολλαπλασιασμένη με το μέγεθος του τοπικού χαρακτηριστι-
κού των τελικών σημείων του, τότε αυτό το πλέγμα πρέπει να έχει την παραπάνω επιθυμητή
ιδιότητα. Το παρακάτω λήμμα δείχνει αυτήν την ιδιότητα.
Λήμμα 26. Έστω x να είναι μια κορυφή στο πλέγμα εξόδου, και p είναι η κοντινότερη κορυφή
τη x. Έστω C1 και C2 είναι δύο σταθερές. Τότε:
i ∥x − p∥ ≥ lf s(x), αν η x είναι μία κορυφή που ανήκει στον εισαγόμενο ΕΓΕΓ X,
ii ∥x − p∥ ≥ lf s(x)/C1 , αν η x είναι μια κορυφή προστίθεται στο μέσο ενός ευθύγραμμου
τμήματος του Χ, ή
iii ∥x − p∥ ≥ lf s(x)/C2 . αν η x είναι το περίκεντρο ενός κοκαλιάρικου τριγώνου.
4.5. Λογισμικά Σειριακής Παραγωγής Πλέγματος στο R2 63
Σχήμα 4.13: Αφαιρέθηκαν τα τρίγωνα από τις κοιλότητες και τις τρύπες.
Κεφάλαιο 5
Η παράλληλη παραγωγή πλέγματος είναι μια σχετικά νέα περιοχή η οποία υπάγεται σε δύο
υπολογιστικούς κλάδους: την Υπολογιστική Γεωμετρία και τους Παράλληλους Υπολογι-
σμούς. Σε αυτό το κεφάλαιο θα παρουσιαστεί ένα τμήμα της επισκόπησης του Νίκου Χρυσο-
χοΐδη [16] στις μεθόδους παράλληλης παραγωγής Delaunay πλεγμάτων σε δύο διαστάσεις.
Οι μέθοδοι παράλληλης παραγωγής Delaunay πλέγματος αποσυνθέτουν το αρχικό πλέγμα
σε μικρότερα υποπροβλήματα, τα οποία τρέχουν παράλληλα. Οργανώνουμε τις μεθόδους
παράλληλης παραγωγής πλέγματος σε σχέση με δύο χαρακτηριστικά:
i Τη χρησιμοποίηση της σειριακής τεχνικής για να παράγουμε πλέγματα για τα ξεχωριστά
υποπροβλήματα.
ii Το βαθμό της σύζευξης μεταξύ των υποπροβλημάτων.
Θα γίνει κατανοητό πως χωρίς να συμβιβαζόμαστε στη σταθερότητα των μεθόδων παράλλη-
λης παραγωγής Delaunay πλέγματος, είναι εφικτό να υλοποιήσουμε λογισμικό παράλληλης
παραγωγής Delaunay πλέγματος, το οποίο θα χρησιμοποιεί έτοιμα λογισμικά σειριακής πα-
ραγωγής Delaunay πλέγματος.
5.1 Εισαγωγή
Το πρόβλημα της αποσύνθεσης τομέα (ΑΤ) στην παράλληλη παραγωγή πλέγματος ορίζεται
ως εξής:
• lf s(Ω) ≤ lf s(Si ), i = 1, Ns ,
|∂Si |
• mini=1,Ns |Si | ,
• Οι ∂Si σχηματίζουν ”καλές” γωνίες μεταξύ τούς και μεταξύ αυτών σε σχέση με την
περιφέρειά του τομέα ∂Ω.
όπου lf s(ω) και lf s(Si ) είναι Το μέγεθος του τοπικού χαρακτηριστικού του αρχικού τομέα
Ω και των υποτομέων Si αντιστοίχως. Το |∂Si | υποδηλώνει το μήκος των διαχωριστών ενώ
το |Si | υποδηλώνει τη περιοχή των υποτομέων Si .
5.3. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος 67
Συνεχής Αποσύνθεση Τομέα: Οι μέθοδοι συνεχούς αποσύνθεσης τομέα διαμερίζουν τον το-
μέα Ω σε υποτομείς Ωi , i = 1, Ms . Υπάρχουν δύο τύποι μεθόδων συνεχούς ΑΤ. Ο πρώτος
και πιο διάσημος τύπος βασίζεται στις μεθόδους quadtree/octree [19][45][52]. Οι μέθοδοι
octree αξιοποιούν τη δομή δεδομένων octree για την αποσύνθεση του Ω σε μπλοκς (octants).
Τα octants μαζί με μία περιγραφή της εξωτερικής περιφέρειας ∂Ω ορίζουν τους υποτομείς.
Μία άλλη κλάση μεθόδων συνεχούς Αποσύνθεσης Τομέα [43] βασίζεται σε βοηθητικές δο-
μές δεδομένων, όπως αυτή του Μεσαίου Άξονα [7][51][66] ώστε οι υποτομείς Ωi να μην
έχουν νέα χαρακτηριστικά, όπως μικρές γωνίες μεταξύ των διαχωριστών και της εξωτερικής
περιφέρειας [43].
Οι Προσεγγίσεις Συνεχούς Αποσύνθεσης Τομέα είναι ελκυστικές επειδή ραφινάρουν τους με-
μονωμένους υποτομείς επαναχρησιμοποιώντας υπαρκτά πολύ-ελεγμένα σειριακά λογισμικά
σε κάθε υποτομέα ανεξάρτητα.
Διακριτή Αποσύνθεση Τομέα: Οι μέθοδοι διακριτής αποσύνθεσης τομέα διαμερίζουν ένα
αρχικό πλέγμα D σε έναν αριθμό απλά συνδεδεμένων υποπλεγμάτων Di , i = 1, Ns ενώ προ-
σπαθούν να ελαχιστοποιήσουν τον λόγο επιφάνειας προς όγκο για κάθε υποπλέγμα. Συνήθως
ένα τέτοιο πλέγμα παράγεται σε ένα super υπολογιστή χρησιμοποιώντας σειριακούς παραγω-
γούς πλεγμάτων. Η διαμέριση ενός πλέγματος επιτυγχάνεται, είτε σειριακά, είτε παράλληλα
χρησιμοποιώντας βιβλιοθήκες διαμέρισης γράφων όπως το Metis/Parallel Metis [56] και το
Chaco [31].
Η κοιλότητα C ενός σημείου p ορίζεται ως το σύνολο όλων των τριγώνων των οποίων οι
περιγεγραμμένοι κύκλοι τους περικλείουν το p. Η σφαίρα (περιγεγραμμένος κύκλος) ενός
σημείου p ορίζεται ως το σύνολο των νέων τριγώνων που ορίζονται από το σημείο p και από
τις κορυφές της περιφέρειας της κοιλότητάς του[30].
Η πρόκληση για τις μεθόδους παράλληλης παραγωγής πλέγματος που βασίζονται στον πυ-
ρήνα των Bowyer-Watson είναι το να διατηρήσουμε την ακόλουθη επανάληψη αμετάβλητη:
το πλέγμα Mi να είναι σύμμορφο (να διατηρεί το σχήμα του) και Delaunay για i = 1,n.
Στην συνέχεια θα περιγράψουμε τρεις (εκ των πέντε που αναφέρονται σε αυτήν την επισκό-
πηση) υλοποιημένες διαφορετικές πρακτικές μεθόδους παράλληλης παραγωγής Delaunay
πλέγματος, οι οποίες μορφοποιούν τα υποπροβλήματα βάσει του βαθμού σύζευξης τους.
Μία ξεκάθαρη προσέγγιση που αξιοποιεί τους παράλληλους υπολογισμούς βασίζεται στην
αναγνώριση μιας μερικής σειράς μεταξύ των υπολογισμών των γνωστών σειριακών πυρήνων,
και μετέπειτα με ωμή βία, να χρησιμοποιήσουμε, είτε τη μεταφορά μηνυμάτων, είτε threads,
για να υλοποιήσουμε τους υπολογισμούς σε κατανεμημένα ή κοινής διαμοιρασμένης μνήμης
παράλληλα συστήματα, αντιστοίχως. Αυτή η προσέγγιση μας οδηγεί στη μέθοδο υψηλής
σύζευξης [48] για Παράλληλη παράγωγη Delaunay πλέγματος εγγυημένης ποιότητας.
Μέθοδος Παράλληλης Aισιόδοξης Delaunay Παραγωγής πλέγματος (Parallel Optimistic
Delaunay Meshing- PODM): Λόγω του ότι αυτή η μέθοδος ξεφεύγει από τα πλαίσια αυτής της
πτυχιακής εργασίας, η οποία εστιάζει στις δύο διαστάσεις, θα αναφέρουμε μόνο πληροφορίες
που μας χρειάζονται, αλλά και το Σχήμα 5.4 που επιδεικνύει τη λειτουργία του. Στη δημο-
σίευεση [48] οι συγγραφείς παρουσιάζουν την πρώτη αποδείξιμη τρισδιάστατη παράλληλη
παραγωγή πλέγματος εγγυημένης ποιότητας για πολυεδρικούς τομείς. Η PODM βασίζεται σε
διακριτή αποσύνθεση τομέα, αλλά δεν περιορίζεται από τους διαχωριστές των υποτομέων.
Εν συντομία, η PODM δεν βασίζεται σε καλές αποσυνθέσεις τομέα πριν, κατά τη διάρκεια
και μετά από τη παράλληλη παραγωγή πλέγματος, πληρώνοντας το κόστος της προσέγγισης
της έντονης ”εργασίας”. Η PODM είναι μία λειτουργική και υψηλής σύζευξης μέθοδος χωρίς
καθόλου επαναχρησιμοποίηση κώδικα σειριακών λογισμικών.
5.3. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος 69
Σχήμα 5.4: a) Μία προέκταση της κοιλότητας πέραν των διαχωριστών των
υποπλεγμάτων, b) Ένα χρονικό διάγραμμα με ταυτόχρονη εισαγωγή ση-
μείου, c) Οι χρόνοι εκτέλεσης του PODM και d) το ραφινάρισμα μιας κοι-
λότητας με ταυτόχρονη κατανομή των νεο-δημιουργημένων στοιχείων.
Στο [44] οι συγγραφείς παρουσιάζουν δύο προσεγγίσεις που επιτυγχάνουν 100% επαναχρη-
σιμοποίηση κώδικα σειριακών λογισμικών και εξαλείφουν την επικοινωνία και τον συγχρο-
νισμό. Η προσέγγιση αυτή βασίζεται σε Συνεχή Αποσύνθεση Τομέα και αποσυνδέουν τους
μεμονωμένους υποτομείς-υποπροβλήματα ώστε να μπορούν να τρέξουν παράλληλα. Παλαιό-
τερα, στο [6] οι συγγραφείς παρουσίασαν μια παρόμοια προσέγγιση για την παράλληλη πα-
ραγωγή πλεγμάτων ενός συνόλου σταθερών σημείων.
Μέθοδος Παράλληλης Delaunay Αποσύνδεσης Τομέα (Parallel Delaunay Domain Decoupling
- P D3 Method): Η μέθοδος P D3 [44] βασίζεται σε Συνεχή Αποσύνθεση Τομέα. Η P D3 για
την αποσύνθεση τομέα δισδιάστατων γεωμετριών χρησιμοποιεί τον μεσαίο άξονα του τομέα
και στηρίζεται στην ακόλουθη απλή γεωμετρική ιδιότητα [44].
Λήμμα 27: Έστω MA(Ω) είναι ό Μεσαίος Άξονας του τομέα Ω και b ένα σημείο επαφή του
c ∈ M A(Ω). Οι γωνίες που σχηματίζονται από το ευθύγραμμο τμήμα cb και την εφαπτομένη
του περιφέρια ∂Ω στο b είναι τουλάχιστον π/2.
Ο μεσαίος άξονας του τομέα Ω υπολογίζεται από τα Voronoi σημεία μιας διακριτοποίησης του
τομέα. Το Σχήμα 5.5 απεικονίζει την (a) προσέγγιση του μεσαίου άξονα και (b) μία διαμέριση
70 Κεφάλαιο 5. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος στο R2
σε 8 υποτομείς του τομέα. Το επίπεδο της διακριτοποίησης της περιφέρειας καθορίζει την
ποιότητα της προσέγγισης του μεσαίου άξονα. Ωστόσο, ο στόχος στη δημοσίευση [44] δεν
είναι να προσεγγιστεί επακριβώς ο μεσαίος άξονας, αλλά να εξασφαλιστούν καλές γωνίες από
τον διαχωριστή. Συνεπώς, τα κριτήρια για την διακριτοποίηση του τομέα καθορίζονται από
την ποιότητα των γωνιών που σχηματίζονται μεταξύ των διαχωριστών και την περιφέρεια
του τομέα [41].
Σχήμα 5.5: (a) Ο μετασχηματισμός Μεσαίου Άξονα (b) που αξιοποιείται για
να επιτευχθεί υψηλής ποιότητας αποσύνθεση τομέα. (c) Για τη P D3 οι δια-
χωριστές των υποτομέων ραφινάρονται (d) σε ένα προ-επεξεργαστικό βήμα
ώστε να αποσυνδεθούν οι υποτομείς που ραφινάρονται ανεξάρτητα.
Μετά την αποσύνθεση του τομέα (όπως απεικονίζεται στο Σχήμα 5.5b), η P D3 κατασκευά-
ζει μία ”ζώνη” γύρω από τους διαχωριστές των υποπλεγμάτων. Η ζώνη αποτελείται από την
ένωση όλων των διαμετρικών κύκλων των διαχωριστών (όπως απεικονίζεται στο Σχήμα 5.5c).
Οι διαχωριστές των υποτομέων ραφινάρονται χρησιμοποιώντας το lfs του αρχικού τομέα.
Αυτό μας οδηγεί σε ένα υπερραφινάρισμα του τελικού πλέγματος. Πειραματικά δεδομένα
από την P D3 υποδεικνύουν πως το υπερραφινάρισμα δεν είναι όσο υψηλό θα νομίζαμε.
Ωστόσο οι συγγραφείς του [44] υλοποίησαν μια νέα προσέγγιση, η οποία χρησιμοποιεί προ-
σαρμοστική αποσύνθεση τομέα [41] και διαφορετικό lfs για κάθε διαχωριστή των υποτομέων.
Αυτή η μέθοδος ελαττώνει το υπερραφινάρισμα των διαχωριστών και παράγει καλά διαβαθ-
μισμένα πλέγματα [43].
Στο [44] οι συγγραφείς αποδεικνύουν ότι τα λογισμικά σειριακής Delaunay παραγωγής πλέγ-
ματος δεν θα προσθέσουν καμία νέα κορυφή εντός μιας ζώνης γύρω από τους διαχωριστές
υποτομέων. Δηλαδή, η σειριακή Delaunay παραγωγή πλέγματος που θα εφαρμοστεί σε κάθε
υποτομέα θα τερματίσει χωρίς να προσθέσει καμία νέα κορυφή στους διαχωριστές και έτσι
εξαλείφει την επικοινωνία και την τροποποίηση των σειριακών λογισμικών. Με αυτόν τον
τρόπο, το πρόβλημα της παράλληλης παραγωγής πλέγματος ανάγεται σε μία ”κατάλληλη”
αποσύνθεση τομέα και διακριτοποίηση των διαχωριστών. Ωστόσο, η κατασκευή των απο-
συνθέσεων που μπορούν να αποσυνδέσουν το πλέγμα είναι ένα αρκετά ενδιαφέρον και δύ-
σκολο πρόβλημα, καθώς η λύση βασίζεται στον μεσαίο άξονα, ο οποίος είναι πολύ ακριβός
και δύσκολος για να κατασκευαστεί (ακόμα και να προσεγγιστεί) για περίπλοκες τρισδιάστα-
τες γεωμετρίες.
Οι παράλληλες μέθοδοι υψηλής σύζευξης και χωρίς σύζευξη που έχουμε δει ως τώρα κα-
λύπτουν μερικές από τις απαιτήσεις για την παράλληλη παραγωγή πλέγματος που περιγρά-
ψαμε στο υποκεφάλαιο 5.1 . Για παράδειγμα, η PODM είναι τρισδιάστατη λειτουργική και
5.3. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος 71
δεν απαιτεί αποσύνθεση τομέα, αλλά δεν επαναχρησιμοποιεί καθόλου κώδικα σειριακών λο-
γισμικών παράλληλης παραγωγής πλέγματος και συνάμα έχει πολύ υψηλό επικοινωνιακό
κόστος. Από την άλλη η P D3 καλύπτει τα προβλήματα επαναχρησιμοποίησης κώδικα και
επικοινωνιακού κόστους, αλλά η εφαρμογή της στις τρεις διαστάσεις περιορίζεται από το
να είναι Delaunay-αποδεκτό και από το πρόβλημα της αποσύνθεσης τομέα αντιστοίχως. Στη
συνέχεια θα παρουσιαστεί περιληπτικά μία μέθοδος που προσπαθεί να εξισορροπήσει τους
συμβιβασμούς μεταξύ και των τριών απαιτήσεων αλλά και του προβλήματος της αποσύνθε-
σης τομέα έχοντας ως κόστος κάποια επικοινωνία.
Μέθοδος Παράλληλης Παραγωγής Περιορισμένου Delaunay Πλέγματος (Parallel Constrained
Delaunay Mesh Generation - PCDM Method). Με σκοπό την επίλυση των προβλημάτων της
επικοινωνίας και του συγχρονισμού, αρχικά στη δημοσίευση [15] παρουσιάστηκε η πρώτη
προσέγγιση της PCDM. Επακόλουθα στην δημοσίευση [12] η οποία μετουσιώθηκε στην δη-
μοσίευση [11], αναπτύχθηκε η τελική έκδοση της PCDM, η οποία είναι ασύγχρονη και μπο-
ρεί να μειώσει τα μεταβλητά και απρόβλεπτα πρότυπα επικοινωνίας σε αντικανονική, αλλά
μαζική επικοινωνία.
Η PCDM [11] βασίζεται στην Περιορισμένη Delaunay Τριγωνοποίηση [13] και στη μέθοδο
συνεχούς Αποσύνθεσης Τομέα Μεσαίου Άξονα (MADD) [41], το αποτέλεσμα της οποίας δια-
κριτοποιείται σε υποπλέγματα. Κάθε υποπλέγμα αντιμετωπίζεται ως ένα ανεξάρτητο πλέγμα,
το οποίο ορίζεται από την εξωτερική περιφέρεια (αν υπάρχει) και/ή τις περιορισμένες ακμές,
οι οποίες είναι ακμές των διαχωριστών μεταξύ οποιουδήποτε ζευγαριού γειτονικών πλεγ-
μάτων. Στα επόμενα δύο κεφάλαια θα παρουσιαστούν αναλυτικά οι μέθοδοι MADD και
PCDM.
73
Κεφάλαιο 6
6.1 Εισαγωγή
Η αποσύνθεση τομέα είναι ένα πρόβλημα που έχει μελετηθεί εκτενέστατα τα τελευταία εί-
κοσι χρόνια ώστε να επιτευχθούν παράλληλοι υπολογισμοί. Η MADD εξετάζει το πρόβλημα
της γεωμετρικής αποσύνθεσης τομέα στα πλαίσια της παράλληλης παραγωγής πλέγματος.
Σκοπός της MADD είναι η αποσύνθεση ενός δισδιάστατου συνεχούς τομέα Ω σε Ν μη επι-
καλυπτόμενους υποτομείς Ωi , ώστε να μην έχουν νέα χαρακτηριστικά, όπως μικρές γωνίες
μεταξύ των διαχωριστών ∂Ωi των υποτομέων και της (εξωτερικής) περιφέρειας ∂Ω [43]. Οι
αποσυνθέσεις αυτές είναι κατάλληλες για ευσταθή παράλληλη παραγωγή πλέγματος, όπως
απεικονίζεται στο Σχήμα 6.1.
Σχήμα 6.1: Αριστερά βλέπουμε μια ομοιόμορφη αποσύνθεση τομέα της γε-
ωμετρίας Chesapeake κόλπου που παρήγαγε η MADD, και δεξιά μία τριγω-
νοποίηση αυτής της γεωμετρίας που αξιοποιεί την αποσύνθεση της MADD.
74 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2
Θα εξετάσουμε το πρόβλημα της γεωμετρικής αποσύνθεσης τομέα στο πλαίσιο της παράλλη-
λης παραγωγής πλέγματος. Επίσημα, μία 2-Way αποσύνθεση τομέα ορίζεται ως εξής. Έστω
Ω το closure ενός ανοιχτού συνδεδεμένου οριοθετημένου συνόλου στο R2 και η περιφέρεια
∂Ω είναι ένας επίπεδος γράφος ευθειών γραμμών (ΕΓΕΓ), ο οποίος σχηματίζεται από ένα
σύνολο ευθύγραμμων τμημάτων, που τέμνονται μόνο στα άκρα τους. Ένας πλήρης διαχωρι-
στής H ⊆ Ω είναι ένα πεπερασμένο σύνολο απλών μονοπατιών που ονομάζουμε μερικούς
διαχωριστές, οι οποίοι δεν τέμνονται, και ορίζουν μία αποσύνθεση Ω1 , Ω2 του Ω. Σε αυτήν
ισχύει ότι τα Ω1 και Ω2 είναι συνδεδεμένα σύνολα, όπου Ω1 ∪Ω2 = Ω, και για κάθε μονοπάτι
P ⊂ Ω, το οποίο συνδέει ένα σημείο του Ω1 με ένα του Ω2 , ισχύει ότι P ∩ H ̸= ∅.
Οι αλγόριθμοι εγγυημένης παραγωγής πλέγματος του Chew [14] και του Ruppert [54], που
παράγουν στοιχεία με καλές γωνίες, για να τερματίσει ο αλγόριθμος, απαιτείται οι αρχικές
γωνίες, που σχηματίζονται από τις ακμές της περιφέρειας, να μην είναι μικρότερες από κά-
ποιο όριο. Π.χ. ο Ruppert απαιτεί να μην είναι μικρότερες από 60°. Όταν αυτοί οι αλγόριθμοι,
που βασίζονται στις αποσυνθέσεις τομέα, χρησιμοποιούνται ώστε να γίνεται παράλληλη πα-
ραγωγή πλέγματος, αντιμετωπίζουν τους διαχωριστές ως περιφέρεια του κάθε υποτομέα. Συ-
νεπώς, ο διαχωριστής που θα κατασκευαστεί δεν πρέπει να σχηματίζει γωνίες κάτω από ένα
όριο Φ0 , το οποίο προσδιορίζεται από τον σειριακό παραγωγό πλέγματος π.χ. τον Triangle
[63] που θα χρησιμοποιηθεί για να παράγει το πλέγμα του κάθε υποτομέα.
Όπως αναφέρθηκε και στο προηγούμενο κεφάλαιο, το πρόβλημα της εξισορρόπησης του
φορτίου λύνεται πραγματοποιώντας υπεραποσύνθεση του τομέα [17], ώστε να διαμοιραστεί
ισόποσα το φορτίο σε κάθε επεξεργαστή [42]. Άρα, πρέπει να διατηρήσουμε το μέγιστο εμ-
βαδόν των υποτομέων κοντά στον μέσο όρο των εμβαδών τους.
Συνοπτικά, μία γεωμετρική αποσύνθεση τομέα είναι κατάλληλη για ευσταθή παράλληλη πα-
ραγωγή πλέγματος, αν ικανοποιεί τα τρία ακόλουθα κριτήρια:
i Δημιουργεί καλές γωνίες, δηλαδή γωνίες όχι μικρότερες από Φ0 < π/2. Η τιμή Φ0 προσ-
διορίζεται από τον σειριακό παραγωγό πλέγματος.
ii Το μήκος του διαχωριστή πρέπει να είναι σχετικά μικρό.
iii Το μέγιστο εμβαδόν των υποτομέων πρέπει να είναι κοντά στον μέσο όρο των εμβαδών
τους.
Οι προηγούμενες προσεγγίσεις αποσύνθεσης τομέα δεν λαμβάνουν υπόψιν τους την ύπαρξη
καλών γωνιών. Για παράδειγμα ο διαμεριστής Metis [35] που βασίζεται σε γράφους, δημιουρ-
γεί εξισορροπημένες αποσυνθέσεις με μικρούς διαχωριστές, αλλά οι γωνίες που σχηματίζουν
αυτοί μπορούν να είναι αρκετά μικρές. Συνεπώς, αυτή η μέθοδος που παρουσιάζεται καλύπτει
6.3. Μέθοδος Αποσύνθεσης Τομέα Μεσαίου Άξονα (MADD) 75
και τα τρία κριτήρια. Άρα οι αποσυνθέσεις αυτής είναι κατάλληλες για παράλληλη παραγωγή
πλεγμάτων.
Η μέθοδος MADD αρχικά παρουσιάστηκε στη δημοσίευση [42], στα πλαίσια μίας μεθόδου
Παράλληλης Delaunay Παραγωγής πλέγματος χωρίς σύζευξη, και αποτελεί μία προσέγγιση
του μεσαίου άξονα του τομέα. Η προσέγγιση αυτή χρησιμοποιείται ως βοηθητική δομή για
τον προσδιορισμό των διαχωριστών που σχηματίζουν καλές γωνίες. Πλέον όμως, επεκτά-
θηκε και υποστηρίζει N-Way αποσύνθεση τομέα και επίσης μια εξομαλυντική διαδικασία
βελτίωσης της ποιότητας των διαχωριστών.
Ο μεσαίος άξονας του τομέα Ω, που υποδηλώνεται ως MA(Ω), μπορεί να προσεγγιστεί από
τις Voronoi κορυφές μίας διακριτοποίησης του Ω [69]. Οι Voronoi κορυφές είναι τα περίκε-
ντρα των τριγώνων της Delaunay τριγωνοποίησης του διακριτού τομέα, όπως απεικονίζεται
στο Σχήμα 5.5(a) του κεφαλαίου 6. Καθώς οι Voronoi κορυφές προσεγγίζουν τον MA, τα ευ-
θύγραμμα αυτά τμήματα που τις συνδέουν με την περιφέρεια τείνουν να δημιουργούν γωνίες
κοντά στο π/2. Η προσέγγιση του ΜΑ(Ω) επιτυγχάνεται σε δύο στάδια: (1) διακριτοποίηση
της περιφέρειας και (2) υπολογισμός μίας περιφέρειας σύμφωνα με την Delaunay τριγωνοποί-
ηση χρησιμοποιώντας τα σημεία από το βήμα (1). Τα περίκεντρα των τριγώνων της Delaunay
τριγωνοποίησης είναι οι Voronoi κορυφές των σημείων της περιφέρειας. Οι διαχωριστές σχη-
ματίζονται είτε συνδέοντας αυτά τα περίκεντρα σε δύο από τις κορυφές των Delaunay τριγώ-
νων σχηματίζοντας έτσι δύο ευθύγραμμα τμήματα, είτε από τις ακμές των Delaunay τριγώνων
σχηματίζοντας έτσι ένα ευθύγραμμο τμήμα. Και στις δύο περιπτώσεις, τα ευθύγραμμα τμή-
ματα αυτά επιλέγονται κατά τέτοιο τρόπο, ώστε να σχηματίζουν καλές γωνίες μεταξύ τους,
αλλά και σε σχέση με την περιφέρεια, και τα ονομάζουμε μερικούς διαχωριστές. Ένας πλήρης
διαχωριστής θα σχηματιστεί από ένα σύνολο μερικών διαχωριστών.
Σχήμα 6.2: Αριστερά φαίνεται ένα τμήμα μία Delaunay τριγωνοποίηση και
δεξιά οι μερικοί διαχωριστές. Το τρίγωνο α1 α3 α5 είναι ένα τρίγωνο δια-
σταύρωσης, ενώ τα υπόλοιπα δεν είναι.
Ο στόχος μας είναι να δημιουργήσουμε αποσυνθέσεις που σχηματίζουν γωνίες όχι μικρότερες
από το όριο Φ0 . Οι μερικοί διαχωριστές είναι δύο τύπων, όπως απεικονίζεται στο Σχήμα 6.2. Ο
πρώτος τύπος είναι μη περιφερειακές ακμές της Delaunay τριγωνοποίησης που σχηματίζουν
γωνίες ≥ Φ0 και τις βρίσκουμε απλά επιλέγοντας αυτές τις ακμές. Ο δεύτερος τύπος είναι
ευθύγραμμα τμήματα που ενώνουν το περίκεντρο ενός τριγώνου με τις κορυφές του και τα
76 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2
Ο αλγόριθμος MADD χρησιμοποιεί ως αρχή την προσέγγιση του MA που βασίζεται στην
Delaunay τριγωνοποίηση D. Επίσης, ως σειριακό παραγωγό πλέγματος χρησιμοποιούμε το
Detri2 [64]. Ο αλγόριθμος MADD χρησιμοποιεί την Delaunay τριγωνοποίηση για να ανα-
γνωρίσει ένα σύνολο υποψήφιων μερικών διαχωριστών. Στην συνέχεια, θα δημιουργήσει τον
πλήρη διαχωριστή χρησιμοποιώντας ένα υποσύνολο των μερικών διαχωριστών, που εγγυώ-
νται την αποσύνθεση του τομέα σε δύο υποτομείς. Η επιλογή των μερικών διαχωριστών βα-
σίζεται στη μείωση του μεγέθους των διαχωριστών, διατηρώντας παράλληλα την ισορροπία
των εμβαδών.
Ο αλγόριθμος MADD χαρτογραφεί την Delaunay τριγωνοποίηση D σε έναν γράφο GD , ο
οποίος είναι ένας δυαδικός γράφος τροποποιημένων στοιχείων. Αυτός ο γράφος περιέχει τις
εξής πληροφορίες: (α) την τοπολογία του D, (β) το μήκος των μερικών διαχωριστών, και (γ)
τα εμβαδά των υποτομέων που θα δημιουργηθούν. Αυτές οι πληροφορίες θα αξιοποιηθούν
για να: (1) εγγυηθούμε ότι οι μερικοί διαχωριστές που θα εισάγουμε σχηματίζουν έναν πλήρη
διαχωριστή, (2) ελαχιστοποιήσουμε το μήκος των διαχωριστών, και (3) να κρατήσουμε τα
εμβαδά των υποτομέων ισορροπημένα. Αφού κατασκευαστεί ο GD , αυτός είναι συνεσταλ-
μένος, έτσι ώστε μόνο οι μερικοί διαχωριστές της D να αντιπροσωπεύονται ως ακμές του.
Άρα, αυτός ο συνεσταλμένος γράφος διαμερίζεται κατά τρόπο που ελαχιστοποιεί το κόστος
κοπής και δίνει ισορροπημένα βάρη υποτομέων. Στην υλοποίηση αυτή χρησιμοποιήθηκε ο
σύγχρονος διαμεριστής γράφων Metis [35]. Τέλος, η διαμέριση του γράφου μεταφράζεται
ξανά σε εισαγωγές μερικών διαχωριστών, γεγονός που οδηγεί σε 2-Way αποσύνθεση.
6.4. Ο αλγόριθμος MADD 77
Η κατασκευή του γράφου GD και η συστολή του στον G′ D γίνεται εφαρμόζοντας τους ακό-
λουθους αλγόριθμους.
Θεωρώντας ότι ο διαμεριστής του γράφου μας χρειάζεται μικρός κόστος κοπής και επιστρέφει
ισορροπημένα βάρη, το μήκος του διαχωριστή θα είναι σχετικά μικρό και τα εμβαδά των
υποτομέων θα είναι περίπου ίσα.
Επιπλέον, δεδομένου ότι όλοι οι μερικοί διαχωριστές, από την κατασκευή του G′ D , σχημα-
τίζουν καλές γωνίες, ο κατασκευασμένος πλήρης διαχωριστής θα σχηματίζει επίσης καλές
γωνίες. Ωστόσο, υπάρχουν περιπτώσεις όπου ο διαμερισμός του γράφου θα οδηγήσει στην
εισαγωγή δύο μερικών διαχωριστών που συναντώνται στο ίδιο περιφερειακό σημείο. Η γωνία
που σχηματίζεται μεταξύ αυτών των δύο διαχωριστών μπορεί να είναι < Φ0 , δίνοντας έτσι
μια μη αποδεκτή αποσύνθεση. Έχει προστεθεί μια ρουτίνα που ελέγχει την ύπαρξη τέτοιων
περιπτώσεων, τροποποιεί και διαμερίζει τον γράφο, έτσι ώστε να δημιουργούνται μόνο γω-
νίες ≥ Φ0 κατά την εισαγωγή των διαχωριστών. Γενικά, αυτές οι περιπτώσεις αντιστοιχούν
σε υψηλό κόστος κοπής, λόγω του μήκους των δύο διασταυρωμένων διαχωριστών.
Η διαδικασία που περιγράψαμε στην προηγούμενη ενότητα αποσυνθέτει τον τομέα σε δύο
υποτομείς. Για να αποκτήσουμε N αποσυνθέσεις θα πρέπει να εφαρμόσουμε τον MADD αλ-
γόριθμο αναδρομικά αξιοποιώντας την φιλοσοφία του ”διαίρει και βασίλευε”. Ο αλγόριθμος
N-Way αποσύνθεσης τομέα περιγράφεται από τον ακόλουθο αλγόριθμο.
Ένα πρόβλημα της MADD είναι ότι κάθε υποτομέας αποσυντίθεται ανεξάρτητα από τους
γειτονικούς υποτομείς, το οποίο μπορεί να συντελέσει στην δημιουργία μικρών γωνιών με-
ταξύ των μερικών διαχωριστών γειτονικών υποτομέων, όπως απεικονίζεται στο Σχήμα 6.4.
Για αυτό θα εισάγουμε μια εξομαλυντική διαδικασία που θα λύνει το πρόβλημα που αναφέ-
ραμε.
Θα θέλαμε να ενθαρρύνουμε τον διαμεριστή του γράφου να επιλέγει διαχωριστές που συμ-
μορφώνονται με τους υπάρχοντες διαχωριστές, δηλαδή αυτούς που συμπίπτουν στην κοινή
περιφέρεια με τους υπάρχοντες μερικούς διαχωριστές των γειτονικών υποτομέων. Για το
σκοπό αυτό προσδιορίζουμε δύο τύπους περιφερειακών σημείων, όπως απεικονίζονται δε-
ξιά στο Σχήμα 6.4. Τα σημεία του πρώτου τύπου είναι είτε αρχικά σημεία της περιφέρειας
του τομέα, είτε άκρα ενός υπάρχοντος διαχωριστή. Για να ενθαρρύνουμε τον διαμεριστή του
γράφου να επιλέγει συμμορφωμένους διαχωριστές, μειώνουμε το βάρος των ακμών του γρά-
φου όταν αυτές αντιστοιχούν σε διαχωριστές που ορίζονται από σημεία του πρώτου τύπου. Τα
σημεία αυτά είναι άκρα υπαρχόντων διαχωριστών ή της αρχικής περιφέρειας, και οι νέοι δια-
χωριστές, που συμπίπτουν σε αυτά τα σημεία, συμμορφώνονται με τους υπάρχοντες διαχω-
ριστές. Ο δεύτερος τύπος σημείων είναι το μέσο των ευθύγραμμων τμημάτων που ορίζονται
από τα σημεία του πρώτου τύπου. Επίσης μειώνουμε το βάρος των ακμών του γράφου που
αντιστοιχούν σε διαχωριστές, οι οποίοι ορίζονται από τα σημεία του δεύτερου τύπου. Κατ’
αυτό τον τρόπο, αυξάνουμε την πιθανότητα ένας επιλεγόμενος διαχωριστής να έχει άκρα,
είτε σε υπαρκτά σημεία (πρώτου τύπου), είτε μακριά από αυτά (δεύτερου τύπου).
Το προηγούμενο βήμα επιβραβεύει τους συμμορφωμένους διαχωριστές, και αυτούς που σχη-
ματίζουν καλύτερες γωνίες, αλλά δεν εγγυάται ότι αυτοί είναι που θα επιλεχθούν από διαμε-
ριστή γράφου. Για να βελτιώσουμε την ποιότητα των διαχωριστών θα εισάγουμε ένα δεύτερο
ad-hoc ευριστικό βήμα εξομάλυνσης, το οποίο θα πραγματοποιείται μετά την διαμέριση του
γράφου. Αντί να εισάγουμε τους διαχωριστές που επιλέγει ο διαμεριστής γράφου, εξετάζουμε
όλους τους πιθανούς διαχωριστές που είναι κοντά στους αρχικούς, και εισάγουμε τους βέλ-
τιστους βάσει μιας συνάρτησης βελτιστότητας. Οι γειτονικοί διαχωριστές ορίζονται από γει-
τονικά σημεία στα άκρα του αρχικού διαχωριστή. Η συνάρτηση βελτιστότητας υπολογίζει το
βαθμό της ποιότητας βασιζόμενη σε: (α) το μέγεθος του διαχωριστή, (β) την ελάχιστη γωνία
που σχηματίζει, και (γ) τον τύπο των άκρων. Ο υπολογισμός αυτής της συνάρτησης είναι
παρόμοιος με αυτόν του προηγούμενου εξομαλυντικού βήματος.
Συνεπώς, με αυτό το εξομαλυντικό βήμα λαμβάνουμε πάντα συμμορφωμένους διαχωριστές
που σχηματίζουν καλές γωνίες. Αυτό εξαρτάται από την αρχική διαμέριση του γράφου, από
την ισορροπία της αποσύνθεσης, και φυσικά, από τα γεωμετρικά χαρακτηριστικά του το-
μέα.
Η διαδικασία που έχουμε περιγράψει μέχρι τώρα για τις αποσυνθέσεις N-Way παράγει ομοιό-
μορφες αποσυνθέσεις τομέα, δηλαδή, τα εμβαδά των υποτομέων είναι περίπου ίσα. Η μέθο-
δος MADD υποστηρίζει και N-Way διαβαθμισμένη αποσύνθεση τομέα. Δηλαδή όχι απο-
κλειστικά ομοιόμορφες, αλλά εξαρτώμενες από τους βαθμούς της κάθε περιοχής ή/και της
κάθε κορυφής. Στα πλαίσια όμως αυτής της πτυχιακής εργασίας, δεν θα αναλυθεί αυτή η
διαβαθμισμένη μέθοδος της MADD.
6.8 Υλοποίηση
Η γλώσσα προγραμματισμού που χρησιμοποιήθηκε για αυτήν την υλοποίηση είναι η C++ και
ολόκληρη η βιβλιοθήκη που υλοποιεί την μέθοδο MADD εμπεριέχεται στην κλάση Madd.
Το λογισμικό σειριακής παραγωγής πλέγματος Triangle [63], που χρησιμοποιούσε η αρχική
υλοποίηση [41], αντικαταστάθηκε από το πιο καινούριο λογισμικό Detri2 [64]. Για να πραγ-
ματοποιηθεί αυτή η αντικατάσταση, χρειάστηκε να δημιουργηθεί ένα API του προγράμματος
6.9. Πειραματικά Αποτελέσματα 81
αυτού, το οποίο θα επιτρέπει την επικοινωνία του με άλλα προγράμματα. Η επικοινωνία αυτή
επιτυγχάνεται μέσω μίας συνάρτησης που ονομάζεται triangulate, η οποία εμπεριέχεται στην
κλάση detri2Api του Detri2. Η συνάρτηση αυτή έχει ως είσοδο (1) το σύνολο των κορυφών
του τομέα, (2) το σύνολο των ευθυγράμμων τμημάτων του τομέα, και (3) το σύνολο των πιθα-
νών τρυπών του τομέα. Εφόσον πραγματοποιήσει την Delaunay τριγωνοποίηση, επιστρέφει
τα 3 προαναφερθέντα σύνολα στοιχείων, τα τρίγωνα και τους γείτονες αυτών που προέκυ-
ψαν από την Delaunay τριγωνοποίηση. Επιπρόσθετα, ο διαμεριστής της βιβλιοθήκης Metis
[35] που χρησιμοποιήθηκε για τον διαμερισμό του γράφου, αναβαθμίστηκε στην τελευταία
του έκδοση, πραγματοποιώντας τις απαραίτητες τροποποιήσεις που απαιτούσε η αναβάθ-
μιση αυτή. Τέλος, ο κώδικας της αρχικής υλοποίησης αναδιαμορφώθηκε έχοντας ως στόχο
την βελτίωση της αναγνωσιμότητας του κώδικα, και την τήρηση σύγχρονων πρακτικών της
γλώσσας προγραμματισμού C++.
Το πρόγραμμα MaddInterface, όπως προμηνύει και το όνομά του, αποτελεί μια διεπαφή για
την χρήση της βιβλιοθήκης MADD, η οποία δέχεται και εκτελεί ένα σύνολο απλών εντολών.
Το αρχείο εισόδου του MaddInterface, το οποίο είναι τύπου .poly[63], είναι ο αρχικός τομέας,
ενώ τα αρχεία εξόδου, τα οποία είναι είτε τύπου .poly, είτε .dat, είναι η N-Way αποσύνθεση
του τομέα. Το σύνολο των βασικών εντολών παρουσιάζεται στο Σχήμα 6.5.
Για τα πειράματά μας χρησιμοποιούμε τρία γεωμετρικά μοντέλα τομέα. Το πρώτο μοντέλο εί-
ναι το Chesapeake Bay, το οποίο είναι μία προσέγγιση του κόλπου Chesapeake στην Virginia,
και αποτελείται από 13.524 ευθύγραμμα τμήματα στην περιφέρεια και 26 νησιά (τρύπες). Το
δεύτερο μοντέλο είναι το Key, το οποίο είναι μία προσέγγιση ενός κλειδιού που παρέχεται
από το Triangle [63], και αποτελείται από 54 ευθύγραμμα τμήματα στην περιφέρεια και 1
82 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2
τρύπα. Το τρίτο μοντέλο είναι το Pipe, το οποίο είναι μία προσέγγιση ενός σωλήνα, και απο-
τελείται από 576 ευθύγραμμα τμήματα στην περιφέρεια και 9 τρύπες. Τα τρία μοντέλα που
αναφέραμε απεικονίζονται στο Σχήμα 6.6.
Εκτελούμε τα πειράματά μας ορίζοντας ως ελάχιστη γωνία ϕ = 0.333 rads ≈ 60°. Στα πει-
ράματα μας υπολογίζουμε τον χρόνο και το πλήθος ευθύγραμμων τμημάτων συμπεριλαμβα-
νομένου των διαχωριστών, αποσυνθέτοντας τον εκάστοτε τομέα σε 2 έως 1400 υποτομείς.
Τα πειράματά μας εκτελέστηκαν σε έναν υπολογιστή με επεξεργαστή AMD Ryzen 5 1600
3.2GHz, οποίος έχει 6 πυρήνες, και με μνήμη RAM = 8 GB. Τα αποτελέσματα των πειραμά-
των απεικονίζονται στο Σχήμα 6.7 και στο Σχήμα 6.8.
Τα αποτελέσματά μας δείχνουν ότι ο χρόνος αποσύνθεσης του τομέα είναι άμεσα συνδεδε-
μένο με το μέγεθος του τομέα, δηλαδή το πλήθος των √ ευθυγράμμων τμημάτων εισόδου. Το
επίπεδο του ραφιναρίσματος είναι ανάλογο με το N , όπου N το πλήθος των υποτομέων.
Το επίπεδο του ραφιναρίσματος και οι χρόνοι αποσύνθεσης, για το Pipe και το Chesapeake
bay τείνουν να αντικατοπτρίζουν αυτήν την συμπεριφορά της τετραγωνικής ρίζας. Αυτό όμως
δεν ισχύει και για το Key, καθώς διαθέτει λίγα ευθύγραμμα τμήματα εισόδου. Κατά συνέπεια
απαιτείται πιο έντονο ραφινάρισμα προκειμένου να λάβουμε καλές αποσυνθέσεις.
85
Κεφάλαιο 7
Παράλληλη Παραγωγή
Περιορισμένου Delaunay Πλέγματος
στο R2
7.1 Εισαγωγή
Η παράλληλη παραγωγή Delaunay πλεγμάτων είναι ένα πρόβλημα το οποίο εξετάζεται εδώ
και αρκετά χρόνια. Έχουν όμως αναπτυχθεί αλγόριθμοι που το επιλύουν με ποικίλους τρό-
πους, οι οποίοι έχουν αναφερθεί στο κεφάλαιο 5. Η PCDM είναι μία μέθοδος παραγωγής
Delaunay πλέγματος εγγυημένης ποιότητας, η οποία επιτρέπει την ικανοποίηση περιορισμών.
Οι περιορισμοί αυτοί ορίζονται από τον χρήστη της PCDΜ, και σχετίζονται με το μέγεθος
και το σχήμα των των παραγόμενων τριγώνων.
Η μέθοδος που θα παρουσιάσουμε κατακερματίζει το αρχικό πρόβλημα παραγωγής πλέγ-
ματος σε N υποπροβλήματα τα οποία τρέχουν παράλληλα. Η PCDM είναι μέθοδος μερικής
σύζευξης, δηλαδή ασύγχρονη με μικρά μηνύματα, και παρουσιάζει χαμηλό κόστος επικοι-
νωνίας. Τα εμπειρικά δεδομένα δείχνουν ότι η μέθοδος PODM [48], που αναφέραμε στο κε-
φάλαιο 5, επιτυγχάνει speedup, δηλαδή επιτάχυνση της παραλληλοποίησης της διαδικασίας,
της τάξεως του O(log P ), όπου P είναι το πλήθος των επεξεργαστών. Ωστόσο, η PCDM
καταφέρνει speedup της τάξεως του O(P ).
Προκειμένου να εξαλειφθεί η επικοινωνία και ο συγχρονισμός, δημιουργήθηκε η μέθοδος
P D3 [42], που αναφέραμε στο κεφάλαιο 5, η οποία αποτελείται από μέρη-βήματα: την μέ-
θοδο MADD και την διακριτοποίηση της περιφέρειας. Κατά τη διάρκεια του βήματος της
διακριτοποίησης της περιφέρειας, προστίθενται Steiner σημεία στη περιφέρεια με στόχο την
ικανοποίηση της συνθήκης τερματισμού του Ruppert [54].
Η PCDM ραφινάρει τις περιφέρειες ταυτόχρονα με τα εσωτερικά των υποτομέων, έχοντας
ως κόστος μία ανεκτή ασύγχρονη επικοινωνία μεταξύ των υποτομέων. Προκειμένου να δη-
μιουργήσει του υποτομείς χρησιμοποιεί την μέθοδο MADD [41]. Στόχος της PCDM είναι να
μειώσει στο ελάχιστο δυνατό το κόστος της επικοινωνίας και το μέγεθος του πλέγματος. Η
μείωση του κόστους επικοινωνίας πραγματοποιείται χάρη στην αποστολή μηνυμάτων μόνο
μεταξύ το κόμβων που ραφινάρουν γειτονικούς υποτομείς.
86 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2
Όπως αναφέρθηκε και στο κεφάλαιο 5, η PCDM είναι μία μέθοδος η οποία έχει προϊστορία.
Αρχικά, ο Chew [13] παρουσίασε έναν βέλτιστο αλγόριθμο, πολυπλοκότητας O(n log n),
ο οποίος ακολουθεί την τακτική ”διαίρει και βασίλευε”, και κατασκευάζει περιορισμένες
Delaunay Τριγωνοποιήσεις ενός ΕΓΕΓ, όπως αυτές παρουσιάστηκαν στο κεφάλαιο 2 και 3.
Αργότερα ο Chew, ο Χρυσοχοΐδης και ο Sukup [15] χρησιμοποίησαν την ιδέα της περιορισμέ-
νης Delaunay τριγωνοποίησης για να υλοποιήσουν έναν αλγόριθμο παράλληλης παραγωγής
Delaunay περιορισμένου πλέγματος. Η σχεδίαση της τελευταίας έκδοσης του PCDM παρου-
σιάστηκε από τον Chernikov, τον Χρυσοχοΐδη και τον Chew [12], και εν τέλει μετουσιώθηκε
στην τρέχουσα έκδοση.
Η έκδοση αυτή εμπεριέχει βελτιώσεις, όπως η εξάλειψη του συγχρονισμού ολόκληρου του
τομέα, η συγκέντρωση μηνυμάτων, ο αλγόριθμος εντοπισμός τερματισμού, όπως περιγρά-
φεται από τον Dijkstra [23] και η αποτελεσματική αναπαράσταση των σημείων διάσπασης
Η νέα αυτή υλοποίηση χρησιμοποιεί ένα σύνολο διαθέσιμων λογιμσικών, όπως την MADD
[41], το σειριακό παραγωγό Πλέγματος Detri2 [64], τον διαμεριστή γράφων Metis [35], και
τα Robust Predicates [60] που είναι οι γεωμετρικοί έλεγχοι εγγυημένης ποιότητας, όπως αυτοί
που αναφέραμε στο κεφάλαιο 3.
Θα ορίσουμε, ως pi ένα σημείο, ως e(pi pj ) μία ακμή με άκρα τα pi και pj , και ως △(pi pj pk )
ένα τρίγωνο με κορυφές pi , pj και pk . Όταν οι κορυφές ενός τριγώνου είναι άσχετες μεταξύ
τους τότε θα ορίσουμε το τρίγωνο ως t.
Έστω V είναι ένα σύνολο κορυφών του τομέα Ω ⊂ R2 , και T είναι ένα σύνολο τριγώνων
των οποίων οι κορυφές ανήκουν στο V. Τότε λέμε ότι το τριγωνοποιημένο πλέγμα M είναι
Delaunay αν ο ανοιχτός κυκλικός δίσκος κάθε τριγώνου δεν περιέχει καμία κορυφή του V.
Οι Delaunay τριγωνοποιήσεις έχουν εξεταστεί ενδελεχώς, εξαιτίας της ικανότητας τους να
μεγιστοποιούν την ελάχιστη γωνία, και να αναλύονται αυστηρώς μαθηματικά.
Γενικά μία διαδικασία παραγωγής Delaunay πλέγματος, πρώτα κατασκευάζει μία αρχική
Delaunay τριγωνοποίηση ενός ΕΓΕΓ που επιτρέπεται να έχει οπές-τρύπες, και έπειτα ραφινά-
ρει το πλέγμα προσθέτοντας νέα σημεία, έως ότου να επιτευχθούν οι περιορισμοί ποιότητας
που έχει θέσει ο χρήστης. Κάθε ευθύγραμμο τμήμα του ΕΓΕΓ θεωρείται περιορισμένο και
πρέπει να εμφανιστεί στο παραγόμενο πλέγμα, είτε αυτούσιο, είτε ως ένα σύνολο μικρότερων
ευθυγράμμων τμημάτων.
Οι εφαρμογές που χρησιμοποιούν Delaunay πλέγματα συχνά επιβάλουν δύο περιορισμούς
στην ποιότητα των στοιχείων του πλέγματος. Ο πρώτος είναι ένα άνω όριο ρ στον λόγο της
περιφέρειας προς την μικρότερη ακμή, ο οποίος είναι ισοδύναμος με το κάτω όριο της μι-
κρότερης γωνίας [62]. Ο δεύτερος είναι ένα άνω όριο ∆ στο εμβαδόν των στοιχείων.
Σκοπός της PCDM είναι η παραλληλοποίηση του βήματος του Delaunay ραφιναρίσματος. Η
γενική ιδέα του Delaunay ραφιναρίσματος είναι η προσθήκη σημείων που αντιστοιχούν στα
περίκεντρα των τριγώνων, που παραβιάζουν τα όρια που θέσαμε, έως ότου να μην υπάρχουν
πλέον άλλα τέτοια τρίγωνα. Θα χρησιμοποιήσουμε αρκετά το ορισμό της κοιλότητας, που
είναι το σύνολο των τριγώνων σε ένα πλέγμα των οποίων οι ανοιχτοί κυκλικοί δίσκοι εμπε-
ριέχουν ένα σημείο pi . Η κοιλότητα του σημείου pi ορίζεται ως C(pi ), και το σύνολο των
ακμών που ανήκουν σε μόνο ένα τρίγωνο στην C(pi ), δηλαδή οι εξωτερικές ακμές, ορίζεται
ως ∂C(pi ).
7.3. Ο παράλληλος αλγόριθμος 87
Η PCDΜ για την εισαγωγή ενός σημείου χρησιμοποιεί τον αλγόριθμο Bowyer-Watson [8][70]
που είδαμε στο κεφάλαιο 3 και 5 αντίστοιχα, ο οποίος ορίζεται με τη σημειολογία που δώσαμε
ως εξής:
V ′ ← V ∪ {pi }
T ′ ← T \ C(pi ) ∪ {△(pi pj pk )|e(pj pk ) ∈ ∂C(pi )}
O Chew [15] όρισε μία λίστα τριών απαιτήσεων για την παραγωγή των τεχνητών περιφερειών
μεταξύ των διαχωριστών, την οποία θα επεκτείνουμε με δύο ακόμη:
i Ο φόρτος εργασίας που ανατίθεται σε κάθε διεργασία πρέπει να είναι περίπου ίσος.
ii Δεν πρέπει να υπάρχουν μικρά κενά μεταξύ των τεχνητών περιφερειών, τα οποία μπορεί
να οδηγήσουν σε άσκοπα μικρά τρίγωνα.
iii Οι τεχνητές περιφέρειες δεν πρέπει να δημιουργούν μικρές γωνίες, οι οποίες αναπόφευ-
κτα θα συμπεριληφθούν στο τελικό πλέγμα, και θα προκαλέσουν την δημιουργία μικρών
και κακοσχηματισμένων τριγώνων.
iv Το συνολικό μήκος των περιφερειών που μοιράζεται από δύο επεξεργαστές θα πρέπει να
είναι όσο μικρό γίνεται, ώστε να μειωθεί η επικοινωνία μεταξύ των υποτομέων.
88 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2
v Το πλήθος των υποτομέων (N) πρέπει να είναι πολύ μεγαλύτερο από τον αριθμό των διερ-
γασιών (P) ώστε να παρέχουμε την απαραίτητη ευελιξία σε βιβλιοθήκες εξισορρόπησης
φόρτου, π.χ. η LBL [3]. Όταν N ≫ P , λέμε πως ο τομέας έχει υποστεί υπεραποσύνθεση.
Σχήμα 7.1: Αν κάθε πλέγμα σε κάθε υποτομέα είναι Delaunay, τότε το συ-
νολικό πλέγμα θα είναι Περιορισμένο Delaunay.
DelaunayΡαφινάρισμα (X,M , ∆, ρ, κ)
1: Q ← {t ∈ M | (ρ(t) ≥ ρ) ∨ (∆(t) ≥ ∆)}
2: while Q ̸= ∅ do
3: Έστω t ∈ Q
4: ΕξάλειψηΚακούΤριγώνου(X, M, t, κ)
5: Ενημέρωση Q
6: end while
ΕξάλειψηΚακούΤριγώνου (X, M, t, κ)
1: pi ← Περίκεντρο(t)
2: if το pi παραβιάζει κάποιο ευθύγραμμο τμήμα s ∈ X then
3: pi ← Μέσο(s)
4: ΑπομακρυσμένοΜήνυμαΓιαSPLIT(κ(Γείτονάς(s)), pi )
5: end if
6: C(pi ) ← {t ∈ M | pi ∈ ⃝(t)} ▷ το ⃝(t) συμβολίζει τον περιγεγραμμένο κύκλο του t
7: M ← M \ C(pi ) ∪ {△(pi pj pk )|e(pj pk ) ∈ ∂C(pi )}
7.3. Ο παράλληλος αλγόριθμος 89
Ο σκοπός της απαίτησης (iv) είναι η ελαχιστοποίηση της επικοινωνίας του παράλληλου πα-
ραγωγού πλέγματος, δηλαδή η ελαχιστοποίηση των μηνυμάτων SPLIT, η οποία υποδηλώνει
την ελαχιστοποίηση της πιθανότητας παραβίασης κάποιων ευθυγράμμων τμημάτων, η οποία
με τη σειρά της υποδηλώνει την ελαχιστοποίηση (ή και την εξάλειψη) της πιθανότητας της
ανάγκης εισαγωγής σημείων στην περιφέρεια του κάθε υποτομέα.
Όλες οι προαναφερθείσες απαιτήσεις μπορούν να ικανοποιηθούν με τη χρήση του αλγορίθ-
μου MADD, η οποία επακολουθείται από την χαρτογράφηση, που αναθέτει υποτομείς σε
διεργασίες. Αυτό επιτυγχάνεται με τη χρήση μίας βιβλιοθήκης διαμέρισης γράφου.
Αρχικά, χρησιμοποιούμε την MADD για να υπεραποσυνθέσουμε τον αρχικό τομέα Ω σε N
υποτομείς. Στην πράξη, αρκεί η ικανοποίηση της συνθήκης N ≥ 20P . Στη συνέχεια, λύνουμε
το πρόβλημα διαμερισμού γράφου, ώστε να διανέμουμε τους υποτομείς στις διεργασίες, με
στόχο το άθροισμα των βαρών-εμβαδών των υποτομέων που ανατίθεται σε κάθε διεργασία
να είναι προσεγγιστικά ίσο, και το συνολικό μήκος της περιφέρειας που μοιράζεται μεταξύ
των διεργασιών να ελαχιστοποιείται. Κατασκευάζουμε ένα ζυγισμένο γράφο G = (V, E)
τέτοιον ώστε:
• κάθε υποτομέας Ωi (i = 1, ..., N αναπαριστάται ώς μία κορυφή vi ∈ V και το βάρος
της vi τίθεται ίσο με το εμβαδόν του Ωi
• κάθε τμηματικά γραμμική περιφερειακή γραμμή, η οποία μοιράζεται από δύο υποτο-
μείς Ωi και Ωj , αναπαριστάται από μία ακμή eij και το βάρος της ακμής αυτής είναι
ίσο με το μήκος της γραμμής.
Μετέπειτα, ο γράφος G διαμερίζεται σειριακά σε P μέρη χρησιμοποιώντας τον διαμεριστή
γράφων Metis [35], και οι υποτομείς διανέμονται μεταξύ των αντίστοιχων. Επειδή το πλή-
θος των κορυφών του γράφου δεν είναι πολύ μεγάλο, δεν χρειαζόμαστε παράλληλο δια-
μεριστή γράφων. Η αποσύνθεση της MADD και η διαμέριση του Metis απεικονίζεται στο
Σχήμα 7.2
Η συμμόρφωση του πλέγματος κατά μήκος των περιφερειών των γειτονικών υποτομέων εξα-
σφαλίζεται με την αποστολή μηνυμάτων SPLIT κάθε φορά που παραβιάζεται μία ακμή της
περιφέρειας, καθώς αυτη χωρίζεται στη μέση, όπως απεικονίζεται στο Σχήμα 7.3 και στο
Σχήμα 7.4.
Όταν ένας υποτομέας λαμβάνει ένα μήνυμα SPLIT από έναν γείτονα, είναι απαραίτητο να
προσδιοριστεί η ακμή που πρέπει να διαχωριστεί και το τρίγωνο στο οποίο υπάρχει αυτή
η ακμή στην τοπική δομή δεδομένων. Αυτή η διαδικασία είναι περίπλοκη, γιατί τα SPLIT
μηνύματα ενδέχεται να φτάσουν σε μη προκαθορισμένη σειρά, εξαιτίας της μεταφοράς του
υποτομέα από μια βιβλιοθήκη εξισορρόπησης φορτίου (π.χ.LBL [3]) ή / και από ένα υποκεί-
μενο υποστρώματος επικοινωνίας (π.χ. CLAM [26]).
Για παράδειγμα, θεωρήστε μια αρχική περιορισμένη ακμή e(p0 p1 ), η οποία μοιράζεται από
δύο υποτομείς Α και Β. Στη αρχή, όλα τα σημεία στις περιφέρειες των τομέων έχουν ένα
μοναδικό index, τέτοιο ώστε να μην υπάρχει καμία ασάφεια, όποτε το ραφινάρισμα του Α ή
το ραφινάρισμα του Β προκαλεί τον διαχωρισμό της e(p0 p1 ) από ένα νέο σημείο p2 . Αυτό
επιτυγχάνεται στέλνοντας τα index των p0 , p1 και p2 . Μπορούμε να δηλώσουμε ένα τέτοιο
μήνυμα ως SPLIT(p0 , p1 , p2 ). Ωστόσο, μπορεί να προκύψουν επιπλοκές εάν το ραφινάρισμα
του Α οδηγήσει στην εισαγωγή του σημείου p2 στη μέση του e(p0 p1 ), και στη συνέχεια
στην εισαγωγή του σημείου p3 στη μέση του e(p 0p2 ). Φυσικά, το πρώτο SPLIT(p0 , p1 , p2 ),
και το δεύτερο SPLIT(p0 , p2 , p3 ) αποστέλλονται από τον Α στον Β. Εάν το δεύτερο μήνυμα
παραληφθεί από το Β πριν από το πρώτο, τότε το Β δεν θα έχει την ακμή e(p0 p2 ) στην
τοπική δομή δεδομένων του, και δεν θα είναι σε θέση να εξυπηρετήσει σωστά το αίτημα
SPLIT.
Το σχετικό ζήτημα είναι η επεξεργασία των εισερχόμενων αιτήσεων SPLIT σε σχέση με τα
σημεία που έχουν ήδη εισαχθεί τοπικά ανεξάρτητα. Είναι απαραίτητο να αναγνωρίσουμε
έγκυρα τα διπλά σημεία (αυτά που εμφανίζεται παραπάνω από μία φορές). Για τους σκοπούς
της σύγκρισης σημείων, η χρήση των float μεταβλητών για τις συντεταγμένες, μπορεί να οδη-
γήσει σε σφάλματα. Ως εκ τούτου, είναι επιθυμητό να αναπτυχθεί ένα πλαίσιο αναγνώρισης
σημείου που να πληροί τις ακόλουθες προϋποθέσεις:
i Η θέση του σημείου σε σχέση με μια κοινή περιορισμένη ακμή μπορεί αναμφίβολα να
βρεθεί χωρίς τη γνώση των άλλων σημείων που χωρίζουν αυτήν την ακμή.
ii Η χρήση μεταβλητών float πρέπει να παραληφθεί
iii Το μέγεθος των μηνυμάτων και το μέγεθος των σχετικών υπολογισμών πρέπει να ελαχι-
στοποιηθεί.
Το πλαίσιο που υιοθετήθηκε είναι το ακόλουθο. Η θέση (x, y) κάθε σημείο διαχωρισμού
υπολογίζεται σε σχέση με την αντίστοιχη ακμή e(p0 p1 ) ως:
n
(x, y) = (x0 , y0 ) + ((x1 , y1 ) − (x0 , y0 )),
2m
όπου n και m είναι ακέραιοι αριθμοί. Αυτό το πλαίσιο επιτρέπει την αναπαράσταση κάθε ση-
μείου διαχωρισμού μόνο από δύο ακέραιους (n, m) και τα μηνύματα SPLIT μπορούν πλέον
να αναπαρασταθούν ως SPLIT(p0 , p1 , n, m). Χάρη σε αυτό το πλαίσιο, αποφεύγεται η χρήση
μη ηψηλής ακρίβειας μεταβλητών float για την διατήρηση της σειράς των σημείων στις περι-
φερειακές ακμές. Επιπροσθέτως, μας επιτρέπει να καθορίσουμε τη σειρά των διαχωρισμών
των ακμών που εκτελούνται στον γειτονικό υποτομέα, ο οποίος έχει οδηγήσει στην εισαγωγή
ενός συγκεκριμένου σημείου, στην περίπτωση άφιξης μηνύματος σε λάθος σειρά, και στην
αναπαραγωγή αυτής της σειράς. Η λύση της υλοποίησης που επιλέχθηκε είναι η κωδικοποί-
ηση μιας συγκεκριμένης λύσης για αυτήν την εφαρμογή.
Ο τερματισμός του αλγορίθμου ανιχνεύεται από ένα πλαίσιο κυκλικής μετάδοσης συμβόλων
που περιγράφεται από τον Dijkstra [23]:
92 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2
i Κάθε μία από τις P μηχανές (διεργασίες) μπορεί να είναι, είτε ενεργή (να ραφινάρει έναν
υποτομέα) ή αδρανής (όλοι οι υποτομείς έχουν ραφιναριστεί).
ii Μόνο ενεργείς μηχανές στέλνουν (SPLIT) μηνύματα σε άλλες μηχανές.
iii Η μετάδοση μηνυμάτων διαρκεί ένα πεπερασμένο χρονικό διάστημα.
iv Όταν ένα μηχάνημα λαμβάνει ένα μήνυμα, γίνεται ενεργό.
v Μόνο η παραλαβή ενός μηνύματος SPLIT μπορεί να μεταβάλει την κατάσταση μίας μη-
χανής από αδρανή σε ενεργή, με την εξαίρεση της αρχής του αλγορίθμου.
vi Η μεταβολή της κατάστασης μιας μηχανής από ενεργή σε αδρανή μπορεί να συμβεί χωρίς
την παραλαβή κάποιου μηνύματος, δηλαδή όταν τελειώσει το ραφινάρισμα.
7.4 Υλοποίηση
Η γλώσσα προγραμματισμού που χρησιμοποιήθηκε για αυτήν την υλοποίηση είναι η C++,
και ολόκληρη η βιβλιοθήκη που υλοποιεί την μέθοδο PCDM εμπεριέχεται στην κλάση Pcdm.
Το λογισμικό σειριακής παραγωγής πλέγματος Triangle [63], που χρησιμοποιούσε η αρχική
υλοποίηση [13], αντικαταστάθηκε από το πιο καινούριο λογισμικό Detri2 [64] και χρησιμο-
ποιείται για να παραχθούν οι αρχικές τριγωνοποιήσεις κάθε υποτομέα οι οποίες αξιοποιού-
νται από την PCDM. Το βήμα αυτό δεν απαιτεί επικοινωνία μεταξύ των διεργασιών. Επιπρο-
σθέτως, ο διαμεριστής της βιβλιοθήκης Metis [35] που χρησιμοποιήθηκε για τον διαμερισμό
του γράφου, αναβαθμίστηκε στην τελευταία του έκδοση, πραγματοποιώντας τις απαραίτη-
τες τροποποιήσεις που απαιτούσε η αναβάθμιση αυτή. Ακόμη, χρησιμοποιήθηκε το Message
Passing Interface (MPI) το οποίο καθιστά εφικτή την επικοινωνία μεταξύ των διεργασιών.
Επίσης, χρησιμοποιήθηκαν τα Robust Predicates [60] που είναι οι γεωμετρικοί έλεγχοι εγγυ-
ημένης ποιότητας. Τέλος, ο κώδικας της αρχικής υλοποίησης αναδιαμορφώθηκε έχοντας ως
στόχο την βελτίωση της αναγνωσιμότητας του κώδικα, και την τήρηση σύγχρονων πρακτι-
κών της γλώσσας προγραμματισμού C++.
Το πρόγραμμα PcdmInterface, όπως υποδηλώνει και το όνομά του, αποτελεί μια διεπαφή
για την χρήση της βιβλιοθήκης MADD, η οποία δέχεται ένα σύνολο παραμέτρων. Τα αρχεία
εισόδου του PcdmInterface, τα οποία είναι τύπου .dat και cdt, είναι η αποσύνθεση του τομέα
σε N υποτομείς, που παράγει η MADD, και οι αρχικές τριγωνοποιήσεις των υποτομέων, που
παράγει το Detri2, αντιστοίχως. Ενώ τα αρχεία εξόδου, τα οποία είναι τύπου .node, .poly και
.ele [63], είναι οι κορυφές, η περιφέρεια του υποτομέα (ευθύγραμμα τμήματα του οποίου
μπορεί να έχουν διαχωριστεί σε ένα σύνολο μικρότερων τμημάτων)και τα τρίγωνα του κάθε
υποτομέα, τα οποία παράγει η PCDM όταν ολοκληρωθεί. Το σύνολο των παραμέτρων που
απαιτεί η PCDM για να εκτελεστεί παρουσιάζεται στο Σχήμα 7.5.
Μία από τις πιο αξιοσημείωτες βελτιώσεις στην απόδοση του κώδικα επιτεύχθηκε συγκε-
ντρώνοντας τα SPLIT μηνύματα, τα οποία αποστέλλονται μεταξύ γειτονικών υποτομέων ως
αποτέλεσμα της εισαγωγής σημείων στα κοινά σύνορα. Ο χρόνος αποστολής ενός μηνύματος
είναι [37]:
Μέγεθος μηνύματος
Χρόνος επικοινωνίας = Χρόνος εκκίνησης +
Εύρος ζώνης δικτύου
Για τα πειράματά μας χρησιμοποιούμε τα τρία γεωμετρικά μοντέλα τομέα Chesapeake bay,
Key και Pipe, τα οποία χρησιμοποιήσαμε και στο προηγούμενα κεφάλαιο, και τα αποσυν-
θέτουμε σε 1024 υποτομείς. Τα πειράματά μας εκτελέστηκαν σε έναν υπολογιστή με επε-
ξεργαστή AMD Ryzen 5 1600 3.2GHz, οποίος έχει 6 πυρήνες, και με μνήμη RAM = 8 GB.
Επιπλέον, χρησιμοποιήθηκαν οι προκαθορισμένοι παράμετροι της PCDM, οι οποίοι γίνονται
αντιληπτοί στο Σχήμα 7.5. Θα εκτελέσουμε την PCDM χρησιμοποιώντας 1 έως 6 πυρήνες του
επεξεργαστή και θα υπολογίσουμε την κλιμακωτή επιτάχυνση με τη χρήση του τύπου:
P × Ts (W )
Κλιμακωτή επιτάχυνση = ,
TM ADD + TCDT + TP (W × P )
όπου Ts είναι ο χρόνος που απαιτείται από τον σειριακό παραγωγό πλέγματος Detri2 [64],
TM ADD είναι ο χρόνος της αποσύνθεσης τομέα, TCDT είναι ο χρόνος κατασκευής των αρ-
χικών τριγωνοποιήσεων κάθε υποτομέα, TP είναι ο χρόνος που χρειάζεται ο PCDM για P
επεξεργαστές, και W είναι ο σταθερός όγκος έργου. Επειδή ο χρόνος παραγωγής πλέγματος
είναι γραμμικός ως προς το πλήθος τριγώνων, για ευκολία, θεωρούμε πως W είναι ο όγκος
της δουλειάς που απαιτείται για να παραχθούν 10 εκατομμύρια τρίγωνα. Τότε το W × P
αναπαριστά τον όγκο δουλειάς που χρειάζεται για να παραχθούν 10 × P εκατομμύρια τρί-
γωνα. Το πλήθος τον παραγόμενων στοιχείων είναι προσεγγιστικά αντιστρόφως ανάλογο του
εμβαδού των στοιχείων (∆), και μπορεί να ελεγχθεί επιλέγοντας το ∆ κατάλληλα.
Όπως φαίνεται από το Σχήμα 7.7, η PCDM κλιμακώνεται γραμμικά και το κέρδος της πα-
ραλληλοποίησης είναι κοντά στο 0.6, το οποίο επιβεβαιώνει τα αποτελέσματα της αρχικής
υλοποίησης [13].
95
Κεφάλαιο 8
8.1 Συμπεράσματα
Αρχικά, σε αυτήν την πτυχιακή εργασίας ήρθαμε σε επαφή με την επιστημονική περιοχή των
Delaunay Τριγωνοποιήσεων στις δύο διαστάσεις, οι οποίες είναι ένα καλός τρόπος διακριτο-
ποίησης ενός τομέα σε μικρότερα στοιχεία-τρίγωνα των οποίων η μικρότερη γωνία μεγιστο-
ποιείται.
Στη συνέχεια, είδαμε κάποιους γεωμετρικούς ελέγχους που απαιτούνται για την κατασκευή
Delaunay τριγωνοποιήσεων, αλλά και αλγορίθμους κατασκευής Delaunay τριγωνοποιήσεων
οι οποίοι εμπεριέχουν βήματα προσθήκης σημείων ή/και ευθυγράμμων τμημάτων σε αυ-
τές.
Ακολούθως, εισάγαμε το πρόβλημα της παραγωγής πλέγματος εγγυημένης ποιότητας με τη
χρήση της τεχνικής ”Delaunay Ραφινάρισμα”, αποδείξαμε ότι αυτή τη τεχνική τερματίζει,
αναλύσαμε ενδελεχώς το πως δομείται ο αλγόριθμος που τη υλοποιεί, και επίσης παρουσιά-
σαμε δύο λογισμικά σειριακής παραγωγής Delaunay πλέγματος.
Μετέπειτα, πραγματοποιήσαμε μια επισκόπηση των σύγχρονων μεθόδων παράλληλης παρα-
γωγής Delaunay πλέγματος, όπου συνδυάζουν τις Delaunay τριγωνοποιήσεις με τον τομέα
των Παράλληλων υπολογισμών, και τις κατηγοριοποιήσαμε με βάση την σύζευξη τους, τη
χρησιμοποίηση λογισμικών σειριακής παραγωγής Delaunay πλέγματος, όπως επίσης και την
ένταση της επικοινωνίας που απαιτούν.
Τέλος, παρουσιάσαμε την μέθοδο στατικής γεωμετρικής αποσύνθεσης τομέα μεσαίου άξονα
στο R2 (MADD), η οποία αποσυνθέτει έναν τομέα σε Ν περίπου ισοεμβαδικούς υποτο-
μείς, και την μέθοδο παράλληλης παραγωγής περιορισμένου Delaunay πλέγματος στο R2
(PCDM), η οποία χρησιμοποιεί την MADD και τον διαμεριστή Metis για να παράγει ένα
περιορισμένο Delaunay πλέγμα.
Ένας ενδιαφέρον τρόπος μέσω του οποίου θα μπορούσαμε να βελτιώσουμε την PCDΜ, είναι
η προσθήκη της ικανότητας της προσαρμοστικότητας στην παραγωγή πλέγματος, χάρη στην
οποία η PCDM θα μπορεί να προσαρμόζεται στην γεωμετρία του πλέγματος. Ο τρόπος με
τον οποίο θα μπορούσε να επιτευχθεί αυτό με την ένωση της PCDM και του Detri2, το οποίο
έχει τις υποδομές για να υποστηρίξει αυτήν την ιδιότητα.
97
Βιβλιογραφία - Αναφορές
[20] Ed F. D’Azevedo and R. Bruce Simpson. “On Optimal Interpolation Triangle Incidences”.
In: SIAM Journal on Scientific and Statistical Computing (1989).
[21] Ed F. D’Azevedo and R. Bruce Simpson. “On Optimal Interpolation Triangle Incidences”.
In: SIAM Journal on Scientific and Statistical Computing 10 (1989), pp. 1063–1075.
[22] Boris Nikolaevich Delaunay. “Sur la Sphere Vide”. In: Izvestia Akademia Nauk SSSR,
VII Seria, Otdelenie Matematicheskii i Estestvennyka Nauk (1934).
[23] E. W. Dijkstra. “Shmuel Safra’s version of termination detection”. In: Circulated privately
(1987). url: http://www.cs.utexas.edu/users/EWD/ewd09xx/EWD998.PDF.
[24] Rex A. Dwyer. “Higher-Dimensional Voronoi Diagrams in Linear Expected Time”. In:
Discrete & Computational Geometry 6(4) (1991), pp. 343–367.
[25] Herbert Edelsbrunner and Tiow Seng Tan. “An Upper Bound for Conforming Delaunay
Triangulations”. In: Discrete & Computational Geometry 10(2) (1993), pp. 197–213.
[26] Andrey Federov and Nikos Chrisochoides. “Communication support for dynamic load
balancing of irregular adaptive applications”. In: Proceedings of the International Conference
on Parallel Processing Workshops. Montreal, Quebec, Canada (2004), pp. 555–562.
[27] Steven Fortune. “A Sweepline Algorithm for Voronoi Diagrams”. In: Algorithmica
2(2) (1987), pp. 153–174.
[28] Steven Fortune. “Voronoi Diagrams and Delaunay Triangulations”. In: Computing in
Euclidean Geometry (1997), pp. 225–265.
[29] C. O. Frederick, Y. C. Wong, and F. W. Edge. “Two-Dimensional Automatic Mesh
Generation for Structural Analysis”. In: International Journal for Numerical Methods
in Engineering (1970), pp. 133–144.
[30] P. L. George and Borouchaki. “Delaunay Triangulation and meshing”. In: Applications
to Finite Element, Hermis (1998).
[31] B. Hendrickson and R. Leland. “The Chaco user’s guide, version 2.0”. In: Technical
Report SAND94-2692, Sandia National Laboratories (1994).
[32] Franc¸ois Hermeline. “Triangulation Automatique d’un Polyedre en Dimension N”.
In: RAIRO Analyse Numerique 16(3) (1981), pp. 211–242.
[33] Francois Hermeline. “Une Methode Automatique de Maillage en Dimension n”. In:
Universite Pierre et Marie Curie (1980).
[34] Ross Honsberger. Episodes in Nineteenth and Twentieth Century Euclidean Geometry.
The Mathematical Association of America, New Methematical Library, 1995.
[35] G. Karypis and V. Kumar. “MeTiS: A Software Package for Partitioning Unstructured
Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices.
Version 4.0.” In: University of Minnesota. (1998).
[36] Ravi Konuru et al. “A user level process package for pvm”. In: IEEE: In Proceeding
of Scalable High-Performance Computing Conference (1997), pp. 48–55.
[37] V. Kumar et al. Introduction to Parallel Computing: Design and Analysis of Parallel
Algorithms. Parallel Computing, 1994.
[38] Charles L. Lawson. “Software for C 1 Surface Interpolation”. In: Mathematical Software
III, Academic Press, New York (1977), pp. 161–194.
[39] D. T. Lee and Arthur K. Lin. “Generalized Delaunay Triangulations for Planar Graphs”.
In: Discrete & Computational Geometry (1986), pp. 201–217.
[40] D. T. Lee and B. J. Schachter. “Two Algorithms for Constructing a Delaunay Triangulation”.
In: International Journal of Computer and Information Sciences 9(3) (1980), pp. 216–
242.
[41] Leonidas Linardakis and Nikos Chrisochoides. “A Static Geometric Medial Axis Domain
Decomposition in 2D Euclidean space”. In: ACM Transactions on Mathematical Software
(2006).
ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ 99
[42] Leonidas Linardakis and Nikos Chrisochoides. “Delaunay Decoupling Method for parallel
guaranteed quality planar mesh refinement”. In: SIAM Journal on Scientific Computing
27(4) (2006), pp. 1394–1423.
[43] Leonidas Linardakis and Nikos Chrisochoides. “Parallel Delaunay domain decoupling
method for non-uniform mesh generation”. In: SIAM journal of Scientific Computing
(2004).
[44] Leonidas Linardakis and Nikos Chrisochoides. “Parallel domain decoupling Delaunay
method”. In: SIAM Journal on Scientific Computing (2004).
[45] Reinald Lohner and Juan R. Cebral. “Parallel advancing front grid generation”. In:
Proceedings of the Eighth International Meshing Rounadtable (1999), pp. 67–74.
[46] Paul E Plassmann Marshall Wayne Bern. “Mesh Generation”. In: Pennsylvania State
University, Department of Computer Science and Engineering, College of Engineering
(1997).
[47] Gary L. Miller et al. “A Delaunay Based Numerical Method for Three Dimensions:
Generation, Formulation, and Partition”. In: Proceedings of the Twenty-Seventh Annual
ACM Symposium on the Theory of Computing (Las Vegas, Nevada) (1995), pp. 683–
692.
[48] Demian Nave, Nikos Chrisochoides, and L. Paul Chew. “Guaranteed quality parallel
Delaunay refinement for restricted polyhedral domains”. In: ACM Press: Proceedings
of the eighteenth annual symposium on Computational geometry (2002), pp. 135–144.
[49] Joseph Neuberg. Sur le point de Steiner. C. Delagrave, 1886.
[50] Van Phai Nguyen. “Automatic Mesh Generation with Tetrahedral Elements”. In: International
Journal for Numerical Methods in Engineering (1982), pp. 273–289.
[51] N. M. Patrikalakis and Gursoy H. N. “Shape interrogation by medial axis transform”.
In: Design Automation Conference (ASME) (1990), pp. 77–88.
[52] R. Perucchio and M. Saxena. “Parallel FEM algorithm based on recursive spatial decomposition”.
In: Computers and Structures 45(9-6) (1992), pp. 817–831.
[53] V. T. Rajan. “Optimality of the Delaunay Triangulation in Rd ”. In: Proceedings of
the Seventh Annual Symposium on Computational Geometry (North Conway, New
Hampshire) (1991), pp. 357–363.
[54] Jim Ruppert. “A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh
Generation”. In: Journal of Algorithms 18(3) (1995), pp. 548–585.
[55] R. Said et al. “Distributed parallel Delaunay mesh generation”. In: Computer Methods
in Applied Mechanics and Engineering 177 (1999), pp. 109–125.
[56] K. Schloegel, G. Karypis, and V. Kumar. “Parallel multilevel diffusion schemes for
repartitioning of adaptive meshes”. In: Technical Report 97-014, Univ. of Minnesota
(1997).
[57] Raimund Seidel. “Backwards Analysis of Randomized Geometric Algorithms”. In:
New Trends in Discrete & Computational Geometry (János Pach, editor), Algorithms
and Combinatorics 10 (1993), pp. 37–67.
[58] Raimund Seidel. “Constrained Delaunay Triangulations and Voronoi Diagrams with
Obstacles”. In: Institute for Information Processing, Graz University of Technology
(1988), pp. 178–191.
[59] Raimund Seidel. “Voronoi Diagrams in Higher Dimensions”. In: Diplomarbeit, Institut
fur Informationsverarbeitung, Technische Universitat Graz (1982).
[60] J. R. Shewchuk. “Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric
Predicates”. In: Discrete & Computational Geometry 18(3) (1997), pp. 305–363.
[61] J. R. Shewchuk. “Delaunay refinement algorithms for triangular mesh generation”. In:
Computational Geometry Theory and applications 22 (2002), pp. 21–74.
[62] J. R. Shewchuk. “Delaunay refinement mesh generation”. In: Ph.D. thesis, Carnegie
Mellon University (1997).
100 ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ