Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Πτυχιακή Εργασία

Παράλληλη Δισδιάστατη Μέθοδος


Παραγωγής Περιορισμένου Delaunay
Πλέγματος

Σπουδαστής: Επιβλέποντες Καθηγητές:


Σπυρίδων Τσαλίκης Δρ. Αθηνά Βακάλη (Α.Π.Θ.)
(Α.Ε.Μ. 2812) Δρ. Νίκος Χρυσοχοΐδης (O.D.U.)

Εκπόνηση Πτυχιακής Εργασίας στα πλαίσια του


Προπτυχιακού Τίτλου Σπουδών
στη

Σχολή Θετικών Επιστημών


Τμήμα Πληροφορικής

1 Ιουλίου 2019
iii

Δήλωση Συγγραφικής Ιδιότητας


Εγώ, ο Σπυρίδων Τσαλίκης, δηλώνω ότι αυτή η πτυχιακή εργασία με τίτλο, ”Παράλληλη
Δισδιάστατη Μέθοδος Παραγωγής Περιορισμένου Delaunay Πλέγματος”, και η δουλειά που
παρουσιάζεται σε αυτή είναι δική μου. Επιβεβαιώνω ότι:
• Αυτή η δουλειά πραγματοποιήθηκε ολοκληρωτικά ή κυρίως κατά την υποψηφιότητά
μου για τον τίτλο προπτυχιακών σπουδών σε αυτό το πανεπιστήμιο.
• Όπου οποιοδήποτε μέρος αυτής της πτυχιακής εργασίας έχει προηγουμένως κατατεθεί
για την απόκτηση πτυχίου ή άλλου τίτλου σε αυτό ή άλλο πανεπιστήμιο, αυτό διατυ-
πώνεται ξεκάθαρα.
• Όπου έχω συμβουλευτεί την δημοσιευμένη δουλειά τρίτων, αυτό αποδίδεται ορθώς.
• Όπου έχω παραθέσει από δουλειά τρίτων, η πηγή δίνεται πάντα. Με εξαίρεση αυτές
τις παραθέσεις, αυτή η πτυχιακή εργασία είναι εξ ολοκλήρου προσωπική μου δουλειά.
• Έχω παραθέσει όλες τις κύριες πηγές βοήθειας.
• Όπου αυτή η πτυχιακή εργασία είναι βασισμένη σε συνεργατική δουλειά δική μου και
τρίτων, έχω καταστήσει ξεκάθαρο ποια κομμάτια έχουν πραγματοποιηθεί από άλλους
και πως συνέβαλα εγώ.
Υπογραφή:

Ημερομηνία:
v

“Being perfect is the only mistake that you can never learn from.”

Σπυρίδων Τσαλίκης
vii

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Περίληψη
Σχολή Θετικών Επιστημών
Τμήμα Πληροφορικής

Προπτυχιακός Τίτλος Σπουδών

του Σπυρίδωνος Τσαλίκη

Στον επιστημονικό κλάδο της Παραγωγής Πλέγματος, το Delaunay Ραφινάρισμα (Refinement)


είναι μία ευρέως διαδεδομένη τεχνική για την παραγωγή εγγυημένης ποιότητας τριγωνικών
και τετραεδρικών πλεγμάτων. Σε αυτήν την πτυχιακή εργασία, αρχικά θα γίνει μια εκτενής
εισαγωγή στον κλάδο των τριγωνοποιήσεων και της Παραγωγής Πλέγματος στις δύο διαστά-
σεις, και στη συνέχεια, θα γίνει μια επισκόπηση ενός αλγορίθμου και του λογισμικού αυτού
για την Παράλληλη Δισδιάστατη Παραγωγή Περιορισμένου Delaunay Πλέγματος. Η προ-
σέγγιση αυτής της υλοποίησης βασίζεται στην αποσύνθεση του αρχικού προβλήματος παρα-
γωγής πλέγματος σε N μικρότερα ισοδύναμα υποπροβλήματα, τα οποία τρέχουν παράλληλα.
Η αποσύνθεση του αρχικού προβλήματος σε Ν μικρότερα υποπροβλήματα πραγματοποιείται
από μία Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα σε δισδιάστατο Ευκλεί-
δειο χώρο (MADD). Η παραλληλοποίηση του αλγορίθμου έχει επιτευχθεί χρησιμοποιώντας
το Message Passing Interface (MPI) το οποίο επιτρέπει την αποστολή μηνυμάτων μεταξύ
των επεξεργαστών. Ο αλγόριθμος είναι ασύγχρονος, με μικρού μεγέθους μηνύματα μεταξύ
των πυρήνων, τα οποία μπορούν να συγκεντρωθούν, και επιδεικνύει χαμηλό κόστος επικοι-
νωνίας.
ix

Ευχαριστίες
Η υλοποίηση και η συγγραφή αυτής της πτυχιακής εργασίας δεν ήταν εύκολο κατόρθωμα.
Στην προσπάθειά μου όμως αυτή στάθηκα ιδιαίτερα τυχερός έχοντας τους καλύτερους συνο-
δοιπόρους.
Ευχαριστώ θερμά τους επιβλέποντες καθηγητές μου, κυρία Αθηνά Βακάλη και κύριο Νίκο
Χρυσοχοΐδη για το χρόνο που μου διέθεσαν, και τους δρόμους που άνοιξαν στις σκέψεις
μου με τις χρήσιμες συμβουλές και υποδείξεις τους. Χάρη σε αυτούς βρήκα την κλίση μου
στον τομέα της Πληροφορικής και ανακάλυψα την πορεία που θα ήθελα να ακολουθήσω ως
επιστήμονας…
xi

Περιεχόμενα

Δήλωση Συγγραφικής Ιδιότητας iii

Περίληψη 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

2 Delaunay Τριγωνοποιήσεις στο R2 13


2.1 Τριγωνοποιήσεις ενός συνόλου σημείων στο επίπεδο . . . . . . . . . . . . . 14
2.2 Επίπεδοι Γράφοι και τύπος του Euler . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Delaunay Τριγωνοποίηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1 Voronoi diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.2 Η ιδιότητα του κενού περιγεγραμμένου κύκλου . . . . . . . . . . . . 19
2.4 Ο Παραβολικός Χάρτης Ανύψωσης . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Το Delaunay Λήμμα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Ο Αλγόριθμος Περιστροφής (Flip) . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Η Βελτιστότητα της Delaunay Τριγωνοποίησης . . . . . . . . . . . . . . . . 28
2.8 Η Μοναδικότητα της Delaunay Τριγωνοποίησης . . . . . . . . . . . . . . . 30
2.9 Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 . . . . . . . . . . . . . . 31
2.9.1 Τμηματικά γραμμικά Συμπλέγματα και οι τριγωνοποιήσεις τους . . . 32
2.9.2 Η περιορισμένη Delaunay Τριγωνοποίηση . . . . . . . . . . . . . . 35
2.9.3 Ιδιότητες της Περιορισμένης Delaunay Τριγωνοποίησης . . . . . . . 37

3 Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2 39


3.1 Έλεγχοι προσανατολισμού και ύπαρξης σημείου μέσα στον περιγεγραμμένο
κύκλο . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Έλεγχος προσανατολισμού (Orientation) . . . . . . . . . . . . . . . 39
3.1.2 Έλεγχος ύπαρξης σημείου μέσα στον περιγεγραμμένο κύκλο (Incircle) 40
3.2 Εισαγωγή μίας κορυφής σε μία Delaunay Τριγωνοποίηση . . . . . . . . . . . 40
3.3 Εισαγωγή μίας κορυφής στο εξωτερικό μιας Delaunay Τριγωνοποίησης . . . 43
3.4 Χρόνος εκτέλεσης εισαγωγής μιας κορυφής . . . . . . . . . . . . . . . . . . 45
3.5 Εισαγωγή μίας κορυφής σε μία Περιορισμένη Delaunay Τριγωνοποίηση . . . 47
3.6 Το βήμα Περιτυλίγματος Δώρου (Gift-Wrapping) . . . . . . . . . . . . . . . 47
3.7 Ο αλγόριθμος Περιτύλιξης Δώρου (Gift Wrapping Algorithm) . . . . . . . . 49
3.8 Εισαγωγή Ευθύγραμμου Τμήματος σε μία Περιορισμένη Delaunay Τριγωνο-
ποίηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
xii

3.9 Εντοπισμός Σημείου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2 55


4.1 Το πρόβλημα της Παραγωγής Πλέγματος . . . . . . . . . . . . . . . . . . . 55
4.1.1 Επίπεδος Γράφος Ευθειών Γραμμών (Planar Straight Line Graph) . . 55
4.1.2 Ορισμός του προβλήματος . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 Περιγραφή του Αλγορίθμου . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Απόδειξη Τερματισμού . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4 Μέγεθος Πλέγματος Εξόδου . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Λογισμικά Σειριακής Παραγωγής Πλέγματος στο R2 . . . . . . . . . . . . . 63

5 Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος στο R2 65


5.1 Εισαγωγή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Προσεγγίσεις Αποσύνθεσης Τομέα . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος . . . . . . . . . . . 67
5.3.1 Μέθοδοι Υψηλής Σύζευξης . . . . . . . . . . . . . . . . . . . . . . 68
5.3.2 Μέθοδοι Χωρίς Σύζευξη . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.3 Μέθοδοι Μερικής Σύζευξης . . . . . . . . . . . . . . . . . . . . . . 70

6 Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2 73


6.1 Εισαγωγή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2 Το πρόβλημα της Γεωμετρικής Αποσύνθεσης Τομέα . . . . . . . . . . . . . 74
6.3 Μέθοδος Αποσύνθεσης Τομέα Μεσαίου Άξονα (MADD) . . . . . . . . . . . 75
6.4 Ο αλγόριθμος MADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4.1 Κατασκευή του γράφου GD και Συστολή του στον G′ D . . . . . . . 77
6.4.2 Κατασκευή του Πλήρους Διαχωριστή . . . . . . . . . . . . . . . . . 78
6.5 N-Way Αποσύνθεση Τομέα . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6 Εξομάλυνση των διαχωριστών . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7 N-Way διαβαθμισμένη Αποσύνθεση Τομέα . . . . . . . . . . . . . . . . . . 80
6.8 Υλοποίηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.9 Πειραματικά Αποτελέσματα . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7 Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2 85


7.1 Εισαγωγή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 Περιορισμένη Delaunay Παραγωγή πλέγματος . . . . . . . . . . . . . . . . 86
7.3 Ο παράλληλος αλγόριθμος . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3.1 Η Αποσύνθεση Τομέα . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3.2 Η συμμόρφωση του πλέγματος και η αποστολή μηνυμάτων . . . . . 90
7.4 Υλοποίηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4.1 Συγκέντρωση μηνυμάτων . . . . . . . . . . . . . . . . . . . . . . . 93
7.5 Πειραματικά Αποτελέσματα . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8 Συμπεράσματα και Μελλοντική Έρευνα 95


8.1 Συμπεράσματα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.2 Μελλοντική Έρευνα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Βιβλιογραφία - Αναφορές 97
xiii

Κατάλογος σχημάτων

1.1 Παραδείγματα Πλεγμάτων . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.2 Δομημένο vs Αδόμητο Πλέγμα . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Συμπλέγματα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Αφφινικά και κυρτά περιβλήματα . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Περιφέρεια και Εσωτερικό . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Αφηρημένο και Γεωμετρικό Simplicial σύμπλεγμα . . . . . . . . . . . . . . 6
1.7 Closure, star and link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8 Χαρακτηριστικά ενός Τριγώνου . . . . . . . . . . . . . . . . . . . . . . . . 8
1.9 Εγγεγραμμένος κύκλος και Ελάχιστος κύκλος εγκλεισμού . . . . . . . . . . 9
1.10 Βελόνα και Καπάκι . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.11 Σχέσεις μεταξύ R, lmin και θmin . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Μία Delaunay Τριγωνοποίηση . . . . . . . . . . . . . . . . . . . . . . . . . 13


2.2 Κυρτό περίβλημα και Τριγωνοποιήσεις . . . . . . . . . . . . . . . . . . . . 14
2.3 Διαδοχική κατασκευή μιας λεξικογραφικής τριγωνοποίησης . . . . . . . . . 15
2.4 Γράφοι με και χωρίς διασταυρώσεις . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Δυαδικός γράφος . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Voronoi Διαγράμματα στη φύση . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7 Voronoi κελί, Διάγραμμα και η δυαδική Delaunay Τριγωνοποίηση . . . . . . 19
2.8 Μία Delaunay Τριγωνοποίηση και η ιδιότητα του κενού περιγεγραμμένου
κύκλου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 Delaunay δομές . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.10 Ισχυρή Delaunay Ακμή στην Περιφέρεια . . . . . . . . . . . . . . . . . . . 21
2.11 Ο Παραβολικός χάρτης ανύψωσης . . . . . . . . . . . . . . . . . . . . . . . 22
2.12 Τοπικά Delaunay ακμή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.13 Δύναμη σημείου ως προς Κύκλο . . . . . . . . . . . . . . . . . . . . . . . . 25
2.14 Τοπικά Delaunay ακμή και Δύναμη σημείου ως προς κύκλο . . . . . . . . . . 25
2.15 Μη κυρτό τετράπλευρο . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.16 Τοπικά Delaunay με Περιστροφή . . . . . . . . . . . . . . . . . . . . . . . . 26
2.17 Delaunay Περιστροφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.18 Delaunay ισχυρό simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.19 Κοκαλιάρικα τρίγωνα και Steiner Τριγωνοποιήσεις . . . . . . . . . . . . . . 31
2.20 Τμηματικά γραμμικό σύμπλεγμα . . . . . . . . . . . . . . . . . . . . . . . . 32
2.21 Μία ακμή κόβει ένα Πολύγωνο . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.22 Εισαγωγή ενός ευθύγραμμου τμήματος σε μία Τριγωνοποίηση . . . . . . . . 34
2.23 Περιορισμένη Delaunay ακμή και τρίγωνο . . . . . . . . . . . . . . . . . . . 36
2.24 Περιορισμένη Delaunay ακμή και τρίγωνο . . . . . . . . . . . . . . . . . . . 36

3.1 Αλγόριθμος Bowyer-Watson στο επίπεδο . . . . . . . . . . . . . . . . . . . 41


3.2 Ψευδοκώδικας Εισαγωγής κορυφής . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Απόδειξη λήμματος 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Εισαγωγή μίας κορυφής στο εξωτερικό της τριγωνοποίησης. . . . . . . . . . 43
xiv

3.5 Διαγραφή τριγώνου φάντασμα. . . . . . . . . . . . . . . . . . . . . . . . . . 44


3.6 Τριγωνικά οριοθετημένο πλαίσιο. . . . . . . . . . . . . . . . . . . . . . . . 44
3.7 Χειρότερη περίπτωση εισαγωγής κορυφής. . . . . . . . . . . . . . . . . . . 45
3.8 Εισαγωγή ή Διαγραφή μίας κορυφής σε μία ΠDΤ. . . . . . . . . . . . . . . . 47
3.9 Κενός περιγεγραμμένος κύκλος ακμής. . . . . . . . . . . . . . . . . . . . . . 48
3.10 Αλγόριθμος περιτύλιξης μίας περιορισμένης Delaunay ακμής. . . . . . . . . 49
3.11 Αλγόριθμος περιτύλιξης μίας περιορισμένης Delaunay ακμής. . . . . . . . . 50
3.12 Αλγόριθμος περιτύλιξης δώρου για κατασκευή ΠDΤ. . . . . . . . . . . . . . 50
3.13 Περιτύλιξη ενός τριγώνου. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.14 Εντοπισμός Σημείου με Ευθύ Περίπατο. . . . . . . . . . . . . . . . . . . . . 53

4.1 Επίπεδος Γράφος Ευθειών γραμμών . . . . . . . . . . . . . . . . . . . . . . 55


4.2 Είσοδος ΕΓΕΓ, Έξοδος τριγωνικό πλέγμα. . . . . . . . . . . . . . . . . . . . 56
4.3 Σπάσιμο ενός κακής ποιότητας τριγώνου. . . . . . . . . . . . . . . . . . . . 57
4.4 Διαχωρισμός ενός ευθύγραμμου τμήματος της περιφέρειας . . . . . . . . . . 57
4.5 Ο αλγόριθμος Delaunay Ραφιναρίσματος . . . . . . . . . . . . . . . . . . . 58
4.6 Παράδειγμα Εκτέλεσης του αλγορίθμου Delaunay Ραφιναρίσματος . . . . . 59
4.7 Μέγεθος του τοπικού χαρακτηριστικού . . . . . . . . . . . . . . . . . . . . . 60
4.8 Σχέση μεταξύ της μικρότερης ακμής και μιας υπάρχουσας ακμής . . . . . . . 61
4.9 Απόδειξη Τερματισμού . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.10 ΕΓΕΓ Ηλεκτρικής Κιθάρας . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.11 Delaunay Τριγωνοποίηση των κορυφών του ΕΓΕΓ . . . . . . . . . . . . . . 63
4.12 Περιορισμένη Delaunay Τριγωνοποίηση του ΕΓΕΓ . . . . . . . . . . . . . . 64
4.13 Αφαίρεση τριγώνων από τις κοιλότητες και τις τρύπες . . . . . . . . . . . . 64
4.14 Delaunay Τριγωνοποίηση με ελάχιστη γωνία τριγώνων 20° . . . . . . . . . . 64

5.1 Αποσύνθεση Τομέα Συνεχούς και Διακριτής Γεωμετρίας . . . . . . . . . . . 66


5.2 Διαδικασία Bowyer-Watson . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3 Αλγόριθμος Bowyer-Watson . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4 Μέθοδος PODM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Μετασχηματισμός μεσαίου άξονα . . . . . . . . . . . . . . . . . . . . . . . 70

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

7.1 Delaunay Περιορισμένο Πλέγμα . . . . . . . . . . . . . . . . . . . . . . . . 88


7.2 Η αποσύνθεση MADD και η Διαμέριση Metis . . . . . . . . . . . . . . . . . 89
7.3 Το σημείο προς εισαγωγή δεν παραβιάζει κάποιο περιορισμένο ευθύγραμμο
τμήμα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.4 Το σημείο προς εισαγωγή παραβιάζει κάποιο περιορισμένο ευθύγραμμο τμήμα 90
7.5 Βασικές παράμετροι του PcdmInterface . . . . . . . . . . . . . . . . . . . . 92
7.6 Συγκέντρωση Μηνυμάτων . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.7 Μετρήσεις κλιμακωτής επιτάχυνσης της PCDM . . . . . . . . . . . . . . . . 94
xv

Συντομογραφίες

MPI Message Passing Interface


ΠDΤ Περιορισμένη Delaunay Tριγωνοποίηση
ΤΓΣ Τμηματικά Γραμμικό Σύμπλεγμα
DFS Depth First Search
ΕΓΕΓ Επίπεδος Γράφος Ευθειών Γραμμών
ΑΤ Αποσύνθεση Τομέα
BW Bowyer Watson
API Application Program Interface
xvii

Αφιερωμένο στους γονείς μου και στους θείους μου, Κώστα και
Διονύση, οι οποίοι με εισήγαγαν στον κόσμο των Μαθηματικών. Σας
ευχαριστώ για όλα…
1

Κεφάλαιο 1

Εισαγωγή

Το πλέγμα είναι η διακριτοποίηση ενός γεωμετρικού τομέα σε μικρότερα απλά σχήματα,


όπως τα τρίγωνα και τα τετράπλευρα, στις δύο διαστάσεις, και τα τετράεδρα και τα εξάεδρα,
στις τρεις διαστάσεις. Τα πλέγματα χρησιμοποιούνται σε πολλές περιοχές εφαρμογών. Στη
γεωγραφία και στη χαρτογραφία, τα πλέγματα δίνουν μια συμπαγή αναπαράσταση δεδομέ-
νων εδάφους. Στα γραφικά του υπολογιστή, τα περισσότερα αντικείμενα τελικά καταλήγουν
να είναι πλέγματα πριν την διαδικασία του rendering. Τέλος, τα πλέγματα είναι σχεδόν απα-
ραίτητα στην αριθμητική λύση διαφορικών μερικών εξισώσεων, οι οποίες προκύπτουν από
προσομοιώσεις.
Ένα πλέγμα οφείλει να ικανοποιεί σχεδόν αντιφατικές προϋποθέσεις: οφείλει να προσαρμό-
ζεται στο σχήμα του αντικειμένου ή του τομέα της προσομοίωσης, τα στοιχεία του θα πρέπει
να μην είναι ούτε πολύ μεγάλα αλλά ούτε και πάρα πολλά σε πλήθος, και θα πρέπει να απαρ-
τίζεται από στοιχεία τα οποία είναι ιδανικά όσον αφορά το σχήμα και το μέγεθός τους. ”Τα
ιδανικά σχήματα” συνήθως περιέχουν στοιχεία που είναι σχεδόν ισόπλευρα και ισογώνια, και
συνήθως αποκλείουν στοιχεία που είναι μακριά και πολύ λεπτά. π.χ. σχηματισμένα σαν καρ-
φίτσες ή βελόνες. Ωστόσο, κάποιες εφαρμογές απαιτούν μη-ισοτροπικά στοιχεία, τα οποία
είναι μακριά και λεπτά, μολονότι διαθέτουν καθορισμένους προσανατολισμούς εκκεντρικό-
τητας.

Σχήμα 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

1.1 Ευκλείδειοι Χώροι

Στη γεωμετρία, ο Ευκλείδειος χώρος περικλείει το δισδιάστατο ευκλείδειο επίπεδο, τον τρισ-
διάστατο χώρο της Ευκλείδειας γεωμετρίας και τους παρόμοιους χώρους υψηλότερης διά-
στασης. Ονομάζεται Ευκλείδειος από τον Αρχαίο Έλληνα μαθηματικό Ευκλείδη της Αλε-
ξάνδρειας [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, η γωνία θ που σχηματίζουν μεταξύ τους στο
Ευκλείδειο επίπεδο μπορεί να υπολογιστεί μέσω του νόμου των συνημίτονων.

d(a, b)2 + d(a, c)2 − d(b, c)2


θ = arccos
2 ∗ d(a, b) ∗ d(a, c)

1.2 Simplices και Συμπλέγματα

Στις τριγωνοποιήσεις ένας χρήσιμος όρος είναι το 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

Σχήμα 1.4: Αφφινικά και κυρτά περιβλήματα στο επίπεδο.

όψη ή η κύρια όψη του σ. Ο αριθμός των 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.

Σχήμα 1.5: Το Όριο και το Εσωτερικό ενός 2-simplex (τρίγωνο).

Ορισμός 6 Simplicial Σύμπλεγμα (Simplicial Complex). Ένα simplicial σύμπλεγμα T, γνωστό


και ως μία τριγωνοποίηση, είναι ένα σύνολο που περιέχει πεπερασμένα πολλά simplices που
ικανοποιούν τις ακόλουθες συνθήκες:
1. T περιέχει όλες τις όψεις όλως των simplices στο T
2. Για οποιαδήποτε δύο simplices σ, τ ∈ T, η τομή σ ∩ τ είναι είτε κενή, είτε μία όψη και
του σ αλλά και του τ .
Η πρώτη ιδιότητα υποδηλώνει ότι ∅ ∈ T. Η δεύτερη ιδιότητα υποδηλώνει ότι δύο οποιαδή-
ποτε διαφορετικά simplices στο T έχουν διαχωρισμένα εσωτερικά, δηλαδή int(σ)∩int(τ ) =
6 Κεφάλαιο 1. Εισαγωγή

∅. Χωρίς τη δεύτερη ιδιότητα, T είναι ένα αφηρημένο simplicial σύμπλεγμα, όπως απεικονί-
ζεται στο Σχήμα 1.6.

Σχήμα 1.6: Αριστερά βλέπουμε ένα αφηρημένο simplicial σύμπλεγμα και


δεξιά ένα τρισδιάστατο γεωμετρικό simplicial σύμπλεγμα. Σχήματα από το
Wikipedia.

Ορισμός 7 Yποσύμπλεγμα. Ένα υποσύμπλεγμα είναι ένα υποσύνολο του T, το οποίο είναι ένα
simplicial σύμπλεγμα. Παρατηρήστε ότι κάθε simplicial ικανοποιεί την συνθήκη 2. Για να
επιβάλουμε την συνθήκη 1 προσθέτουμε όψεις και simplices στο υποσύνολο.

1.2.1 Closures, stars και links

Έστω Κ ένα 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

1.2.2 Υποκείμενοι χώροι

Έστω T ένα simplicial σύμπλεγμα.


Ορισμός 11 Υποκείμενος χώρος. Ο υποκείμενος χώρος |T| του T είναι η ένωση όλων των

simplices του T, δηλαδή |T| = σ. Αξίζει να σημειωθεί ότι ο υποκείμενος χώρος οποιου-
σ∈T
δήποτε (γεωμετρικού) simplicial συμπλέγματος είναι ένας γεωμετρικός τομέας όπως ένα πο-
λύγωνο στο επίπεδο ή είναι πολύεδρο στις τρεις διαστάσεις.

1.3 Χαρακτηριστικά ενός Τριγώνου

Σε αυτή την ενότητα, θα εισαγάγουμε μια λίστα από γεωμετρικά χαρακτηριστικά που σχετί-
ζονται με ένα συγκεκριμένο και πραγματικά χρήσιμο 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 σημείου είναι ότι πάντα βρίσκεται στον
περιγεγραμμένο κύκλο ενός τριγώνου. Αυτή η ιδιότητα είναι ιδιαίτερα χρήσιμη στην παρα-
γωγή πλέγματος και θα αναλύσουμε την σημαντικότητά της στα επόμενα κεφάλαια.

Σχήμα 1.8: Χαρακτηριστικά ενός Τριγώνου.


1.4. Μέτρηση ενός στοιχείου 9

1.4 Μέτρηση ενός στοιχείου

Σε αυτήν την ενότητα θα περιγράψουμε τρόπους για να μετράμε το μέγεθος, τις γωνίες και
την ποιότητα ενός simplicial στοιχείου στο R2 .
Αρχικά, θα εισάγουμε τρεις ακόμη ορισμούς, δύο εκ των οποίων απεικονίζονται στο Σχήμα 1.9.
Ορισμός 22 Διαμετρικός κύκλος. Ο διαμετρικός κύκλος ενός simplex τ είναι ο περιγεγραμ-
μένος κύκλος του τ με τη μικρότερη ακτίνα. Το περίκεντρο του τ είναι το σημείο στο κέντρο
του διαμετρικού κύκλου του τ , το οποίο πάντα βρίσκεται στο aff(τ ). Η ακτίνα του περιγε-
γραμμένου κύκλου του τ είναι η ακτίνα του διαμετρικού κύκλου του τ .
Ορισμός 23 Εγγεγραμμένος κύκλος.Ο εγγεγραμμένος κύκλος ενός k-simplex τ είναι ο μεγα-
λύτερος k-κύκλος C ⊂ τ . Παρατηρήστε ότι ο C είναι εφαπτόμενος σε κάθε όψη του τ . Ο
εγγεγραμμένος κύκλος του τ είναι η περιφέρεια του C. Το έκκεντρο του τ είναι το σημείο
στο κέντρο του C και η ακτίνα εγγεγραμμένου κύκλου του τ είναι το C.
Ορισμός 24 Ελάχιστος κύκλος εγκλεισμού. Ο ελάχιστος κύκλος εγκλεισμού ενός k-simplex
τ είναι ο μικρότερος k-κύκλος C ⊃ τ . Ο ελάχιστος κύκλος εγκλεισμού είναι πάντα ένας δια-
μετρικός κύκλος μιας όψης του τ . Ο ελάχιστος κύκλος εγκλεισμού του τ είναι η περιφέρεια
του C.

Σχήμα 1.9: Εγγεγραμμένος κύκλος και Ελάχιστος κύκλος εγκλεισμού ενός


τριγώνου

Οι επιστήμονες που ασχολούνται με πεπερασμένα στοιχεία συχνά αντιπροσωπεύουν το μέγε-


θος ενός στοιχείου από το μήκος της μεγαλύτερης ακμής του. Ωστόσο θα μπορούσε κάποιος
να ισχυριστεί ότι η ακτίνα του Ελάχιστου κύκλου εγκλεισμού είναι μία ελαφρώς καλύτερη
μετρική, καθώς υπάρχουν υψηλά όρια σφάλματος για τμηματικά γραμμική παρεμβολή πάνω
από simplicial στοιχεία, τα οποία είναι άμεσα ανάλογα με τα τετράγωνα της ακτίνας των
ελάχιστων κύκλων εγκλεισμού τους.
Ένα μέτρο ποιότητας συνιστά χαρτογράφηση από στοιχεία σε κλιμακωτές τιμές που υπολο-
γίζει την καταλληλότητα του σχήματος ενός στοιχείου ανεξάρτητα από το μέγεθός του. Τα
πιο προφανή μέτρα ποιότητας ενός τριγώνου είναι οι μικρότερες και μεγαλύτερες γωνίες του.
Ας ορίσουμε τη γωνία μεταξύ δύο διανυσμάτων u και v ως:
u·v
∠(u.v) = arccos .
|u||v|
10 Κεφάλαιο 1. Εισαγωγή

Υπολογίζουμε την γωνία ∠xyz ενός τριγώνου ως ∠(x − y), (z − y).


Τα στοιχεία μπορεί να αλλοιωθούν με διάφορους τρόπους και είναι χρήσιμο να διακρίνουμε
τους τύπους λεπτών στοιχείων. Υπάρχουν δύο είδη πολύ λεπτών τριγώνων, που απεικονίζο-
νται στο Σχήμα 1.10: βελόνες που έχουν μία άκρη πολύ μικρότερη από τις άλλες και καπάκια
που έχουν μια γωνία κοντά στις 180° και έναν μεγάλο κυκλικό δίσκο. Αξίζει να σημειωθεί
πως τα τρίγωνα, όπως τα καπάκια που έχουν μία γωνία κοντά στις 180°, έχουν και μια γωνία
κοντά στις 0°.

Σχήμα 1.10: Τα 2 είδη κοκαλιάρικων τριγώνων.

Για πολλούς σκοπούς, όπως για παράδειγμα, βελτίωση ενός πλέγματος, είναι επιθυμητό να
έχουμε ένα μοναδικό μέτρο ποιότητας που να τιμωρεί αξιολογικά και τις γωνίες κοντά στις
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 Τριγωνοποιήσεις στο R2

Έχοντας πλέον όλες τις απαραίτητες γνώσεις που χρειαζόμαστε, είμαστε σε θέση να ορί-
σουμε την Delaunay τριγωνοποίηση. Η Delaunay τριγωνοποίηση είναι μια γεωμετρική δομή
που οι μηχανικοί χρησιμοποίησαν για τα πλέγματα, όταν η παραγωγή πλέγματος ήταν ακόμη
στις αρχές της. Σε δύο διαστάσεις έχει το εξής εντυπωσιακό πλεονέκτημα. Μεταξύ όλων των
πιθανών τριγωνοποιήσεων ενός σταθερού συνόλου σημείων, οι τριγωνοποιήσεις Delaunay
μεγιστοποιούν την ελάχιστη γωνία των τριγώνων. Επίσης, βελτιστοποιεί αρκετά άλλα γεω-
μετρικά κριτήρια που σχετίζονται με την ακρίβεια της παρεμβολής. Αν ο στόχος σας είναι να
δημιουργήσετε μια τριγωνοποίηση χωρίς μικρές γωνίες, φαίνεται σχεδόν ανόητο να εξετά-
σετε μια τριγωνοποίηση που δεν είναι Delaunay. Οι τριγωνοποιήσεις Delaunay έχουν μελε-
τηθεί διεξοδικά και υπάρχουν εξαιρετικοί αλγόριθμοι για την κατασκευή και την ενημέρωσή
τους.
Μία περιορισμένη τριγωνοποίηση είναι μια τριγωνοποίηση που επιβάλλει την παρουσία συ-
γκεκριμένων ακμών, για παράδειγμα, την περιφέρεια και ένα μη κυρτό αντικείμενο. Μία
τριγωνοποίηση Delaunay υπό περιορισμούς χαλαρώνει την ιδιότητα του Delaunay, ακριβώς
για να ανακτήσει τις άκρες αυτές, ενώ απολαμβάνει βέλτιστες ιδιότητες παρόμοιες με εκεί-
νες μιας τριγωνοποίησης Delaunay. Οι τριγωνοποιήσεις Delaunay υπό περιορισμούς είναι
σχεδόν εξίσου δημοφιλείς με τους προγόνους τους χωρίς περιορισμούς.
Αυτό το κεφάλαιο εξετάζει τις τριγωνοποιήσεις Delaunay στο R2 , τις περιορισμένες τριγω-
νοποιήσεις Delaunay και τις γεωμετρικές τους ιδιότητες. Δείτε το άρθρο του Fortune [28]
για μια εναλλακτική έρευνα των τριγωνοποιήσεων Delaunay και Aurenhammer [1] για μια
έρευνα πολλών περισσότερων τύπων διαγραμμάτων Voronoi.

Σχήμα 2.1: Μία Delaunay τριγωνοποίηση.


14 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2

2.1 Τριγωνοποιήσεις ενός συνόλου σημείων στο επίπεδο

Η λέξη τριγωνοποίηση συνήθως αναφέρεται σε ένα simplicial σύμπλεγμα. Υπάρχουν πολλά


simplicial συμπλέγματα που έχουν τον ίδιο υποκείμενο χώρο. Ένα simplicial σύμπλεγμα
προσφέρει μια συνδυαστική δομή στον υποκείμενο χώρο της. Ωστόσο, η λέξη τριγωνοποί-
ηση έχει πολλαπλές έννοιες όταν συζητάμε για μια τριγωνοποίηση μίας γεωμετρικής δομής.
Υπάρχουν τριγωνοποιήσεις ενός συνόλου σημείων, πολυγώνων, πολυέδρων και πολλών άλ-
λων δομών. Θεωρήστε πως τα σημεία βρίσκονται στο επίπεδο ή σε οποιοδήποτε Ευκλείδειο
χώρο.
Ορισμός 26 Τριγωνοποίηση ενός συνόλου σημείων. Έστω V ένα πεπερασμένο σύνολο ση-
μείων στο επίπεδο, μία τριγωνοποίηση του V είναι ένα δισδιάστατο simplicial σύμπλεγμα T
τέτοιο ώστε:
i V είναι το σύνολο των κορυφών του T
ii η ένωση όλων των simplices στο T είναι το κυρτό περίβλημα του V.
Το Σχήμα 2.2 δίνει μερικές τριγωνοποιήσεις ενός συνόλου σημείων. Αξίζει να σημειωθεί
πως οι τριγωνοποιήσεις δεν χρειάζεται να χρησιμοποιούν όλες τις κορυφές του συνόλου των
σημείων τους.

Σχήμα 2.2: Εδώ διακρίνονται ένα δισδιάστατο σύνολο σημείων V, το κυρτό


περίβλημα conv(V) και διάφορες τριγωνοποιήσεις T1 , ...T4 του V

Έχει κάθε σύνολο σημείων μια τριγωνοποίηση; Ναι. Θεωρήστε την Λεξικογραφική τριγωνο-
ποίηση που απεικονίζεται στο Σχήμα 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 συγγραμμικές ακμές που συνδέουν τις κορυφές
αυτές και καθόλου τρίγωνα.

Σχήμα 2.3: Διαδοχική κατασκευή μιας λεξικογραφικής τριγωνοποίησης

2.2 Επίπεδοι Γράφοι και τύπος του Euler

Μία τριγωνοποίηση στο επίπεδο είναι ένας επίπεδος γράφος, αλλά μπορεί να μην είναι μέγι-
στα συνδεδεμένη. Η όψη έξω από το κυρτό περίβλημα αυτής της τριγωνοποίησης είναι ένα
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

Σχήμα 2.4: Γράφοι με και χωρίς διασταυρώσεις.

Τύπος του 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.

2.3 Delaunay Τριγωνοποίηση

Η Delaunay τριγωνοποίηση ενός συνόλου σημείων V, το οποίο εισάγει ο Boris Nikolaevich


Delone [22] το 1934, είναι μια τριγωνοποίηση του V, που έχει πολλές αξιοσημείωτες ιδιότη-
τες, όπως η μεγιστοποίηση της ελάχιστης γωνίας, και τα τρίγωνα αυτά είναι ιδιαίτερα ωραία
διαμορφωμένα. Υπάρχουν πολλοί τρόποι για τον ορισμό των τριγωνοποιήσεων Delaunay.
Αρχικά τα εισαγάγουμε ως δυαδικά των διαγραμμάτων Voronoi και στη συνέχεια εισάγουμε
άλλους ισοδύναμους ορισμούς ενώ παρουσιάζουμε τις ιδιότητές τους. Θα συζητήσουμε επί-
σης αποτελεσματικούς και απλούς αλγόριθμους για τον υπολογισμό των τριγωνοποιήσεων.
18 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2

2.3.1 Voronoi diagrams

Τα διαγράμματα Voronoi παίρνουν το όνομά τους από τον Ρώσο και Ουκρανό μαθηματικό
Georgy Feodosevich Voronoy το 1907 [68]. Είναι επίσης γνωστά ως οι Dirichlet’s tessellations
(από τον Γερμανό μαθηματικό Peter Gustav Lejeune Dirichlet). Τα διαγράμματα Voronoi
προκύπτουν στη φύση σε διάφορες καταστάσεις, όπως απεικονίζεται στο σχήμα 2.6. Είναι
μία από τις πιο θεμελιώδεις δομές δεδομένων στην Υπολογιστική Γεωμετρία.

Σχήμα 2.6: Voronoi Διαγράμματα στη φύση.

Το διάγραμμα 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.

2.3.2 Η ιδιότητα του κενού περιγεγραμμένου κύκλου

Εναλλακτικά, οι Delaunay τριγωνοποιήσεις μπορούν να οριστούν μέσω της ιδιότητας του


κενού περιγεγραμμένου κύκλου: κανένα τρίγωνο δεν έχει περιγεγραμμένο κύκλου που περι-
κλείει οποιοδήποτε σημείο στο V.
Στο επίπεδο, ένα ευθύγραμμο τμήμα έχει ένα άπειρο σύνολο περιγεγραμμένων κύκλων, ενώ
ένα τρίγωνο έχει μόνο έναν.
20 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2

Ορισμός 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 δίνεται η
απόδειξη.

Σχήμα 2.9: Υπάρχουν 3 τρόποι για να ορίσουμε μία Delaunay δομή


όπου υπάρχουν συν-περιφερειακές κορυφές: (a) Συμπεριλαμβάνουμε όλα τα
Delaunay simplices. (b) Επιλέγουμε ένα υποσύνολο των Delaunay simplices
που περιλαμβάνει μία τριγωνοποίηση. (c) Αποκλείουμε όλες τις διασταυ-
ρωμένες Delaunay ακμές και συγχωνεύουμε αλληλεπικαλυπτόμενα τρίγωνα
Delaunay σε Delaunay πολύγωνα.
2.3. Delaunay Τριγωνοποίηση 21

Η 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

2.4 Ο Παραβολικός Χάρτης Ανύψωσης

Δεδομένου ενός συνόλου πεπερασμένων σημείων V, ο παραβολικός ανυψωτικός χάρτης του


Seidel [59] μετασχηματίζει την υποδιαίρεση Delaunay του V σε όψεις ενός κυρτού πολύ-
εδρου σε τρεις διαστάσεις, όπως απεικονίζεται στο Σχήμα 2.11. Αυτή η σχέση μεταξύ των
Delaunay τριγωνοποιήσεων και των κυρτών περιβλημάτων έχει δύο συνέπειες. Πρώτον, κα-
θιστά πολλές ιδιότητες των Delaunay τριγωνοποιήσεων διαισθητικές. Για παράδειγμα, από
το γεγονός ότι κάθε σύνολο πεπερασμένων σημείων έχει ένα πολυεδρικό κυρτό περίβλημα,
προκύπτει ότι κάθε σύνολο πεπερασμένων σημείων έχει Delaunay τριγωνοποίηση. Δεύτερον
προσφέρει στην Παραγωγή Πλέγματος τη δύναμη μίας τεράστιας βιβλιογραφίας που αφορά
στη θεωρία και τους αλγορίθμους των πολύτοπων: κάθε αλγόριθμος εύρεσης κυρτού περι-
βλήματος είναι ένας αλγόριθμος εύρεσης Delaunay τριγωνοποίησης!
Ο παραβολικός χάρτης ανύψωσης στέλνει κάθε σημείο p = (x, y) ∈ E 2 σε ένα σημείο
p+ = (x, y, x2 + y 2 ) ∈ E 3 . Ονομάζουμε ως p+ τον ανυψωμένο σύντροφο του p.

Σχήμα 2.11: Ο Παραβολικός χάρτης ανύψωσης.

Θεωρήστε το κυρτό περίβλημα conv(V + ) των ανυψωμένων σημείων V + = {v + : v ∈ V }.


Το Σχήμα 2.11 απεικονίζει τις προς τα κάτω όψεις του. Επισήμως, μία όψη είναι στραμμένη
προς τα κάτω εάν κανένα σημείο στο conv (V + ) δεν είναι ακριβώς κάτω από οποιοδήποτε
σημείο στο f, σε σχέση με τον άξονα z. Ονομάζουμε το σύνολο των προς τα κάτω όψεων ως
την κάτω πλευρά του conv(V + ). Προβάλλοντας την κάτω πλευρά του conv(V + ) στο επίπεδο
2.4. Ο Παραβολικός Χάρτης Ανύψωσης 23

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

2.5 Το Delaunay Λήμμα

Ίσως το πιο σημαντικό αποτέλεσμα των 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.

Σχήμα 2.12: Αριστερά η pi pj ακμή είναι τοπικά Delaunay, ενώ δεξιά η pi pj


ακμή δεν είναι τοπικά 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 − u∥ − r) × (∥x − u∥ + r) = ∥x − u∥2 − r2 . Σε κάθε περίπτωση ισχύει: πU (x) > 0


αν το x είναι έξω από τον κύκλο, πU (x) = 0 αν το x είναι στην περιφέρεια του κύκλου και
πU (x) < 0 αν το x είναι στο εσωτερικό του κύκλου.

Σχήμα 2.13: Δύναμη σημείου ως προς Κύκλο.

Έστω x ∈ R2 είναι ένα σταθερό σημείο. Λέμε ότι ένα τρίγωνο abc βρίσκεται μπροστά από
ένα άλλο τρίγωνο def αν υπάρχει μια ημιευθεία που ξεκινάει από το x, πρώτα περνάει μέσα
από το abc και στη συνέχεια μέσά από το def. Αυτό υποδηλώνεται ως abc ≺x def. Το ακό-
λουθο γεγονός βοηθά σημαντικά ώστε να αποδειχθεί το Delaunay Λήμμα:
Αν το abc ≺x abd και η ab είναι τοπικά Delaunay, συνεπάγεται ότι πCabc (x) < πCabd (x), όπου
Cabc είναι ο περιγεγραμμένος κύκλος του abc, όπως απεικονίζεται στο Σχήμα 2.14.

Σχήμα 2.14: Το ότι η ακμή ab είναι τοπικά Delaunay υποδηλώνει ότι


πCabc (x) < πCabd (x).

Ορίζουμε το abc ως t0 , και κατά σύμβαση επίσης ορίζουμε ως πt0 (x) την δύναμη του x ως
προς τον περιγεγραμμένο κύκλο του t0 . Υποθέτουμε ότι το z είναι μια κορυφή που βρίσκεται
μέσα στον περιγεγραμμένο κύκλο του abc. Τότε θα μπορούσαμε να βρούμε μια ακολουθία
τριγώνων ξεκινώντας από το abc και τελειώνοντας στο τρίγωνο uvz, δηλαδή,

abc = t0 ≺x t1 ≺x ... ≺x tm = uvz.

Άρα τώρα έχουμε πtm (z) = 0 και πti (z) > 0, για i = m - 1,...,0. Αλλά η υπόθεση μας σημαίνει
πως πt0 (z) < 0, που είναι μια αντίφαση.
26 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2

2.6 Ο Αλγόριθμος Περιστροφής (Flip)

Ο αλγόριθμος Περιστροφής έχει τουλάχιστον τρεις χρήσεις: είναι ένας απλός αλγόριθμος για
τον υπολογισμό μίας 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

η λίστα να αδειάσει, οπότε ο αλγόριθμος σταματά.

i Αφαιρούμε μία ακμή από τη λίστα.


ii Ελέγχουμε εάν η ακμή υπάρχει ακόμη στην τριγωνοποίηση, και αν υπάρχει, τότε ελέγ-
χουμε αν είναι τοπικά Delaunay.
iii Αν η ακμή υπάρχει αλλά δεν είναι τοπικά Delaunay, την περιστρέφουμε και προσθέτουμε
τις τέσσερεις πλευρές του αντεστραμμένου τετραπλεύρου στη λίστα.
Αυτή η λίστα μπορεί να περιέχει πολλαπλά αντίγραφα της ίδιας πλευράς, αλλά αυτό δεν
αποτελεί πρόβλημα.
Εφόσον ο αλγόριθμος Περιστροφής έχει υλοποιηθεί κατά αυτόν τον τρόπο, τρέχει σε O(n +
k) χρόνο, όπου n είναι ο αριθμός των κορυφών (ή τριγώνων) της τριγωνοποίησης, και k εί-
ναι ο αριθμός των περιστροφών που εκτελέστηκαν. Στη χειρότερη περίπτωση, k ∈ Θ(n2 ), σε
χρόνο εκτέλεσης O(n2 ). Υπάρχουν όμως περιπτώσεις στις οποίες ο αλγόριθμος Περιστροφής
είναι γρήγορος στην πράξη. Για παράδειγμα, εάν οι κορυφές ενός Delaunay πλέγματος δια-
ταράσσονται από μικρές μετατοπίσεις κατά τη διάρκεια φυσικής προσομοίωσης, μπορεί να
χρειαστεί μόνο ένα μικρό αριθμό περιστροφών για να επαναφέρει την Delaunay ιδιότητα. Σε
αυτή την περίπτωση, ο αλγόριθμος Περιστροφή πιθανώς ξεπερνά σε απόδοση οποιονδήποτε
αλγόριθμο που ανακατασκευάζει την τριγωνοποίηση από το μηδέν.

2.7 Η Βελτιστότητα της Delaunay Τριγωνοποίησης

Οι Delaunay τριγωνοποιήσεις είναι πολύτιμες εν μέρει επειδή βελτιστοποιούν διάφορα γεω-


μετρικά κριτήρια: τη μικρότερη γωνία, το μεγαλύτερο περιγεγραμμένο κύκλο και τον Ελά-
χιστο κύκλο εγκλεισμού. Ο Ελάχιστος κύκλος εγκλεισμού ενός τριγώνου είναι ο μικρότερος
κύκλος που το περικλείει. Για ένα τρίγωνο χωρίς αμβλείες γωνίες, ο Ελάχιστος κύκλος εγκλει-
σμού του και ο περιγεγραμμένος κύκλος του είναι ίδιοι. Αλλά για ένα αμβλυγώνιο τρίγωνο,
ο Ελάχιστος κύκλος εγκλεισμού είναι μικρότερος.
Θεώρημα 7. Μεταξύ όλων των τριγωνοποιήσεων ενός συνόλου σημείων υπάρχει μια Delaunay
τριγωνοποίηση που μεγιστοποιεί την ελάχιστη γωνία της τριγωνοποίησης, ελαχιστοποιεί το
μεγαλύτερο περιγεγραμμένο κύκλο, καθώς επίσης και τον μεγαλύτερο Ελάχιστο κύκλο εγκλει-
σμού.
Απόδειξη. Κάθε μία από αυτές τις ιδιότητες βελτιώνεται τοπικά, όταν μια ακμή που δεν εί-
ναι τοπικά Delaunay περιστρέφεται. Το Λήμμα 8 παρακάτω επιδεικνύει αυτή τη δήλωση για
τις δύο πρώτες ιδιότητες. Η ελαχιστοποίηση του μεγαλύτερου Ελάχιστου κύκλο εγκλεισμού
αποδείχθηκε από τους D’Azevedo και Simpson [20], αλλά η απόδειξη θα παραλειφθεί λόγω
του εκτενούς μεγέθους της. Υπάρχει τουλάχιστον μία βέλτιστη τριγωνοποίηση T. Εάν το T
έχει μία ακμή που δεν είναι τοπικά Delaunay, η περιστροφή αυτής της ακμής παράγει μια
ακόμη βέλτιστη τριγωνοποίηση. Όταν ο αλγόριθμος Περιστροφής τρέξει με την Τ ως είσοδό
του, κάθε τριγωνοποίηση που παράγεται σε κάθε επανάληψη του αλγορίθμου είναι βέλτιστη
με επαγωγή, και με τη χρήση του θεωρήματος 5 δείχνουμε ότι μία από αυτές τις τριγωνοποι-
ήσεις είναι Delaunay.
Λήμμα 8. Η περιστροφή μιας ακμής που δεν είναι τοπικά Delaunay αυξάνει την ελάχιστη
γωνία και μειώνει τον μεγαλύτερο περιγεγραμμένο κύκλο των τριγώνων που άλλαξαν λόγω
αυτής της περιστροφής.
2.7. Η Βελτιστότητα της Delaunay Τριγωνοποίησης 29

Απόδειξη. Έστω το 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

2.8 Η Μοναδικότητα της Delaunay Τριγωνοποίησης

Το προτέρημα ενός 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τ .

Σχήμα 2.18: Ένα Delaunay ισχυρό simplex σ τέμνει οποιοδήποτε Delaunay


simplex τ σε μία κοινή όψη και των δύο. Το σχήμα στα δεξιά υποδηλώνει
το γεγονός ότι αυτό το αποτέλεσμα ισχύει και για Delaunay τριγωνοποιήσεις
υψηλότερων διαστάσεων.

Η τομή των περιγεγραμμένων κύκλων 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 και των όψεων των
τριγώνων αυτών.

2.9 Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2

Εφόσον οι επίπεδες Delaunay τριγωνοποιήσεις μεγιστοποιούν την ελάχιστη γωνία, επιλύουν


το πρόβλημα της τριγωνικής Παραγωγής πλέγματος; Όχι, αυτό συμβαίνει για δύο λόγους
που παρουσιάζονται στο Σχήμα 2.19. Πρώτα απ ’όλα, τα κοκαλιάρικα τρίγωνα μπορεί να
φαίνονται ούτως ή άλλως. Δεύτερον, η Delaunay τριγωνοποίηση των κορυφών ενός τομέα
ενδέχεται να μην σέβεται τα όρια του τομέα. Και τα δυο αυτά προβλήματα μπορούν να λυθούν
με την εισαγωγή επιπλέον κορυφών, όπως απεικονίζεται στο ακόλουθο Σχήμα.

Σχήμα 2.19: Η Delaunay τριγωνοποίηση (πάνω δεξιά) μπορεί να παρα-


λείψει τις ακμές του τομέα και να περιέχει κοφτερά τρίγωνα. Μία Steiner
Delaunay Τριγωνοποίηση (κάτω αριστερά) μπορεί να διορθώσει αυτά τα
σφάλματα εισάγοντας νέες κορυφές. Μια περιορισμένη Delaunay τριγωνο-
ποίηση (κάτω δεξιά) διορθώνει το πρώτο σφάλμα χωρίς εισαγωγή νέων κο-
ρυφών.
32 Κεφάλαιο 2. Delaunay Τριγωνοποιήσεις στο R2

Μια εναλλακτική λύση στο δεύτερο πρόβλημα θα μπορούσε να αποτελέσει η χρήση μιας Πε-
ριορισμένης Delaunay τριγωνοποίησης (ΠDT). Μία ΠDΤ ορίζεται σε σχέση με ένα σύνολο
σημείων και ευθύγραμμων τμημάτων που οριοθετούν την περιφέρεια του τομέα. Κάθε ευθύ-
γραμμο τμήμα πρέπει να γίνει μια ακμή του ΠDΤ. Τα τρίγωνα μίας ΠDΤ δεν απαιτείται να
είναι Delaunay. Αντίθετα, πρέπει να είναι Delaunay περιορισμένα. Αυτή είναι μια ιδιότητά
που χαλαρώνει εν μέρει την ιδιότητα του κενού περιγεγραμμένου κύκλου.
Μια αρετή μίας ΠDT είναι ότι μπορεί να σέβεται αυθαίρετα ευθύγραμμα τμήματα, χωρίς να
απαιτεί ταυτόχρονα την εισαγωγή κάποιας επιπλέον κορυφής, πέραν των κορυφών των τμη-
μάτων. Ένα ακόμη πλεονέκτημα είναι ότι η ΠDT κληρονομεί την βελτιστότητα της Delaunay
τριγωνοποίησης. Δηλαδή, μεταξύ όλων των τριγωνοποιήσεων ενός συνόλου σημείων που
περιλαμβάνει όλα τα ευθύγραμμα τμήματα, η ΠDT μεγιστοποιεί την ελάχιστη γωνία [39],
ελαχιστοποιεί το μεγαλύτερο περιγεγραμμένο κύκλο, καθώς επίσης και τον μεγαλύτερο Ελά-
χιστο κύκλο εγκλεισμού. Οι ΠDT στο επίπεδο ήταν μαθηματικά επισημοποιημένες από τους
Lee και Lin [39] το 1986, όμως οι αλγόριθμοι που δημιουργούν εν αγνοία τους ΠDT εμφα-
νίστηκαν πολύ νωρίτερα [29], [50].

2.9.1 Τμηματικά γραμμικά Συμπλέγματα και οι τριγωνοποιήσεις τους

Ο τομέας πάνω στον οποίο ορίζεται μία ΠDT, και η είσοδος σε έναν αλγόριθμο κατασκευής
ΠDT, δεν συνιστούν απλώς ένα σετ των σημείων, αλλά μάλλον ένα σύμπλεγμα αποτελούμενο
από σημεία, ακμές και πολύγωνα, όπως απεικονίζεται στο Σχήμα 2.20. Ο σκοπός των ακμών
είναι να υπαγορεύσουν ότι οι τριγωνοποιήσεις του συμπλέγματος πρέπει να περιέχουν αυτές
τις ακμές. Ο σκοπός των πολυγώνων είναι να καθορίζουν την περιοχή προς τριγωνοποίηση.
Τα πολύγωνα δεν είναι αναγκαστικά κυρτά και ενδέχεται να έχουν τρύπες.

Σχήμα 2.20: Ένα δισδιάστατο τμηματικά γραμμικό σύμπλεγμα και η ΠDT


του. Κάθε πολύγωνο μπορεί να έχει τρύπες, σχισμές και κορυφές στο εσω-
τερικό του.

Ορισμός 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.

Σχήμα 2.21: Η ακμή vx κόβει αυτό το απλό πολύγωνο σε 2 απλά πολύγωνα.

Σχήμα 2.22: Εισαγωγή ενός ευθύγραμμου τμήματος σε μία Τριγωνοποίηση.

Έστω X είναι ένα επίπεδο ΤΓΣ. Θεωρήστε την ακόλουθη διαδικασία για την τριγωνοποίηση
του X. Ξεκινήστε με μία αυθαίρετη τριγωνοποίηση των κορυφών του Χ, όπως η λεξικο-
γραφική τριγωνοποίηση που περιγράφεται στην Ενότητα 2.1. Εξετάζουμε κάθε ευθύγραμμο
τμήμα στο Χ για να δούμε αν είναι ήδη μια ακμή της τριγωνοποίησης. Εισάγουμε κάθε ευθύ-
γραμμο τμήμα που λείπει στην τριγωνοποίηση διαγράφοντας όλες τις ακμές και τα τρίγωνα
που τέμνουν το σχετικό εσωτερικό τους, δημιουργώντας έτσι το νέο ευθύγραμμο τμήμα, και
εκ νέου τριγωνοποιώντας τις δύο πολυγωνικές κοιλότητες που δημιουργήθηκαν με τον τρόπο
αυτό (ένα σε κάθε πλευρά του ευθύγραμμου τμήματος), όπως απεικονίζεται στο Σχήμα 2.22.
Οι κοιλότητες μπορεί να μην είναι απλά πολύγωνα, επειδή μπορεί να έχουν ακμές που κρέ-
μονται στο εσωτερικό τους, όπως φαίνεται στο Σχήμα 2.22. Αλλά είναι πολύ απλό να επα-
ληθεύσουμε ότι η διαδικασία που συζητήθηκε παραπάνω για την τριγωνοποίηση ενός απλού
πολύγωνου λειτουργεί εξίσου καλά και για μια κοιλότητα με κρεμάμενες ακμές.
Η πράξη εισαγωγής ενός ευθύγραμμου τμήματος δεν διαγράφει ποτέ άλλο ευθύγραμμο τμήμα,
επειδή δύο ευθύγραμμα τμήματα στο Χ δεν μπορούν να περάσουν. Επομένως, η τριγωνο-
ποίηση περιέχει όλα τα ευθύγραμμα τμήματα μετά την εισαγωγή τους. Τέλος, διαγράφουμε
τυχόν simplices που δεν περιλαμβάνονται στο |X|.
Ο ορισμός 33 δεν επιτρέπει στο Τ να έχει κορυφές που δεν περιέχονται στο Χ, αλλά η παρα-
γωγή πλέγματος συνήθως προκύπτει προσθέτοντας νέες κορυφές για να εξασφαλιστεί ότι τα
τρίγωνα έχουν υψηλή ποιότητα. Αυτό μας ωθεί στην Steiner τριγωνοποίηση.
2.9. Περιορισμένες Delaunay Τριγωνοποιήσεις στο R2 35

Ορισμός 35 Steiner τριγωνοποίηση ενός επίπεδου ΤΓΣ, Steiner Delaunay τριγωνοποίηση,


Steiner σημείο. Έστω X είναι ένα ΤΓΣ στο επίπεδο. Μια Steiner τριγωνοποίηση του Χ, επί-
σης γνωστή ως συμπαγής τριγωνοποίηση του Χ ή ένα πλέγμα του Χ, είναι ένα simplicial
σύμπλεγμα Τ τέτοιο ώστε:
i Το T περιέχει κάθε κορυφή στο X (και ίσως επιπλέον κορυφές),
ii Kάθε ακμή στο Χ είναι μια ένωση ακμών στο Τ, και
iii |Τ| = |X|
Οι νέες κορυφές του Τ, που απουσιάζουν από το Χ, ονομάζονται σημεία Steiner.
Μια Steiner Delaunay τριγωνοποίηση του X, επίσης γνωστή ως συμβατική Delaunay τρι-
γωνοποίηση του Χ, είναι μια Steiner τριγωνοποίηση του Χ στην οποία κάθε simplex είναι
Delaunay.
Αν η Delaunay τριγωνοποίηση των κορυφών σε ένα επίπεδο ΤΓΣ X δεν σέβεται όλα τα τμή-
ματα του Χ, είναι πάντοτε δυνατό να βρούμε ένα τριγωνισμό Steiner Delaunay του Χ με την
προσθήκη των σημείων του Steiner, όπως απεικονίζεται κάτω αριστερά στο Σχήμα 2.19. Δυ-
στυχώς, ο αριθμός των Steiner σημείων μπορεί να είναι μεγάλος. Ο καλύτερος αλγόριθμος
μέχρι στιγμής, από τον Bishop [5], τριγωνοποιεί ένα ΤΓΣ που έχει m ευθύγραμμα τμήματα
και n κορυφές με την προσθήκη Ο(m2.5 + mn) Steiner σημείων. Οι Edelsbrunner και Tan
[25] εκθέτουν ένα ΤΓΣ που απαιτεί Θ(mn) Steiner σημεία. Το κλείσιμο του χάσματος με-
ταξύ των ορίων O(m2.5 + mn) και Ω(mn) παραμένει ένα ανοιχτό πρόβλημα. Ο μεγάλος
αριθμός των Steiner σημείων που ορισμένα ΤΓΣs χρειάζονται, μας ωθεί στην Περιορισμένη
Delaunay Τριγωνοποίηση, η οποία δεν χρειάζεται κανένα.

2.9.2 Η περιορισμένη Delaunay Τριγωνοποίηση

Οι περιορισμένες 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.23: Η ακμή e και το τρίγωνο τ είναι περιορισμένα Delaunay. Οι


έντονες γραμμές αναπαριστούν τα ευθύγραμμα τμήματα.

Ορισμός 38 Περιορισμένη Delaunay τριγωνοποίηση. Μια περιορισμένη Delaunay τριγωνο-


ποίηση (ΠDΤ) ενός ΤΓΣ Χ είναι η τριγωνοποίηση του Χ, στην οποία κάθε τρίγωνο είναι
Delaunay περιορισμένο.
Το Σχήμα 2.24 απεικονίζει ένα ΤΓΣ, μία Delaunay τριγωνοποίηση των κορυφών του και μία
περιορισμένη Delaunay τριγωνοποίηση του ΤΓΣ. Στη ΠDΤ, κάθε τρίγωνο είναι Delaunay
περιορισμένο, κάθε ακμή που δεν είναι ένα ευθύγραμμο τμήμα του ΤΓΣ είναι 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
περιορισμένο.

2.9.3 Ιδιότητες της Περιορισμένης 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

Ο πρώτος δημοσιευμένος αλγόριθμος Delaunay τριγωνοποίησης που γνωρίζουμε εμφανίζε-


ται σε ένα έγγραφο του 1967 από τον J. Desmond Bernal και John Finney [4]. O Finney,
υλοποίησε ένα πρόγραμμά που παράγει ένα τρισδιάστατο Voronoi διάγραμμα και το χρησι-
μοποίησε για να χαρακτηρίσει τις δομές υγρών, άμορφων κραμάτων μετάλλων, μόρια πρω-
τεϊνών και τυχαίες συσκευασίες. Ο αλγόριθμος του ήταν ωμής βίας, δηλαδή δοκίμαζε κάθε
πιθανό τετράεδρο για να δει αν είναι η περιγεγραμμένη σφαίρα του τετραέδρου αυτού είναι
κενή, χρησιμοποιώντας O(n5 ) χρόνο ή γενικότερα O(nd+2 ), όπου d είναι οι διαστάσεις της
Delaunay τριγωνοποίησης
Εκτός από αυτόν τον αλγόριθμο ωμής βίας και τον αλγόριθμο Περιστροφής, υπάρχουν και
άλλοι που θα αναφερθούν παρακάτω.
Αξίζει να σημειωθεί πως η κύρια διαφορά μεταξύ ενός αλγορίθμου τριγωνοποίησης Delaunay
και ενός σύγχρονου αλγορίθμου παραγωγής πλέγματος είναι ότι στον πρώτο δίνονται όλες
οι κορυφές από την αρχή, ενώ ο δεύτερος χρησιμοποιεί την τριγωνοποίηση για να αποφασί-
σει πού να τοποθετηθούν επιπλέον κορυφές, καθιστώντας υποχρεωτική τη διαδοχική εισα-
γωγή.

3.1 Έλεγχοι προσανατολισμού και ύπαρξης σημείου μέσα στον


περιγεγραμμένο κύκλο

Οι περισσότεροι γεωμετρικοί αλγόριθμοι εκτελούν ένα συνδυασμό συνδυαστικών και αριθ-


μητικών υπολογισμών. Οι αριθμητικοί υπολογισμοί συνήθως οργανώνονται ως γεωμετρικά
θεμελιακά στοιχεία δύο τύπων, ως γεωμετρικοί κατασκευαστές που δημιουργούν νέες οντό-
τητες, όπως το σημείο όπου τέμνονται δύο συγκεκριμένες γραμμές, και ως γεωμετρικά χαρα-
κτηριστικά που καθορίζουν τις σχέσεις μεταξύ των οντοτήτων, όπως για παράδειγμα το αν
δύο γραμμές διασταυρώνονται ή όχι. Πολλοί αλγόριθμοι Delaunay τριγωνοποιήσεων απαι-
τούν μόνο δύο χαρακτηριστικά στοιχεία, τα οποία ονομάζονται έλεγχοι προσανατολισμού
και ύπαρξης σημείου μέσα στον περιγεγραμμένο κύκλο.

3.1.1 Έλεγχος προσανατολισμού (Orientation)

Το πιο χρησιμοποιημένο χαρακτηριστικό στην υπολογιστική γεωμετρία είναι ο έλεγχος προ-


σανατολισμού. Έστω a,b,c τρία σημεία στο επίπεδο, εξετάζουμε το χαρακτηριστικό Orient2D(a,
b, c) που επιστρέφει:
40 Κεφάλαιο 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

3.1.2 Έλεγχος ύπαρξης σημείου μέσα στον περιγεγραμμένο κύκλο (Incircle)

Οι περισσότεροι επίπεδοι αλγόριθμοι Delaunay τριγωνοποίησης χρησιμοποιούν τον έλεγχο


ύπαρξης σημείου μέσα στον περιγεγραμμένο κύκλο. Έστω a,b,c τρία μη-συνευθειακά σημεία
στο επίπεδο που είναι διατεταγμένα αντίθετα ως προς την φορά των δεικτών του ρολογιού,
εξετάζουμε το χαρακτηριστικό που επιστρέφει:
i θετική τιμή αν το d βρίσκεται μέσα στον περιγεγραμμένο κύκλο του τριγώνου abc
ii μηδέν αν το d βρίσκεται επάνω στον περιγεγραμμένο κύκλο του τριγώνου abc
iii αρνητική τιμή αν το d βρίσκεται έξω στον περιγεγραμμένο κύκλο του τριγώνου abc
Ο έλεγχος ύπαρξης σημείου μέσα στον περιγεγραμμένο κύκλο μπορεί να υπολογισθεί ως το
πρόσημο της ορίζουσας των σημείων που δίνονται ως ομοιογενείς συντεταγμένες, δηλαδή
InCircle(a, b, c, d) = sign(det(A)), όπου:
 
ax ay a2x a2y 1
 bx by b2x b2y 1
A= 
 cx cy c2x c2y 1 ,
dx dy d2x d2y 1

3.2 Εισαγωγή μίας κορυφής σε μία Delaunay Τριγωνοποίηση

Ο 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.1: Αλγόριθμος Bowyer-Watson στο επίπεδο. Στα αριστερά βλέ-


πουμε μία Delaunay τριγωνοποίηση και μία κορυφή προς εισαγωγή. Στο κέ-
ντρο βλέπουμε κάθε τρίγωνο των οποίων ο περιγεγραμμένος κύκλος περι-
κλείει την νέα κορυφή. Αυτά τα τρίγωνα δεν είναι πλέον Delaunay. Στα δεξιά
βλέπουμε ότι τα σκιασμένα τρίγωνα εξαφανίζονται και αντικαθιστώνται από
τρίγωνα που συνδέουν την νέα κορυφή με τις ακμές της κοιλότητας.

Το πρώτο βήμα ονομάζεται εντοπισμός σημείου. Οι περισσότεροι αλγόριθμοι παραγωγής


Delaunay πλέγματος δημιουργούν νέες κορυφές μέσα στους περιγεγραμμένους κύκλους των
κακά σχηματισμένων ή των πολύ μεγάλων τριγώνων, οπότε ο εντοπισμός του σημείου δεν
έχει κόστος. Ωστόσο, ο εντοπισμός του σημείου δεν είναι δωρεάν για τις κορυφές του τομέα
που παρέχονται ως είσοδος στον παραγωγό πλέγματος. Ο εντοπισμός αυτών των σημείων
στην τριγωνοποίηση μερικές φορές είναι το πιο δαπανηρό και περίπλοκο μέρος του αλγόριθ-
μου Διαδοχικής Εισαγωγής. Η Διαδοχική Εισαγωγή είναι πραγματικά μια κλάση αλγορίθ-
μων Delaunay τριγωνοποιήσεων, διαφοροποιημένη από τις μεθόδους εντοπισμού σημείου.
Οι Clarkson και Shor [18] περιγράφουν μια μέθοδο εντοπισμού σημείου που βοηθά έναν
τυχαίο αλγόριθμο διαδοχικής εισαγωγής να κατασκευάσει την Delaunay τριγωνοποίηση n
κορυφών σε χρόνο O(n log n).
Το Σχήμα 3.2 παρουσιάζει έναν ψευδοκώδικα για την εισαγωγή κορυφής, παραλείποντας το
βήμα του εντοπισμού του σημείου. Παρεμβάλλει το δεύτερο, το τρίτο και το τέταρτο βήμα
του αλγορίθμου Bowyer-Watson, αντί να τα εκτελεί σε σειρά, επιτυγχάνοντας έτσι την απλό-
τητα και την ταχύτητα, αν και αποκρύπτει τις λειτουργίες του αλγορίθμου.
Τα παρακάτω τρία αποτελέσματα δείχνουν την ορθότητα του αλγορίθμου Bowyer-Watson, αν
ένας σωστός αλγόριθμος εντοπισμού σημείου είναι διαθέσιμος. Το πρώτο αποτέλεσμα δείχνει
ότι τα διαγραμμένα τρίγωνα, δηλαδή αυτά που δεν είναι πλέον Delaunay, περιλαμβάνουν ένα
star-σχηματισμένο πολύγωνο. Αυτό το γεγονός εγγυάται ότι μια DFS (το δεύτερο βήμα του
Bowyer-Watson αλγορίθμου) θα βρει όλα τα τρίγωνα που δεν είναι πλέον Delaunay, και ότι
το τρίτο και το τέταρτο βήματα του Bowyer-Watson δίνουν ένα simplicial σύμπλεγμα.
Λήμμα 18. Η ένωση των τριγώνων, των οποίων οι περιγεγραμμένοι κύκλοι περικλείουν το
v, είναι ένα star-σχηματισμένο συνδεδεμένο πολύγωνο, που σημαίνει ότι για κάθε σημείο p
στο πολύγωνο, το πολύγωνο περιλαμβάνει το ευθύγραμμο τμήμα pv.
42 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2

Σχήμα 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 ισχυρό.

Σχήμα 3.3: Επειδή το τ ήταν Delaunay πριν εισαχθεί η v, το vw είναι


Delaunay ισχυρό.

Θεώρημα 20. Μια τριγωνοποίηση, η οποία παράγεται εφαρμόζοντας τον αλγόριθμο Bowyer-
Watson σε μία Delaunay τριγωνοποίηση, είναι Delaunay.
3.3. Εισαγωγή μίας κορυφής στο εξωτερικό μιας Delaunay Τριγωνοποίησης 43

Απόδειξη: Από το λήμμα 18 προκύπτει ότι η ενημέρωση παράγει μία τριγωνοποίηση του συ-
νόλου σημείων που έχει αυξηθεί με το νέο σημείο. Όλα τα παλιά τρίγωνα που σώζονται είναι
Delaunay. διαφορετικά θα είχαν διαγραφεί. Συνεπώς οι ακμές τους είναι επίσης Delaunay.
Από το λήμμα 19, όλες οι νέες ακμές είναι ακμές Delaunay. Από το Delaunay λήμμα, η νέα
τριγωνοποίηση είναι Delaunay.

3.3 Εισαγωγή μίας κορυφής στο εξωτερικό μιας Delaunay Τρι-


γωνοποίησης

Ο αλγόριθμος Bowyer-Watson λειτουργεί μόνο αν η νεοεισαχθείσα κορυφή βρίσκεται στο


εσωτερικό της τριγωνοποίησης. Ωστόσο, υπάρχει ένας κομψός τρόπος για να αναπαραστα-
θεί μία τριγωνοποίηση, έτσι ώστε ο αλγόριθμος, με σχεδόν καμία αλλαγή, να μπορεί να εισά-
γει μια κορυφή έξω από την τριγωνοποίηση εξίσου καλά. Φανταστείτε ότι κάθε ακμή στην
περιφέρεια της τριγωνοποίησης παραπέμπει σε ένα τρίγωνο φάντασμα, όπως απεικονίζεται
στο Σχήμα 3.4. Η τρίτη κορυφή κάθε τριγώνου φάντασμα είναι η κορυφή φάντασμα, μια κο-
ρυφή ”στο άπειρο” που μοιράζεται από κάθε τρίγωνο φάντασμα. Κάθε τρίγωνο φάντασμα
έχει δύο ακμές φάντασμα που γειτνιάζουν με την κορυφή φάντασμα. Ένα τρίγωνο που δεν
είναι φάντασμα ονομάζεται ένα συμπαγές τρίγωνο.

Σχήμα 3.4: Εισαγωγή μίας κορυφής στο εξωτερικό της τριγωνοποίησης. Ο


ανοιχτός κύκλος είναι η κορυφή φάντασμα. Το κυκλικό τόξο δείχνει δύο ακ-
μές φάντασμα που είναι πραγματικά η ίδια ακμή. Τα τρία τρίγωνα φάντασμα
και τα τρία συμπαγή τρίγωνα (σκιασμένα) διαγράφονται και αντικαθίστανται
με δύο νέα τρίγωνα φάντασμα και έξι νέα συμπαγή τρίγωνα.

Τα τρίγωνα φάντασμα αποθηκεύονται ρητά στη δομή δεδομένων της τριγωνοποίησης. Δεν
είναι μόνο διακοσμητικά, καθιστούν δυνατό για τον αλγόριθμο 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%) από την υλοποίηση τριγώνου φάντασμα. Άλλη μία λύση
είναι να γεμίζουμε τις διαβολές με τον αλγόριθμο εισαγωγής τμήματος, που περιγράφεται σε
παρακάτω ενότητα.

Σχήμα 3.6: Περικλείοντας τις κορυφές σε ένα μεγάλο τριγωνικά οριοθετη-


μένο πλαίσιο.
3.4. Χρόνος εκτέλεσης εισαγωγής μιας κορυφής 45

3.4 Χρόνος εκτέλεσης εισαγωγής μιας κορυφής

Πόσο ακριβή είναι η εισαγωγή μίας κορυφής, εξαιρώντας τον εντοπισμού του σημείου; Σε
αυτήν τη ενότητα εξετάζουμε δύο περιπτώσεις: τη χειρότερη περίπτωση και την αναμενόμενη
περίπτωση όταν οι κορυφές εισάγονται με τυχαία σειρά. Η τελευταία περίπτωση είναι ένα
μέρος ενός αλγόριθμου διαδοχικής εισαγωγής που υπολογίζει την 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

3.5 Εισαγωγή μίας κορυφής σε μία Περιορισμένη Delaunay Τρι-


γωνοποίηση

Για να ”εισάγουμε μια κορυφή σε μία ΠDΤ” πρέπει να πάρουμε σαν είσοδο την ΠDΤ κάποιου
ΤΓΣ X και μια νέα κορυφή v για να εισάγουμε, και παράγουμε την ΠDΤ του X ∪ {v}. Μια
υλοποίηση μπορεί επίσης να υποστηρίξει την εισαγωγή μιας κορυφής v σε ένα ευθύγραμμο
τμήμα s ∈ X, οπότε ο αλγόριθμος υποδιαιρεί το s σε δύο υποτμήματα s1 και s2 που έχουν
την κορυφή v, και παράγει την ΠDΤ του X ∪ {v, s1, s2} {s}.

Σχήμα 3.8: Εισαγωγή ή διαγραφή μιας κορυφής v σε μία ΠDΤ. Οι έντονες


ακμές είναι ευθύγραμμα τμήματα. Το σκιασμένο πολύγωνο είναι η ένωση
των διαγραμμένων.δημιουργημένων τριγώνων. Τα simplices που δεν δια-
σταυρώνονται στο εσωτερικό του σκιασμένου πολυγώνου είναι Delaunay
περιορισμένα και πριν αλλά και μετά. Όταν εισάγεται η v, η DFS προσδιο-
ρίζει τα διαγραμμένα τρίγωνα. Παρατηρούμε ότι παρόλο που το v βρίσκεται
μέσα στον περιγεγραμμένο κύκλο του τ, η εισαγωγή του v δεν διαγράφει το
τ επειδή το G δεν συνδέει το τ με κανένα διαγραμμένο τρίγωνο.

Με μια μικρή αλλαγή, ο αλγόριθμος Bowyer-Watson μπορεί να εισάγει μια κορυφή v σε μία
ΠDΤ, όπως απεικονίζεται στο Σχήμα 3.8. Η αλλαγή, φυσικά, είναι ότι ο αλγόριθμος δια-
γράφει τα τρίγωνα που δεν είναι πλέον περιορισμένα Delaunay. Ευτυχώς, είναι δυνατόν να
απαριθμήσουμε αυτά τα τρίγωνα χωρίς να πραγματοποιήσουμε ακριβούς ελέγχους ορατότη-
τας. Για να το πετύχουμε αυτό, το πρώτο βήμα, που είναι ο εντοπισμός σημείου, βρίσκει το
τρίγωνο που περιέχει την v. Μπορεί να υπάρχουν δύο τέτοια τρίγωνα, αν η v βρίσκεται σε
μία ακμή της τριγωνοποίησης. Το δεύτερο βήμα, στο οποίο η DFS αναγνωρίζει τα τρίγωνα
που δεν είναι πλέον περιορισμένα Delaunay, είναι να μην ”περπατήσει” ποτέ σε ένα ευθύ-
γραμμο τμήμα. Όπως δείχνει το Σχήμα 3.8, ο περιορισμός αυτός αρκεί για να διασφαλιστεί
ότι θα διαγραφούν μόνο τρίγωνα των οποίων το εσωτερικό θα είναι ορατό από τη v. Αν η v
βρίσκεται σε ένα ευθύγραμμο τμήμα στο Χ, οι DFS πρέπει να εκτελούνται και από τα δύο
γειτονικά τρίγωνα. Το τρίτο και το τέταρτο βήμα του αλγορίθμου Bowyer-Watson δεν αλ-
λάζουν. Επεκτείνοντας τις αποδείξεις στην ενότητα 3.2, μπορεί κανείς να δείξει ότι η DFS
βρίσκει όλα τα τρίγωνα που δεν είναι πλέον περιορισμένα Delaunay, ότι η κοιλότητα είναι
πάντα σε σχήμα star, και ο αλγόριθμος λειτουργεί σωστά.

3.6 Το βήμα Περιτυλίγματος Δώρου (Gift-Wrapping)

Οι αλγόριθμοι Περιτύλιξης Δώρου βασίζονται σε μια απλή διαδικασία που κατασκευάζει ένα
τρίγωνο που γειτνιάζει με μία συγκεκριμένη ακμή. Έστω e = uw μια προσανατολισμένη ακμή.
Το μπροστινό μέρος της e είναι το ανοικτό ημιεπίπεδο στα αριστερά του uw,
⃗ και ένα θετικό
προσανατολισμένο τρίγωνο △uwv λέμε ότι είναι μπροστά από το e. Το πίσω μέρος του e
48 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2

είναι το ανοικτό ημιεπίπεδο στα δεξιά του uw,


⃗ και ένα θετικά προσανατολισμένο τρίγωνο
△wuv λέμε ότι βρίσκεται πίσω από την e.
Κατά την εκτέλεση ενός αλγόριθμου περιτύλιξης δώρου, μια προσανατολισμένη ακμή που
κατασκευάζεται από τον αλγόριθμο λέμε ότι είναι μη-ολοκληρωμένη, αν ο αλγόριθμος δεν
έχει ακόμη προσδιορίσει το τρίγωνο μπροστά από την ακμή. Ένα βήμα περιτύλιξης δώρου
ολοκληρώνει την ακμή κατασκευάζοντας το τρίγωνο αυτό, ή καθορίζοντας ότι δεν υπάρχει
τέτοιο τρίγωνο επειδή η ακμή βρίσκεται στην περιφέρεια του τομέα.
Μια ακμή e έχει έναν άπειρο αριθμό περιγεγραμμένων κύκλων, κάθε ένας από τους οποί-
ους μπορεί να παραμορφώνεται συνεχώς σε οποιοδήποτε άλλο, έτσι ώστε κάθε ενδιάμεσος
κύκλος να είναι επίσης περιγεγραμμένος κύκλος της e. Φανταστείτε να ξεκινάτε με έναν
περιγεγραμμένο κύκλο που δεν περικλείει καμία κορυφή μπροστά από την e, τότε παραμορ-
φώνεται, έτσι ώστε να επεκτείνεται μπροστά από την e και να συρρικνώνεται πίσω από την
e, παραμένοντας πάντα περιγεγραμμένος κύκλος της e, όπως απεικονίζεται στο Σχήμα 3.9.
Καθώς ο περιγεγραμμένος κύκλος παραμορφώνεται, το κέντρο του βρίσκεται πάντα στην
μεσοκάθετο της e.

Σχήμα 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

Σχήμα 3.10: Αλγόριθμος περιτύλιξης μίας περιορισμένης Delaunay ακμής,


για μια κανονική Delaunay Τριγωνοποίηση παραλείπουμε τη γραμμή 5.

Λήμμα 22. Εάν η ακμή e είναι περιορισμένη Delaunay ή ένα ευθύγραμμο τμήμα, ο αλγόριθ-
μος ολοκλήρωσης (Finish) επιστρέφει ένα περιορισμένο Delaunay τρίγωνο τ.
Απόδειξη. Υπάρχει μια συνολική σειρά του συνόλου όλων των περιγεγραμμένων κύκλων
της e έτσι ώστε, αν ένας περιγεγραμμένος κύκλους προηγείται ενός άλλου, ο προηγούμενος
περιγεγραμμένος κύκλος περικλείει το τμήμα του επόμενου μπροστά από την e. Είναι εύκολο
να δούμε ότι μεταξύ των κορυφών στο V που βρίσκονται μπροστά από την e και είναι ορατές
από το σχετικό εσωτερικό της e, οι Γραμμές 3-6 επιλέγουν την κορυφή v έτσι ώστε το =
conv(e ∪ v) να έχει τον τελευταίο περιγεγραμμένο κύκλο σε αυτήν την σειρά. Ως εκ τούτου,
ο περιγεγραμμένος κύκλος του τ δεν περιβάλλει καμία κορυφή που βρίσκεται μπροστά από
την ε και είναι ορατή από το σχετικό εσωτερικό της e.
Αν η e είναι ένα ευθύγραμμο τμήμα, τότε καμία κορυφή που βρίσκεται πίσω από την e και
μέσα στον περιγεγραμμένο κύκλο του τ δεν είναι ορατή από το εσωτερικό του τ, οπότε το τ
είναι περιορισμένο Delaunay.
Αν η e είναι περιορισμένη Delaunay, έχει περιγεγραμμένο κύκλο που δεν περικλείει καμία
κορυφή ορατή από το σχετικό εσωτερικό του ε. Αυτός ο περιγεγραμμένος κύκλος δεν περι-
κλείει την v, οπότε πρέπει να περικλείει κάθε σημείο επάνω ή πίσω από τον περιγεγραμμένο
κύκλο του τ. Από αυτό προκύπτει ότι ο περίκλειστος τ δεν περιβάλλει καμία κορυφή ορατή
από το εσωτερικό του τ, οπότε τ είναι περιορισμένος Delaunay.

3.7 Ο αλγόριθμος Περιτύλιξης Δώρου (Gift Wrapping Algorithm)

Αυτή η ενότητα περιγράφει έναν βασικό αλγόριθμο περιτύλιξης δώρου για την κατασκευή
των Delaunay τριγωνοποιήσεων και των ΠDΤ. Αξίζει να σημειωθεί ότι εάν το ΤΓΣ εισό-
δου ή το σύνολο σημείων εισόδου έχει τέσσερις συν-περιφερειακές κορυφές, ο αλγόριθμος
μπορεί να πάρει αποφάσεις που είναι αμοιβαία ασυνεπείς και δεν καταφέρνουν να κατα-
σκευάσουν μία έγκυρη τριγωνοποίηση. Το Σχήμα 3.11 απεικονίζει ένα απλό, μη περιορισμένο
παράδειγμα, όπου η Delaunay περιτύλιξη δώρου αποτυγχάνει. Η περιτύλιξη δώρου μπορεί
να τροποποιηθεί, ώστε να χειρίζεται αυτές τις εισόδους, είτε διαταράσσοντας συμβολικά τα
βάρη των κορυφών, είτε αναγνωρίζοντας τις ομάδες των συν-περιφερειακών κορυφών που
μπορούν να δουν ο ένας τον άλλον και να τριγωνοποιηθούν όλες μαζί.
50 Κεφάλαιο 3. Αλγόριθμοι Delaunay Tριγωνοποίησης στο R2

Σχήμα 3.11: Αλγόριθμος περιτύλιξης μίας περιορισμένης Delaunay ακμής,


για μια κανονική Delaunay Τριγωνοποίηση παραλείπουμε τη γραμμή 5.

Ο αλγόριθμος περιτύλιξης δώρου ξεκινά με τα ευθύγραμμα τμήματα του ΤΓΣ, επί των οποίων
τα περιορισμένα Delaunay τρίγωνα κρυσταλλώνονται ένα προς ένα. Ο πυρήνας του αλγο-
ρίθμου είναι μία επανάληψη που επιλέγει μια μη-ολοκληρωμένη ακμή και την ολοκληρώνει
κάνοντας χρήση της διαδικασίας ολοκλήρωσης (Finish) όπως απεικονίζεται στο Σχήμα 3.10.
Συχνά, το νέο τρίγωνο ολοκληρώνει περισσότερες από μία μη-ολοκληρωμένες ακμές. Για
να ανιχνεύσει αυτή την περίπτωση, ο αλγόριθμος διατηρεί τις μη-ολοκληρωμένες ακμές σε
ένα λεξικό (π.χ. Hash-Table), ώστε να μπορούν να αναζητηθούν γρήγορα από τους δείκτες
των κορυφών τους. Ο ψευδοκώδικας για τον αλγόριθμο περιτύλιξης δώρου εμφανίζεται στο
Σχήμα 3.12.

Σχήμα 3.12: Αλγόριθμος περιτύλιξης δώρου για κατασκευή ΠDΤ.

Ο αλγόριθμος μπορεί επίσης να κατασκευάσει Delaunay τριγωνοποιήσεις, αλλά ο ψευδοκω-


δικός υποθέτει ότι το Χ περιέχει τουλάχιστον ένα ευθύγραμμο τμήμα που μπορεί να χρησι-
μεύσει ως ”σπόρος” πάνω στο οποίο θα κατασκευαστεί η τριγωνοποίηση. Όταν δεν υπάρχουν
ευθύγραμμα τμήματα, ”σπέρνουμε” τον αλγόριθμο κατασκευάζοντας μία Delaunay ισχυρή
ακμή - μια αυθαίρετη κορυφή και ο κοντινότερος της γείτονας αρκούν- και θα την εισάγουμε
δύο φορές, και με τους δύο προσανατολισμούς στο λεξικό.
Ο αλγόριθμος χρειάζεται O(n2 ) χρόνο για μία Delaunay τριγωνοποίηση ή O(n2 m) χρόνο για
μία ΠDΤ, όπου n = |V | είναι ο αριθμός των κορυφών και m = |K| είναι ο αριθμός των ευ-
θύγραμμων τμημάτων. Αυτές δεν είναι ιδιαίτερα εντυπωσιακές ταχύτητες όταν συγκρίνεται
3.8. Εισαγωγή Ευθύγραμμου Τμήματος σε μία Περιορισμένη Delaunay Τριγωνοποίηση 51

με τους αλγόριθμους ”διαδοχικής εισαγωγής” ή ”διαίρει και βασίλευε”. Ωστόσο, ο αλγόριθ-


μος περιτύλιξης δώρου είναι εύκολο να υλοποιηθεί και αρκετά γρήγορος για μικρές εργασίες,
όπως η εκ νέου τριγωνοποίηση της κοιλότητας που εκκενώνεται όταν μία κορυφή διαγράφε-
ται ή ένα ευθύγραμμο τμήμα εισάγεται σε μία τριγωνοποίηση. Επιπλέον, υπάρχουν διάφοροι
τρόποι να επιταχυνθεί αυτός ο αλγόριθμος ώστε να τον καταστήσουμε πιο πρακτικό.
Μια εξειδικευμένη κλάση των αλγόριθμων περιτύλιξης δώρων είναι αλγόριθμοι σάρωσης,
που κατασκευάζουν τα τρίγωνα με ”πειθαρχημένη” σειρά, επιτρέποντας να προσδιοριστεί
ποια κορυφή ολοκληρώνει κάθε ακμή χωρίς εξαντλητικό ψάξιμο. Ο Fortune [27] ανέπτυξε
έναν τέτοιο αλγόριθμο για Delaunay τριγωνοποιήσεις. Ο Seidel [58] το επέκτεινε σε ΠDΤ.
Και οι δύο αλγόριθμοι τρέχουν σε χρόνο O(nlogn).
Ένας άλλος τρόπος να αποφευχθεί η εξαντλητική αναζήτηση είναι να υποδιαιρέσουμε το
επίπεδο σε τετράγωνες περιοχές, να καταγράψουμε τις κορυφές που αντιστοιχούν σε κάθε
περιοχή τους και να ολοκληρώσουμε κάθε ακμή αναζητώντας μέσα στις περιοχές με κατάλ-
ληλη σειρά. Ο Dwyer [24] δείχνει ότι αν οι κορυφές κατανέμονται ομοιόμορφα τυχαία σε
ένα δίσκο, αυτή η τεχνική ολοκληρώνει κάθε όψη σε O(1) αναμενόμενο χρόνο, έτσι ώστε
να μπορεί να κατασκευαστεί μία ολόκληρη Delaunay τριγωνοποίηση σε O(n) αναμενόμενο
χρόνο. Δυστυχώς, αυτή η μέθοδος δεν επεκτείνεται εύκολα στις ΠDΤ και δεν είναι όλα τα
σύνολα σημείων πραγματικού κόσμου ωραία διανεμημένα. Είναι εύκολο να κατασκευαστεί
ένα σύνολο σημείων για το οποίο τα περισσότερα σημεία πέφτουν σε μία περιοχή.

3.8 Εισαγωγή Ευθύγραμμου Τμήματος σε μία Περιορισμένη Delaunay


Τριγωνοποίηση

Για να εισάγουμε ένα ευθύγραμμο τμήμα σε μία Π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 (αν είναι μη-ολοκληρωμένες).

Σχήμα 3.13: Περιτύλιξη ενός τριγώνου από ένα νέο-εισαχθέν ευθύγραμμο


τμήμα.

Ο χρόνος λειτουργίας του πρώτου βήματος περιτύλιξης δώρου είναι ανάλογος ως προς τον
αριθμό m των κορυφών του P. Εάν είμαστε τυχεροί, θα χωρίσει το P σε δύο πολύγωνα πε-
ρίπου του μισού μεγέθους, και οι αναδρομικές κλήσεις θα απολαύσουν επίσης ισορροπη-
μένα χωρίσματα, οπότε ο χρόνος που απαιτείται για να τριγωνοποιήσουμε το P θα είναι σε
O(mlogm). Στη χειρότερη περίπτωση, το κάθε βήμα περιτύλιξης δώρου μπορεί απλά να
αφαιρέσει ένα τρίγωνο από το Ρ χωρίς να υποδιαιρέσει το Ρ σε μικρότερα πολύγωνα, και θα
χρειαστεί Θ(m2 ) χρόνο για να τριγωνοποιηθεί το P. Στην πράξη, αν το m είναι μεγάλο, το P
είναι πιθανώς μακρύ και λεπτό και θα το απολαύσει καλά ισορροπημένες επαναλαμβανόμε-
νες κλήσεις.

3.9 Εντοπισμός Σημείου

Ο εντοπισμός του σημείου είναι το ένα πολύ σημαντικό γεγονός όσον αφορά το χρόνο εκτέ-
λεσης. Σε σε αυτή την ενότητα, θα δώσουμε ένα πολύ απλό σχέδιο για τον εντοπισμό ενός
σημείου. Ωστόσο, η χειρότερη περίπτωση χρόνου εκτέλεσης του αλγορίθμου είναι O(n) για
τον εντοπισμό ενός σημείου.
Ευθύς Περίπατος (Straight Walk). Ένα απλό σχέδιο για τον εντοπισμό ενός σημείου είναι
ο ”Ευθύς Περίπατος”. Συγκεκριμένα, ο αλγόριθμος ξεκινά από ένα αυθαίρετο τρίγωνο τ που
ανήκει σε μία Delaunay τριγωνοποίηση Τ, και ψάχνει το τρίγωνο τ που περιέχει το σημείο pi
περπατώντας κατά μήκος της ακτίνας και ξεκινώντας από ένα εσωτερικό σημείο του τ προς
το pi με κόστος O(n).
Χρόνος εκτέλεσης Ευθύ Περιπάτου. Υποθέτουμε ότι επισκεπτόμαστε κάθε τρίγωνο μόνο
μία φορά. Στη συνέχεια, κάθε εντοπισμός σημείου θα επισκεφθεί το πολύ τον αριθμό των
τρίγωνων της τριγωνοποίησης που είναι λιγότερα από 2n. Κάποιος μπορεί να δείξει ότι αυτό
είναι εφικτό από την τριγωνοποίηση που φαίνεται δεξιά στο Σχήμα 3.14. Ως εκ τούτου, ο
εντοπισμός n σημείων με αυτόν τον αλγόριθμο μπορεί να χρειαστεί O(n2 ) χρόνο, που είναι
αρκετά αργό.
3.9. Εντοπισμός Σημείου 53

Σχήμα 3.14: Εντοπισμός Σημείου με Ευθύ Περίπατο.


55

Κεφάλαιο 4

Αλγόριθμος Delaunay
Ραφιναρίσματος για Παραγωγή
Πλέγματος στο R2

Στα προηγούμενα κεφάλαια αναλύσαμε τι είναι η Delaunay Τριγωνοποίηση (περιορισμένη


ή μη) και το πως εισάγουμε σημεία ή ευθύγραμμα τμήματα σε αυτήν, Έχοντας πλέον αυτή
τη γνώση, πλέον είμαστε σε θέση να ορίσουμε το πρόβλημα της δισδιάστατης παραγωγής
πλέγματος εισάγοντας την τεχνική ”Delaunay Ραφινάρισμα”.

4.1 Το πρόβλημα της Παραγωγής Πλέγματος

Το πρόβλημα αυτό έχει συγκεκριμένη είσοδο αλλά και απαιτήσεις. Το αντικείμενο εισόδου
είναι ένας πολυγωνικός τομέας δύο διαστάσεων, ο στόχος είναι να επιτευχθεί μια διακριτο-
ποίηση αυτού του τομέα με τριγωνικό πλέγμα. Επιπλέον, είναι επιθυμητό το σχήμα των τρι-
γώνων να είναι ”καλό” και ο συνολικός αριθμός των τρίγωνων να μην είναι μεγάλος.

4.1.1 Επίπεδος Γράφος Ευθειών Γραμμών (Planar Straight Line Graph)

Θεωρούμε ως είσοδο ένα πεπερασμένο σύνολο σημείων V ⊂ R2 και ένα πεπερασμένο σύ-
νολο ευθύγραμμων τμημάτων Ε, καθένα εκ των οποίων συνδέει δύο σημεία του E. Απαι-
τούμε ότι δύο οποιοδήποτε ευθύγραμμα τμήματα είναι ανεξάρτητα ή συναντιόνται σε το πολύ
ένα σημείο. Ο γράφος G = (V, E) είναι ένας Επίπεδος Γράφος Ευθειών Γραμμών (ΕΓΕΓ),
όπως απεικονίζεται στα αριστερά στο Σχήμα 4.1.

Σχήμα 4.1: Αριστερά βλέπουμε ένα σύνολο κορυφών και ευθύγραμμων τμη-
μάτων, και δεξιά μια περιορισμένη Τριγωνοποίηση.
56 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2

4.1.2 Ορισμός του προβλήματος

Ξεκινάμε με τους ορισμούς των εισόδων και των εξόδων. Η είσοδος Ω είναι μια πολυγωνική
περιοχή στο επίπεδο, πιθανόν με οπές και με περιορισμένες ακμές και κορυφές μέσα στον το-
μέα. Η περιφέρεια ∂Ω είναι ένα σύνολο κορυφών και ακμών που διαχωρίζουν, το εσωτερικό
της Ω από το εξωτερικό της. Η ∂Ω είναι ένα ΕΓΕΓ. Ένα παράδειγμα απεικονίζεται αριστερά
στο. Σχήμα 4.2.
Ο γενικός στόχος της παραγωγής πλέγματος είναι να αποσυντεθεί ένας τομέας πλέγματος που
περιορίζεται από έναν ΕΓΕΓ. Τα στοιχεία είναι περιορισμένα σε τύπο και σχήμα, ο αριθμός
των στοιχείων πρέπει να μην είναι πολύ μεγάλος. Η έξοδος του προβλήματός μας είναι ένα
τριγωνικό πλέγμα με τις ακόλουθες ιδιότητες:
1. Συμμόρφωση: Η έξοδος συλλογικά σχηματίζει ένα simplicial σύμπλεγμα Τ του οποίου
ο υποκείμενος χώρος είναι ίσος με τον δεδομένο πολυγωνικό τομέα. Αυτό σημαίνει,
για κάθε ευθύγραμμο τμήμα e ∈ ∂Ω , το Ε είναι η ένωση των ακμών του Τ. Άρα λέμε
πως το Τ είναι ένα πλέγμα του Ω.
2. Ποιότητα: Υπάρχουν λίγα ή κανένα «κακής ποιότητας» τρίγωνα στο Τ. Αυτό σημαί-
νει, τα περισσότερα τρίγωνα είναι καλά σε σχέση με ορισμένες μετρικές ποιότητας
τριγώνων.
3. Πληθάριθμος: Είναι απαραίτητο για το Τ να συμπεριλάβει επιπλέον σημεία, που ονο-
μάζονται Steiner σημεία, δηλαδή, κορυφές του πλέγματος που δεν είναι κορυφές του
ΕΓΕΓ εισόδου, επειδή είναι απαραίτητα για την επίτευξη της καλής μορφής των στοι-
χείων. Θέλουμε να προσθέσουμε λίγα Steiner σημεία, δηλ. ο αριθμός των τριγώνων να
είναι μικρός.

Σχήμα 4.2: Αριστερά βλέπουμε μια είσοδο ενός τομέα πλέγματος, και δεξιά
μία τριγωνοποίηση του πλέγματος εισόδου.

Αξίζει να σημειωθεί ότι η απαίτηση της ύπαρξης καλοσχηματισμένων στοιχείων και ενός
μικρού αριθμού στοιχείων είναι αντιφατικές μεταξύ τους. Ένα πλέγμα που ικανοποιεί ένα
συγκεκριμένο σχηματικό όριο λέμε ότι είναι βέλτιστο ως προς το μέγεθος, εάν ο αριθμός
των τριγώνων είναι εντός ενός σταθερού παράγοντα, ο οποίος ορίζει τον ελάχιστο δυνατό
αριθμό τριγώνων σε κάθε τριγωνοποίηση της δεδομένης εισόδου που πληροί το ίδιο σχημα-
τικό όριο.
Για τον σκοπό αυτό έχουν αναπτυχθεί διάφορες προσεγγίσεις. Οι περισσότερες από αυτές
λειτουργούν καλά στην πράξη, αλλά δεν συνοδεύονται από εγγύηση ποιότητας και μεγέθους
όσον αφορά το παραγόμενο πλέγμα.
Θα κάνουμε επίδειξη της χρήση των ΠDΤ για την κατασκευή τέτοιων πλεγμάτων. Για να
λυθεί αυτό το βασικό πρόβλημα θα εισάγουμε την τεχνική ”Delaunay Ραφινάρισμα”.
4.2. Περιγραφή του Αλγορίθμου 57

4.2 Περιγραφή του Αλγορίθμου

Αυτή η ενότητα παρουσιάζει μια προσέγγιση διαδοχικής εισαγωγής κορυφών, η οποία βα-
σίζεται σε μια κλασσική προσέγγιση του Delaunay Ραφιναρίσματος που προτάθηκε από τον
Chew [14] και Ruppert [54]. Η ιδέα είναι να προσθέσουμε νέες κορυφές, μέχρι η τριγωνο-
ποίηση να σχηματίσει ένα ικανοποιητικό πλέγμα. Χρησιμοποιεί πολλές ωραίες γεωμετρικές
ιδιότητες της Delaunay τριγωνοποίησης.
Δεδομένης ενός δισδιάστατου πολυγωνικού τομέα, κατασκευάζουμε μία ΠDΤ της ∂Ω. Στη
συνέχεια, προσθέτουμε κορυφές μία προς μία για να βελτιώσουμε την ποιότητα του πλέγ-
ματος. Θεωρούμε ένα τρίγωνο κοκαλιάρικο εάν έχει μια ελάχιστη γωνία μικρότερη από ένα
δεδομένο όριο, το οποίο μπορεί να είναι μια παράμετρος που παρέχεται από τους χρήστες.
Έστω ένα τρίγωνο abc στην τρέχουσα ΠDΤ είναι κοκαλιάρικο. Προσθέτουμε ένα νέο σημείο
που είναι το περίκεντρο του abc σε αυτήν την ΠDΤ, όπως απεικονίζεται στο Σχήμα 4.3. Δε-
δομένου ότι ο περιγεγραμμένος κύκλος του abc δεν είναι πλέον κενός, το τρίγωνο abc είναι
εγγυημένο ότι θα αφαιρεθεί χάρη σε μία περιστροφή ακμής που θα γίνει, ώστε να επισκευά-
σουμε την περιορισμένη Delaunay τριγωνοποίηση.

Σχήμα 4.3: Σπάσιμο ενός κακής ποιότητας τριγώνου προσθέτοντας το περί-


κεντρό του.

Είναι πιθανό ότι ένας περιγεγραμμένος κύκλος ενός κοκαλιάρικου τριγώνου μπορεί να βρί-
σκεται έξω από τον τομέα. Αυτό μπορεί να συμβεί αφού ένα κοκαλιάρικο τρίγωνο κοντά στο
όριο θα μπορούσε να έχει ένα αυθαίρετα μεγάλο κενό περιγεγραμμένο κύκλο. Ένας απλός
τρόπος για να διορθώσουμε αυτό το πρόβλημα βασίζεται στο ακόλουθο γεγονός. Ενθυμού-
μενοι ότι μία ακμή μπορεί να έχει αυθαίρετα πολλούς περιγεγραμμένους κύκλους, εξ αυτών,
ο μικρότερος είναι ο διαμετρικός περιγεγραμμένος κύκλος. Λέμε ότι η ακμή είναι ο Gabriel
αν ο διαμετρικός περιγεγραμμένος κύκλος είναι άδειος.

Σχήμα 4.4: Διαχωρίζουμε ένα ευθύγραμμο τμήμα της περιφέρειας, αν ο δια-


μετρικός του κύκλος δεν είναι κενός.
58 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2

Λήμμα 23. Αν όλα τα ευθύγραμμα τμήματα της ∂Ω ικανοποιούν την Gabriel ιδιότητα, τότε
κανένα περίκεντρο των τριγώνων μίας ΠDΤ της ∂Ω δεν βρίσκεται εκτός της ∂Ω.
Αλγόριθμος. Μετά τη δημιουργία μίας ΠDΤ του εισαγόμενου ΕΓΕΓ ∂Ω, χρησιμοποιούμε
δύο κανόνες για να προσθέσουμε νέες κορυφές σε αυτήν την ΠDΤ, μέχρις ότου να μην μπο-
ρούμε να προσθέσουμε καμία νέα κορυφή.
1. Ο πρώτος κανόνας είναι να διασφαλιστεί ότι δεν υπάρχει κανένα ευθύγραμμο τμήμα
της περιφέρειας που θα επιτρέψει ένα περίκεντρο ενός κοκαλιάρικου τρίγωνου να βρί-
σκεται έξω από τον τομέα. Λέμε ότι μία κορυφή παραβιάζει ένα ευθύγραμμο τμήμα
εάν βρίσκεται εντός του διαμετρικού της περιγεγραμμένου κύκλου. Αν ένα ευθύγραμμο
τμήμα είναι παραβιασμένο, το χωρίζουμε προσθέτοντας το μεσαίο του σημείο, όπως
απεικονίζεται στο Σχήμα 4.4.
2. Ο δεύτερος κανόνας είναι να βελτιωθεί η ποιότητα του πλέγματος με την αφαίρεση των
κοκαλιάρικων τριγώνων. Αν ένα τρίγωνο είναι κοκαλιάρικο, προσθέτουμε το περίκε-
ντρο του c. Ωστόσο, αν το c παραβιάζει μερικά ευθύγραμμα τμήματα της περιφέρειας,
δεν το προσθέτουμε το c, και χωρίζουμε ένα από τα παραβιασμένα ευθύγραμμα τμή-
ματα αντί αυτού.
Ακολούθως παρουσιάζεται ο αλγόριθμος του Ruppert [54], όπως απεικονίζεται στο Σχήμα 4.5:

Σχήμα 4.5: Ο αλγόριθμος Delaunay Ραφιναρίσματος του Ruppert [54].

Μια πιθανή εκτέλεση του παραπάνω αλγορίθμου Delaunay Ραφιναρίσματος σε μια απλή εί-
σοδο απεικονίζεται στο Σχήμα 4.6. Στα b - e, τα ευθύγραμμα τμήματα χωρίζονται εξαιτίας των
λόγων παραβίασης. Στο f προστίθεται ένα περίκεντρο ως μία Ποιοτική διεργασία. Στο g σκε-
φτόμαστε την προσθήκη ενός περίκεντρου, αλλά αυτό παραβιάζει ένα ευθύγραμμο τμήμα.
Όπως φαίνεται στο στοιχείο h, το ευθύγραμμο τμήμα χωρίζεται αντί αυτού. Στο i άλλο ένα ευ-
θύγραμμο τμήμα χωρίζεται. Στο j σκεφτόμαστε την προσθήκη ενός περίκεντρου, αλλά αυτό
παραβιάζει δύο ευθύγραμμα τμήματα, οπότε και τα δύο χωρίζονται. Στο l σκεφτόμαστε την
προσθήκη του ίδιου περικέντρου, και πάλι, αντί αυτού ένα άλλο ευθύγραμμο τμήμα χωρίζε-
ται. Στο m προστίθεται το περίκεντρο. Στο n απεικονίζονται τα τελικά σύνολα κορυφών και
ευθυγράμμων τμημάτων, και στο o εμφανίζεται η περιορισμένη Delaunay τριγωνοποίηση,
όπου τα ευθύγραμμα τμήματα φαίνονται έντονα.
4.3. Απόδειξη Τερματισμού 59

Σχήμα 4.6: Ένα παράδειγμα εκτέλεσης του αλγορίθμου Delaunay Ραφιναρί-


σματος.

4.3 Απόδειξη Τερματισμού

Θα παρουσιάσουμε μια ανάλυση του αλγορίθμου Delaunay Ραφιναρίσματος για να δείξουμε


ότι αυτός ο αλγόριθμος θα τερματίσει, και θα παράξει ένα κάτω όριο όσον αφορά την ελά-
χιστη γωνία των τριγώνων (βασίζεται σε μερικές παραδοχές της εισόδου), και θα αποδείξει
ένα άνω όριο όσον αφορά το πλήθος των τρίγωνων του πλέγματος.
Ορισμένες προκαταρκτικές δηλώσεις και αποτελέσματα είναι απαραίτητες για αυτήν την έκ-
θεση. Καταλαβαίνουμε τον αλγόριθμο Delaunay Ραφιναρίσματος μέσω της συσχέτισης των
ενεργειών του με το μέγεθος του τοπικού χαρακτηριστικού σε ένα σημείο x ∈ R2 , το οποίο
είναι σχετικό με μία είσοδο ενός ΕΓΕΓ ∂Ω. Αυτό ορίζεται ως ένας χάρτης f : R2 → R. έτσι
ώστε το f (x) να είναι η μικρότερη ακτίνα r του κλειστού κυκλικού δίσκου με κέντρο x, ενώ
η ακτίνα r εμπίπτει σε έναν από τους ακόλουθους ισχυρισμούς:
i περιέχει 2 κορυφές της ∂Ω,
ii τέμνει μία ακμή της ∂Ω και περιέχει μία κορυφή της ∂Ω που δεν είναι άκρο αυτής της
ακμής
iii τέμνει με 2 ακμές που δεν έχουν κοινές κορυφές της ∂Ω
60 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2

Το μέγεθος του τοπικού χαρακτηριστικού (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
απεικονίζεται ένα διάγραμμα ροής που δείχνει τη χειρότερη περίπτωση αύξησης / μείωσης
του μικρότερου μήκους ακμής σε αυτή την ακολουθία.

Σχήμα 4.9: Απόδειξη Τερματισμού. Το διάγραμμα ροής απεικονίζει τη χει-


ρότερη περίπτωση όσον αφορά τη σχέση μεταξύ της σειράς των ακμών μι-
κρότερου μήκους που παράγονται από τον αλγόριθμο Delaunay Ραφιναρί-
σματος.

Ως εκ τούτου, έχουμε το ακόλουθο θεώρημα που δείχνει υπό ποια προϋπόθεση αυτός ο αλ-
γόριθμος πρέπει να τερματίζει.
62 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2

Θεώρημα 25 Ο αλγόριθμος Delaunay Ραφιναρίσματος τερματίζεται αν οι ακόλουθες 2 συν-


θήκες ισχύουν την ίδια στιγμή:
i η μικρότερη γωνία μεταξύ δύο οποιωνδήποτε προσπίπτοντων ευθύγραμμων τμημάτων
στο ∂Ω δεν είναι μικρότερη από 60°, και
ii η παράμετρος ελάχιστης γωνίας δεν είναι μεγαλύτερη από arcsin √12 ≈ 20.7°
Η συνθήκη (ii) παρέχει μια προκαθορισμένη εγγύηση ελάχιστης γωνίας στο πλέγμα εξό-
δου.

4.4 Μέγεθος Πλέγματος Εξόδου

Σε αυτήν την ενότητα, δείχνουμε ότι η τριγωνοποίηση που παράγεται από αυτόν τον αλ-
γόριθμο είναι βελτιστοποιημένη ως προς το μέγεθος, πράγμα που σημαίνει ότι ο αριθμός
των τριγώνων είναι εντός ενός σταθερού παράγοντα που ορίζει τον ελάχιστο δυνατό αριθμό
τριγώνων. Στην πράξη, αυτό σημαίνει ότι το πλέγμα εξόδου έχει τις ακόλουθες ωραίες ιδιό-
τητες:
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.5 Λογισμικά Σειριακής Παραγωγής Πλέγματος στο R2

Το πιο διάσημο λογισμικό Σειριακής δισδιάστατης παραγωγής πλέγματος είναι το Triangle


του J. R Shewchuk [63]. Το Triangle είναι ένα πρόγραμμα γραμμένο σε C που παράγει δισδιά-
στατα πλέγματα, κατασκευάζει Delaunay τριγωνοποιήσεις και Voronoi διαγράμματα. Μπορεί
να κατασκευάσει και Delaunay Τριγωνοποιήσεις και Περιορισμένες Delaunay Τριγωνοποι-
ήσεις. Επίσης μπορεί να παράγει πλέγματα εγγυημένης ποιότητας (χωρίς να έχει τρίγωνα με
μικρές γωνίες) χρησιμοποιώντας τον αλγόριθμο του Delaunay Ραφιναρίσματος του Ruppert
[54]. Τα πλέγματα που παράγει μπορεί να έχουν περιορισμό όσον αφορά την ελάχιστη γω-
νία των τριγώνων που επιθυμούμε. Οι αλγόριθμοι βάσει των οποίων παράγει το Triangle τις
τριγωνοποιήσεις είναι οι:
i Αλγόριθμος διαδοχικής εισαγωγής του Lawson [38]
ii Αλγόριθμος ”διαίρει και βασίλευε” του Lee και του Schachter [40]
iii Αλγόριθμος plane-sweep του Fortune [27]
Ένα επίσης ανερχόμενο λογισμικό για δισδιάστατη παραγωγή πλέγματος είναι το Detri2 του
Hang Si [64]. Το Detri2 είναι ένα πρόγραμμα γραμμένο σε C++. Οι διαφορές με το Triangle εί-
ναι ότι το συγκεκριμένο χρησιμοποιεί μόνο τον αλγόριθμο διαδοχικής εισαγωγής του Lawson
[38]. Ωστόσο έχει τις υποδομές για να υποστηρίξει δισδιάστατη Delaunay ή και Περιορισμένη
Delaunay παραγωγή πλέγματος που προσαρμόζεται στη γεωμετρία του πλέγματος, βελτιώ-
νοντας έτσι την ποιότητά του. Επίσης έχει και γραφικό περιβάλλον.
Ακολουθούν φωτογραφίες πλεγμάτων που σχετίζονται με τις δυνατότητες του Triangle (ίδια
μπορεί να παράξει και το Detri2).

Σχήμα 4.10: ΕΓΕΓ Ηλεκτρικής Κιθάρας.

Σχήμα 4.11: Delaunay Τριγωνοποίηση των κορυφών του ΕΓΕΓ. Η τριγωνο-


ποίηση δεν συμμορφώνεται με όλα τα ευθύγραμμα τμήματα εισόδου.
64 Κεφάλαιο 4. Αλγόριθμος Delaunay Ραφιναρίσματος για Παραγωγή Πλέγματος στο R2

Σχήμα 4.12: Περιορισμένη Delaunay Τριγωνοποίηση του ΕΓΕΓ.

Σχήμα 4.13: Αφαιρέθηκαν τα τρίγωνα από τις κοιλότητες και τις τρύπες.

Σχήμα 4.14: Delaunay Τριγωνοποίηση με ελάχιστη γωνία τριγώνων 20°.


65

Κεφάλαιο 5

Μέθοδοι Παράλληλης Παραγωγής


Delaunay Πλέγματος στο R2

Η παράλληλη παραγωγή πλέγματος είναι μια σχετικά νέα περιοχή η οποία υπάγεται σε δύο
υπολογιστικούς κλάδους: την Υπολογιστική Γεωμετρία και τους Παράλληλους Υπολογι-
σμούς. Σε αυτό το κεφάλαιο θα παρουσιαστεί ένα τμήμα της επισκόπησης του Νίκου Χρυσο-
χοΐδη [16] στις μεθόδους παράλληλης παραγωγής Delaunay πλεγμάτων σε δύο διαστάσεις.
Οι μέθοδοι παράλληλης παραγωγής Delaunay πλέγματος αποσυνθέτουν το αρχικό πλέγμα
σε μικρότερα υποπροβλήματα, τα οποία τρέχουν παράλληλα. Οργανώνουμε τις μεθόδους
παράλληλης παραγωγής πλέγματος σε σχέση με δύο χαρακτηριστικά:
i Τη χρησιμοποίηση της σειριακής τεχνικής για να παράγουμε πλέγματα για τα ξεχωριστά
υποπροβλήματα.
ii Το βαθμό της σύζευξης μεταξύ των υποπροβλημάτων.
Θα γίνει κατανοητό πως χωρίς να συμβιβαζόμαστε στη σταθερότητα των μεθόδων παράλλη-
λης παραγωγής Delaunay πλέγματος, είναι εφικτό να υλοποιήσουμε λογισμικό παράλληλης
παραγωγής Delaunay πλέγματος, το οποίο θα χρησιμοποιεί έτοιμα λογισμικά σειριακής πα-
ραγωγής Delaunay πλέγματος.

5.1 Εισαγωγή

Οι διαδικασίες παράλληλης παραγωγή Delaunay πλέγματος γενικά αποσυνθέτουν το αρχικό


δισδιάστατο πρόβλημα παραγωγής πλέγματος σε Ν μικρότερα υποπροβλήματα, τα οποία λύ-
νονται ταυτόχρονα χρησιμοποιώντας P επεξεργαστές. Τα υποπροβλήματα μπορούν να δια-
τυπωθούν με κατάλληλο τρόπο ώστε να έχουν, είτε υψηλή σύζευξη μεταξύ τους [48], είτε
μερική σύζευξη [15][19] είτε ακόμη και καθόλου σύζευξη [55][44]. Η σύζευξη των υποπρο-
βλημάτων καθορίζει την ένταση της επικοινωνίας, το πλήθος αλλά και τον τύπο του συγχρο-
νισμού που απαιτείται μεταξύ των υποπροβλημάτων.
Οι προκλήσεις στις μεθόδους παράλληλης παραγωγής πλέγματος είναι:
i Να διατηρηθεί η σταθερότητα του παράλληλου παραγωγού πλέγματος, δηλαδή να δια-
τηρηθεί η ποιότητα των πεπερασμένων στοιχείων που παράχθηκαν από συγχρόνους σει-
ριακούς κώδικες,
ii και ταυτόχρονα να επιτύχουμε 100% επαναχρησιμοποίησή κώδικα, δηλαδή να αξιοποιή-
σουμε τους διαρκώς εξελισσόμενους και πλήρως λειτουργικούς σειριακούς παραγωγούς
πλέγματος, χωρίς σημαντική υποβάθμιση της επεκτασιμότητας του παράλληλου παρα-
γωγού πλέγματος.
66 Κεφάλαιο 5. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος στο R2

Οι μέθοδοι παράλληλης παραγωγής Delaunay πλέγματος οργανώνονται βάσει του βαθμού


της σύζευξης μεταξύ των υποπροβλημάτων:
i Υψηλή Σύζευξη,
ii Χωρίς σύζευξη.
iii Μερική σύζευξη

5.2 Προσεγγίσεις Αποσύνθεσης Τομέα

Οι περισσότερες μέθοδοι παράλληλης παραγωγής πλέγματος χρησιμοποιούν ένα σειριακό


βήμα προ-επεξεργασίας για το πρόβλημα διαμέρισης του αρχικού πλέγματος. Το αρχικό πλέγμα
διαμερίζεται χρησιμοποιώντας, είτε έναν συνεχή τομέα, ο οποίος αποσυντίθεται σε υποτο-
μείς, όπως απεικονίζεται αριστερά στο Σχήμα 5.1, είτε μία διακριτή προσέγγιση του τομέα,
η οποία αποσυντίθεται σε υποπλέγματα, όπως απεικονίζεται δεξιά στο Σχήμα 5.1. Οι εσωτε-
ρικές περιφέρειες μεταξύ των υποτομέων και των υποπλεγμάτων (Si ) λέγονται διαχωριστές
(∂Si ). Σε κάθε περίπτωση ο αριθμός των παραγόμενων υποτομέων ή υποπλεγμάτων (Ns )
μπορεί να είναι σημαντικά μεγαλύτερος από τον αριθμό των επεξεργαστών (υπεραποσύν-
θεση). Η υπεραποσύνθεση εισήχθη στους Παράλληλους Υπολογισμούς τα μέσα του 1980.
Χρησιμοποιείται για να κρύψει την καθυστέρηση της επικοινωνίας στην μεταφορά μηνυμά-
των [36] και να αποκρύψει τη διάδοση πληροφοριών, τη λήψη αποφάσεων και το κόστος
μετάβασης δεδομένων σε δυναμική εξισορρόπηση φορτίου [17],

Σχήμα 5.1: Αποσύνθεση Τομέα Συνεχούς [44] και Διακριτής Γεωμετρίας


[12] ενός σωλήνα πυραύλου.

Το πρόβλημα της αποσύνθεσης τομέα (ΑΤ) στην παράλληλη παραγωγή πλέγματος ορίζεται
ως εξής:
• 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].

5.3 Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος

Υπάρχουν πολλές προσεγγίσεις για να παράγουμε Delaunay πλέγματα [30]. Θα εφιστήσουμε


την προσοχή μας στις μεθόδους που βασίζονται στον πυρήνα των Bowyer-Watson [8][70],
που μας οδηγεί σε:
i Πιο αποδοτικές παράλληλες υλοποιήσεις χάρη στις βελτιστοποιήσεις για την βελτίωση
της τοπικότητας των δεδομένων
ii Απλούστερες και πιο αποδοτικές δομές δεδομένων.
Ο πυρήνας των Bowyer-Watson (BW) περιγράφεται στο Σχήμα 5.3 και στο Σχήμα 5.2. Θυ-
μηθείτε ότι προαναφέραμε στο κεφάλαιο 3.2.

Σχήμα 5.2: O πυρήνας Bowyer-Watson ξεκινάει με ένα πλέγμα Mi


(αριστερά), υπολογίζει την κοιλότητα (κέντρο αριστερά) μίας νεοεισαχθεί-
σας κορυφής, τριγωνοποιεί την κοιλότητα (κέντρο δεξιά) και ανανεώνει το
πλέγμα ως Mi+1 (δεξιά).
68 Κεφάλαιο 5. Μέθοδοι Παράλληλης Παραγωγής Delaunay Πλέγματος στο R2

Σχήμα 5.3: Αλγόριθμος Bowyer-Watson.

Η κοιλότητα C ενός σημείου p ορίζεται ως το σύνολο όλων των τριγώνων των οποίων οι
περιγεγραμμένοι κύκλοι τους περικλείουν το p. Η σφαίρα (περιγεγραμμένος κύκλος) ενός
σημείου p ορίζεται ως το σύνολο των νέων τριγώνων που ορίζονται από το σημείο p και από
τις κορυφές της περιφέρειας της κοιλότητάς του[30].
Η πρόκληση για τις μεθόδους παράλληλης παραγωγής πλέγματος που βασίζονται στον πυ-
ρήνα των Bowyer-Watson είναι το να διατηρήσουμε την ακόλουθη επανάληψη αμετάβλητη:
το πλέγμα Mi να είναι σύμμορφο (να διατηρεί το σχήμα του) και Delaunay για i = 1,n.
Στην συνέχεια θα περιγράψουμε τρεις (εκ των πέντε που αναφέρονται σε αυτήν την επισκό-
πηση) υλοποιημένες διαφορετικές πρακτικές μεθόδους παράλληλης παραγωγής Delaunay
πλέγματος, οι οποίες μορφοποιούν τα υποπροβλήματα βάσει του βαθμού σύζευξης τους.

5.3.1 Μέθοδοι Υψηλής Σύζευξης

Μία ξεκάθαρη προσέγγιση που αξιοποιεί τους παράλληλους υπολογισμούς βασίζεται στην
αναγνώριση μιας μερικής σειράς μεταξύ των υπολογισμών των γνωστών σειριακών πυρήνων,
και μετέπειτα με ωμή βία, να χρησιμοποιήσουμε, είτε τη μεταφορά μηνυμάτων, είτε 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) το ραφινάρισμα μιας κοι-
λότητας με ταυτόχρονη κατανομή των νεο-δημιουργημένων στοιχείων.

5.3.2 Μέθοδοι Χωρίς Σύζευξη

Στο [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.3.3 Μέθοδοι Μερικής Σύζευξης

Οι παράλληλες μέθοδοι υψηλής σύζευξης και χωρίς σύζευξη που έχουμε δει ως τώρα κα-
λύπτουν μερικές από τις απαιτήσεις για την παράλληλη παραγωγή πλέγματος που περιγρά-
ψαμε στο υποκεφάλαιο 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

Στατική Γεωμετρική Αποσύνθεση


Τομέα Μεσαίου Άξονα στο R2

Σε αυτό το κεφάλαιο παρουσιάζεται η μέθοδος Στατικής Γεωμετρικής Αποσύνθεσης Το-


μέα Μεσαίου Άξονα στο R2 (Static Geometric Medial Axis Domain Decomposition in 2D
Euclidean Space - MADD) που αναπτύχθηκε από τον Λεωνίδα Λιναρδάκη και τον Νίκο
Χρυσοχοΐδη [41], και επιπλέον ορισμένες αλλαγές που διενεργήθηκαν κατά την υλοποίησή
της.

6.1 Εισαγωγή

Η αποσύνθεση τομέα είναι ένα πρόβλημα που έχει μελετηθεί εκτενέστατα τα τελευταία εί-
κοσι χρόνια ώστε να επιτευχθούν παράλληλοι υπολογισμοί. Η MADD εξετάζει το πρόβλημα
της γεωμετρικής αποσύνθεσης τομέα στα πλαίσια της παράλληλης παραγωγής πλέγματος.
Σκοπός της MADD είναι η αποσύνθεση ενός δισδιάστατου συνεχούς τομέα Ω σε Ν μη επι-
καλυπτόμενους υποτομείς Ωi , ώστε να μην έχουν νέα χαρακτηριστικά, όπως μικρές γωνίες
μεταξύ των διαχωριστών ∂Ωi των υποτομέων και της (εξωτερικής) περιφέρειας ∂Ω [43]. Οι
αποσυνθέσεις αυτές είναι κατάλληλες για ευσταθή παράλληλη παραγωγή πλέγματος, όπως
απεικονίζεται στο Σχήμα 6.1.

Σχήμα 6.1: Αριστερά βλέπουμε μια ομοιόμορφη αποσύνθεση τομέα της γε-
ωμετρίας Chesapeake κόλπου που παρήγαγε η MADD, και δεξιά μία τριγω-
νοποίηση αυτής της γεωμετρίας που αξιοποιεί την αποσύνθεση της MADD.
74 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2

Οι μέθοδοι παράλληλης παραγωγής πλέγματος αποσυνθέτουν το αρχικό πρόβλημα σε υπο-


προβλήματα ώστε να μπορούν να τρέχουν παράλληλα. Οι τεχνικές γεωμετρικής αποσύνθεσης
τομέα διαμερίζουν τον αρχικό τομέα σε υποτομείς προσθέτοντας διαχωριστές σε αυτόν. Οι
μέθοδοι παράλληλης παραγωγής πλέγματος που ακολουθούν αυτήν την προσέγγιση απαι-
τούν πολλή λίγη επικοινωνία [15] ή και καθόλου [42], συνεπώς είναι αποδοτικές. Όταν θα
απαιτείται επικοινωνία αυτή θα είναι ανάλογη των μηκών των διαχωριστών. Άρα θέλουμε να
φτιάχνουμε μικρούς διαχωριστές. Οι διαχωριστές που προσθέτουμε θα γίνουν τμήμα της γε-
ωμετρίας, άρα και του τελικού πλέγματος. Επομένως, η αποσύνθεση πρέπει να τηρεί κάποια
συγκεκριμένα ποιοτικά κριτήρια, ώστε η ποιότητα του πλέγματος να μην αλλοιωθεί.

6.2 Το πρόβλημα της Γεωμετρικής Αποσύνθεσης Τομέα

Θα εξετάσουμε το πρόβλημα της γεωμετρικής αποσύνθεσης τομέα στο πλαίσιο της παράλλη-
λης παραγωγής πλέγματος. Επίσημα, μία 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

και τα τρία κριτήρια. Άρα οι αποσυνθέσεις αυτής είναι κατάλληλες για παράλληλη παραγωγή
πλεγμάτων.

6.3 Μέθοδος Αποσύνθεσης Τομέα Μεσαίου Άξονα (MADD)

Η μέθοδος 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

βρίσκουμε με τη βοήθεια των τριγώνων διασταύρωσης. Έστω D μία Delaunay τριγωνοποίηση


μίας διακριτοποίησης B της περιφέρειας ∂Ω. Θεωρούμε ότι ένα τρίγωνο t ∈ D είναι τρίγωνο
διασταύρωσης αν:
i περιέχει στο εσωτερικό του το περίκεντρό του,
ii τουλάχιστον δύο από τις ακμές του δεν ανήκει στο B,
iii τουλάχιστον δύο από τα ευθύγραμμα τμήματα που ορίζονται από το περίκεντρο και τις
κορυφές του t σχηματίζουν γωνίες ≥ Φ0 , και μεταξύ τους αλλά και με την περιφέρεια.
Όπως απεικονίζεται στο Σχήμα 6.2, το △α1 α3 α5 είναι τρίγωνο διασταύρωσης καθώς ικανο-
ποιεί και τους τρεις παραπάνω περιορισμούς. Στο παράδειγμα μας, τα τρίγωνα α1 cα3 , α1 cα5
και α3 cα5 είναι οι τρεις πιθανοί μερικοί διαχωριστές αυτού του △α1 α3 α5 . Ο πλήρης διαχω-
ριστής σχηματίζεται επιλέγοντας ένα υποσύνολο των μερικών διαχωριστών, που θα εγγυηθεί
την αποσύνθεση της γεωμετρίας σε δύο συνδεδεμένους υποτομείς.
Η ύπαρξη και η ποιότητα του μερικού διαχωριστή εξαρτάται από το πλήθος και την ποιό-
τητα των διαχωριστών. το οποίο με τη σειρά του βασίζεται στο επίπεδο του ραφιναρίσματος
των ευθύγραμμων τμημάτων της περιφέρειας. Υπάρχουν τρεις παράγοντες που επηρεάζουν
το επίπεδο του ραφιναρίσματος της περιφέρειας: (1) το πλήθος των υποτομέων που θέλουμε
να δημιουργήσουμε, (2) τα χαρακτηριστικά της αρχικής γεωμετρίας, και (3) το κάτω όριο
γωνίας Φ0 . Σε αυτήν την υλοποίηση, το επίπεδο του ραφιναρίσματος υπολογίζεται βασιζό-
μενο στο μέσο μήκος των ευθύγραμμων τμημάτων της περιφέρειας, και στη τετραγωνική
ρίζα του πλήθος των υποτομέων. Το Φ0 μπορεί να είναι το πολύ 80° και εξαρτάται από τη
γεωμετρία.

6.4 Ο αλγόριθμος MADD

Ο αλγόριθμος 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

Τα κύρια βήματα του αλγορίθμου είναι:


i Κατασκευάζουμε έναν δυαδικό γράφο τροποποιημένων στοιχείων GD από την Delaunay
τριγωνοποίηση D.
ii Συστέλλουμε τον GD στον G′ D , έτσι ώστε μόνο οι υποψήφιοι μερικοί διαχωριστές να
αντιπροσωπεύονται ως ακμές του G′ D .
iii Διαμερίζουμε τον γράφο G′ D , βελτιστοποιώντας το κόστος κοπής ως προς την αναλογία
βάρους των υπογράφων.
iv Μεταφράζουμε τις κόψεις της διαμέρισης σε αντίστοιχους μερικούς διαχωριστές, τους
οποίους εισάγουμε στη γεωμετρία.

6.4.1 Κατασκευή του γράφου GD και Συστολή του στον G′ D

Η κατασκευή του γράφου GD και η συστολή του στον G′ D γίνεται εφαρμόζοντας τους ακό-
λουθους αλγόριθμους.

Algorithm 1 Κατασκευή Γράφου GD


1: for όλα τα △αi αj αk στην τριγωνοποίηση D do
2: if το △αi αj αk είναι τρίγωνο διασταύρωσης then
3: c ← το περίκεντρο του △αi αj αk ;
4: for το △αi cαj , △αi cαk και △αj cαk do
5: δημιουργούμε μία κορυφή d για τον GD που αντιπροσωπεύει το τρίγωνο;
6: βάρος κορυφής ← Εμβαδόν του τριγώνου που αντιπροσωπεύει;
7: end for
8: else
9: δημιουργούμε μία κορυφή d για τον GD που αντιπροσωπεύει το △αi αj αk ;
10: βάρος κορυφής ← Εμβαδόν του △αi αj αk ;
11: end if
12: end for
13: for όλες τις κορυφές d ∈ GD που αντιπροσωπεύουν τρίγωνα do
14: βρίσκουμε τα γειτονικά τρίγωνα τους;
15: for κάθε γειτονικό τρίγωνο της κορυφής που ελέγχουμε do
16: ενώνουμε με μία ακμή την κορυφή που ελέγχουμε με την αντιπροσωπευτική
17: κορυφή του γειτονικού τριγώνου που ελέγχουμε;
18: βάρος ακμής ← μήκος της κοινής ακμής των τριγώνων;
19: end for
20: end for

Algorithm 2 Συστολή του GD στον G′ D


1: for όλες τις ακμές di dj ∈ GD do
2: if η αντίστοιχη ακμή του τριγώνου σχηματίζει έστω και μία γωνία < Φ0 then
3: διαγράφουμε την ακμή di dj ;
4: δημιουργούμε μία νέα κορυφή d;
5: βάρος d ← άθροισμα των βαρών των κορυφών di dj ;
6: μετατρέπουμε όλες τις ακμές που είχαν τις κορυφές di dj να έχουν πλέον την d;
7: end if
8: end for
78 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2

6.4.2 Κατασκευή του Πλήρους Διαχωριστή

Το αποτέλεσμα του προηγούμενου διαχωριστή είναι ο γράφος G′ D , του οποίου οι ακμές


αντιπροσωπεύουν τους υποψήφιους μερικούς διαχωριστές που μπορούν να χρησιμοποιηθούν
για να αποσυνθέσουν τον τομέα. Το επόμενο βήμα είναι η διαμέριση του γράφου σε δύο
συνδεδεμένους υπογράφους. Στην υλοποίηση αυτή η διαμέριση του γράφου γίνεται με τη
χρήση του διαμεριστή Metis [35].
Το τελευταίο βήμα είναι η μετάφραση αυτής της διαμέρισης σε μία γεωμετρική αποσύνθεση
τομέα. Για να το επιτύχουμε αυτό θα πρέπει να κατασκευάσουμε τον πλήρη διαχωριστή. Η
κατασκευή του πλήρους διαχωριστή γίνεται εφαρμόζοντας τον ακόλουθο αλγόριθμο.

Algorithm 3 Κατασκευή του Πλήρους Διαχωριστή


1: for όλες τις ακμές di dj ∈ G′ D do
2: if οι κορυφές di και dj ανήκουν σε διαφορετικούς υπογράφους then
3: εισάγουμε τον μερικό διαχωριστή που αντιστοιχεί στην ακμή di dj ,
4: στην γεωμετρία;
5: end if
6: end for

Θεωρώντας ότι ο διαμεριστής του γράφου μας χρειάζεται μικρός κόστος κοπής και επιστρέφει
ισορροπημένα βάρη, το μήκος του διαχωριστή θα είναι σχετικά μικρό και τα εμβαδά των
υποτομέων θα είναι περίπου ίσα.
Επιπλέον, δεδομένου ότι όλοι οι μερικοί διαχωριστές, από την κατασκευή του G′ D , σχημα-
τίζουν καλές γωνίες, ο κατασκευασμένος πλήρης διαχωριστής θα σχηματίζει επίσης καλές
γωνίες. Ωστόσο, υπάρχουν περιπτώσεις όπου ο διαμερισμός του γράφου θα οδηγήσει στην
εισαγωγή δύο μερικών διαχωριστών που συναντώνται στο ίδιο περιφερειακό σημείο. Η γωνία
που σχηματίζεται μεταξύ αυτών των δύο διαχωριστών μπορεί να είναι < Φ0 , δίνοντας έτσι
μια μη αποδεκτή αποσύνθεση. Έχει προστεθεί μια ρουτίνα που ελέγχει την ύπαρξη τέτοιων
περιπτώσεων, τροποποιεί και διαμερίζει τον γράφο, έτσι ώστε να δημιουργούνται μόνο γω-
νίες ≥ Φ0 κατά την εισαγωγή των διαχωριστών. Γενικά, αυτές οι περιπτώσεις αντιστοιχούν
σε υψηλό κόστος κοπής, λόγω του μήκους των δύο διασταυρωμένων διαχωριστών.

6.5 N-Way Αποσύνθεση Τομέα

Η διαδικασία που περιγράψαμε στην προηγούμενη ενότητα αποσυνθέτει τον τομέα σε δύο
υποτομείς. Για να αποκτήσουμε N αποσυνθέσεις θα πρέπει να εφαρμόσουμε τον MADD αλ-
γόριθμο αναδρομικά αξιοποιώντας την φιλοσοφία του ”διαίρει και βασίλευε”. Ο αλγόριθμος
N-Way αποσύνθεσης τομέα περιγράφεται από τον ακόλουθο αλγόριθμο.

Algorithm 4 N-Way Αποσύνθεση Τομέα


1: διαβάζουμε τον αρχικό τομέα Ω;
2: δημιουργούμε μια λίστα υποτομέων και σε αυτήν τοποθετούμε τον Ω;
3: while το τρέχον πλήθος των υποτομέων < N do
4: αποσυνθέτουμε τον μεγαλύτερο υποτομέα σε δύο υποτομείς χρησιμοποιώντας
5: τον MADD αλγόριθμο;
6: ανανεώνουμε τη λίστα των υποτομέων;
7: end while
6.6. Εξομάλυνση των διαχωριστών 79

Σχήμα 6.3: Ν-Way αποσυνθέσεις Τομέα, όπου N = 2, 4, 8, 16, οι οποίες πα-


ράχθηκαν με τη χρήση του αλγορίθμου N-Way Αποσύνθεση Τομέα.

6.6 Εξομάλυνση των διαχωριστών

Ένα πρόβλημα της MADD είναι ότι κάθε υποτομέας αποσυντίθεται ανεξάρτητα από τους
γειτονικούς υποτομείς, το οποίο μπορεί να συντελέσει στην δημιουργία μικρών γωνιών με-
ταξύ των μερικών διαχωριστών γειτονικών υποτομέων, όπως απεικονίζεται στο Σχήμα 6.4.
Για αυτό θα εισάγουμε μια εξομαλυντική διαδικασία που θα λύνει το πρόβλημα που αναφέ-
ραμε.

Σχήμα 6.4: O Pipe τομέας αποσυντέθηκε σε 64 υποτομείς χρησιμοποιώντας


τον MADD αλγόριθμο. Στα αριστερά δεν χρησιμοποιείται εξομάλυνση. Οι
περισσότεροι από τους διαχωριστές δεν συναντώνται στα άκρα τους, και δη-
μιουργούν μικρά ευθύγραμμα τμήματα στην τομή των περιφερειών τους. Στη
κέντρο χρησιμοποιήθηκε η εξομαλυντική διαδικασία, και έδωσε συμμορφω-
μένους στις απαιτήσεις μας διαχωριστές. Στα δεξιά απεικονίζονται τα σημεία
του πρώτου τύπου (a) και του δεύτερου (b).

Η εξομαλυντική διαδικασία πραγματοποιείται σε δύο βήματα. Το πρώτο βήμα πραγματο-


ποιείται κατά την κατασκευή του γράφου GD . Σε αυτό το βήμα ενσωματώνουμε στο βάρος
των ακμών του γράφου δύο τύπους επιπρόσθετης πληροφορίας: (α) την ποιότητα των γω-
νιών που σχηματίζουν οι αντίστοιχοι διαχωριστές, και (β) τη συμμόρφωση με τους υπάρχο-
ντες διαχωριστές, δηλαδή τα άκρα του διαχωριστή συμπίπτουν με τα άκρα ενός υπάρχοντος
διαχωριστή. Το βάρος κάθε ακμής του γράφου πολλαπλασιάζεται με ένα συντελεστή f0 , o
οποίος αντικατοπτρίζει την ποιότητα της ελάχιστης γωνίας ϕ που ο αντίστοιχος διαχωριστής
σχηματίζει. Αυτός ο συντελεστής υπολογίζεται ως f0 = ϕ−Φ10 +1 , για ϕ ≤ π/2, και ως
f0 = π/2−Φ1
0 +1
για ϕ ≥ π/2. Ο συντελεστής f0 παίρνει τιμές από π/2−Φ
1
0 +1
, όταν ϕ ≥ π/2,
και μέχρι 1, όταν η ελάχιστη γωνία είναι ίση με το ελάχιστον αποδεκτό όριο ϕ = Φ0 . Άρα
το βάρος της ακμής του γράφου μειώνεται αναλογικά με την ποιότητα της ελάχιστης γω-
νίας.
80 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2

Θα θέλαμε να ενθαρρύνουμε τον διαμεριστή του γράφου να επιλέγει διαχωριστές που συμ-
μορφώνονται με τους υπάρχοντες διαχωριστές, δηλαδή αυτούς που συμπίπτουν στην κοινή
περιφέρεια με τους υπάρχοντες μερικούς διαχωριστές των γειτονικών υποτομέων. Για το
σκοπό αυτό προσδιορίζουμε δύο τύπους περιφερειακών σημείων, όπως απεικονίζονται δε-
ξιά στο Σχήμα 6.4. Τα σημεία του πρώτου τύπου είναι είτε αρχικά σημεία της περιφέρειας
του τομέα, είτε άκρα ενός υπάρχοντος διαχωριστή. Για να ενθαρρύνουμε τον διαμεριστή του
γράφου να επιλέγει συμμορφωμένους διαχωριστές, μειώνουμε το βάρος των ακμών του γρά-
φου όταν αυτές αντιστοιχούν σε διαχωριστές που ορίζονται από σημεία του πρώτου τύπου. Τα
σημεία αυτά είναι άκρα υπαρχόντων διαχωριστών ή της αρχικής περιφέρειας, και οι νέοι δια-
χωριστές, που συμπίπτουν σε αυτά τα σημεία, συμμορφώνονται με τους υπάρχοντες διαχω-
ριστές. Ο δεύτερος τύπος σημείων είναι το μέσο των ευθύγραμμων τμημάτων που ορίζονται
από τα σημεία του πρώτου τύπου. Επίσης μειώνουμε το βάρος των ακμών του γράφου που
αντιστοιχούν σε διαχωριστές, οι οποίοι ορίζονται από τα σημεία του δεύτερου τύπου. Κατ’
αυτό τον τρόπο, αυξάνουμε την πιθανότητα ένας επιλεγόμενος διαχωριστής να έχει άκρα,
είτε σε υπαρκτά σημεία (πρώτου τύπου), είτε μακριά από αυτά (δεύτερου τύπου).
Το προηγούμενο βήμα επιβραβεύει τους συμμορφωμένους διαχωριστές, και αυτούς που σχη-
ματίζουν καλύτερες γωνίες, αλλά δεν εγγυάται ότι αυτοί είναι που θα επιλεχθούν από διαμε-
ριστή γράφου. Για να βελτιώσουμε την ποιότητα των διαχωριστών θα εισάγουμε ένα δεύτερο
ad-hoc ευριστικό βήμα εξομάλυνσης, το οποίο θα πραγματοποιείται μετά την διαμέριση του
γράφου. Αντί να εισάγουμε τους διαχωριστές που επιλέγει ο διαμεριστής γράφου, εξετάζουμε
όλους τους πιθανούς διαχωριστές που είναι κοντά στους αρχικούς, και εισάγουμε τους βέλ-
τιστους βάσει μιας συνάρτησης βελτιστότητας. Οι γειτονικοί διαχωριστές ορίζονται από γει-
τονικά σημεία στα άκρα του αρχικού διαχωριστή. Η συνάρτηση βελτιστότητας υπολογίζει το
βαθμό της ποιότητας βασιζόμενη σε: (α) το μέγεθος του διαχωριστή, (β) την ελάχιστη γωνία
που σχηματίζει, και (γ) τον τύπο των άκρων. Ο υπολογισμός αυτής της συνάρτησης είναι
παρόμοιος με αυτόν του προηγούμενου εξομαλυντικού βήματος.
Συνεπώς, με αυτό το εξομαλυντικό βήμα λαμβάνουμε πάντα συμμορφωμένους διαχωριστές
που σχηματίζουν καλές γωνίες. Αυτό εξαρτάται από την αρχική διαμέριση του γράφου, από
την ισορροπία της αποσύνθεσης, και φυσικά, από τα γεωμετρικά χαρακτηριστικά του το-
μέα.

6.7 N-Way διαβαθμισμένη Αποσύνθεση Τομέα

Η διαδικασία που έχουμε περιγράψει μέχρι τώρα για τις αποσυνθέσεις 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.

Σχήμα 6.5: Οι βασικές εντολές του MaddInterface.

6.9 Πειραματικά Αποτελέσματα

Για τα πειράματά μας χρησιμοποιούμε τρία γεωμετρικά μοντέλα τομέα. Το πρώτο μοντέλο εί-
ναι το Chesapeake Bay, το οποίο είναι μία προσέγγιση του κόλπου Chesapeake στην Virginia,
και αποτελείται από 13.524 ευθύγραμμα τμήματα στην περιφέρεια και 26 νησιά (τρύπες). Το
δεύτερο μοντέλο είναι το Key, το οποίο είναι μία προσέγγιση ενός κλειδιού που παρέχεται
από το Triangle [63], και αποτελείται από 54 ευθύγραμμα τμήματα στην περιφέρεια και 1
82 Κεφάλαιο 6. Στατική Γεωμετρική Αποσύνθεση Τομέα Μεσαίου Άξονα στο R2

τρύπα. Το τρίτο μοντέλο είναι το Pipe, το οποίο είναι μία προσέγγιση ενός σωλήνα, και απο-
τελείται από 576 ευθύγραμμα τμήματα στην περιφέρεια και 9 τρύπες. Τα τρία μοντέλα που
αναφέραμε απεικονίζονται στο Σχήμα 6.6.

Σχήμα 6.6: Τα τρία γεωμετρικά μοντέλα τομέα των πειραμάτων μας.


6.9. Πειραματικά Αποτελέσματα 83

Εκτελούμε τα πειράματά μας ορίζοντας ως ελάχιστη γωνία ϕ = 0.333 rads ≈ 60°. Στα πει-
ράματα μας υπολογίζουμε τον χρόνο και το πλήθος ευθύγραμμων τμημάτων συμπεριλαμβα-
νομένου των διαχωριστών, αποσυνθέτοντας τον εκάστοτε τομέα σε 2 έως 1400 υποτομείς.
Τα πειράματά μας εκτελέστηκαν σε έναν υπολογιστή με επεξεργαστή AMD Ryzen 5 1600
3.2GHz, οποίος έχει 6 πυρήνες, και με μνήμη RAM = 8 GB. Τα αποτελέσματα των πειραμά-
των απεικονίζονται στο Σχήμα 6.7 και στο Σχήμα 6.8.

Σχήμα 6.7: Αποτελέσματα καταμέτρησης του πλήθους των ευθυγράμμων


τμημάτων συμπεριλαμβανομένου των διαχωριστών.

Σχήμα 6.8: Αποτελέσματα καταμέτρησης χρόνου εκτέλεσης.

Τα αποτελέσματά μας δείχνουν ότι ο χρόνος αποσύνθεσης του τομέα είναι άμεσα συνδεδε-
μένο με το μέγεθος του τομέα, δηλαδή το πλήθος των √ ευθυγράμμων τμημάτων εισόδου. Το
επίπεδο του ραφιναρίσματος είναι ανάλογο με το N , όπου N το πλήθος των υποτομέων.
Το επίπεδο του ραφιναρίσματος και οι χρόνοι αποσύνθεσης, για το Pipe και το Chesapeake
bay τείνουν να αντικατοπτρίζουν αυτήν την συμπεριφορά της τετραγωνικής ρίζας. Αυτό όμως
δεν ισχύει και για το Key, καθώς διαθέτει λίγα ευθύγραμμα τμήματα εισόδου. Κατά συνέπεια
απαιτείται πιο έντονο ραφινάρισμα προκειμένου να λάβουμε καλές αποσυνθέσεις.
85

Κεφάλαιο 7

Παράλληλη Παραγωγή
Περιορισμένου Delaunay Πλέγματος
στο R2

Σε αυτό το κεφάλαιο παρουσιάζεται η μέθοδος Παράλληλης Παραγωγής Περιορισμένου


Delaunay Πλέγματος στο R2 (Parallel 2D Constrained Delaunay Mesh Generation - PCDM)
που αναπτύχθηκε από τον Andrey N. Chernikov και τον Νίκο Χρυσοχοΐδη [13], και επιπλέον
ορισμένες αλλαγές που διενεργήθηκαν κατά την υλοποίησή της.

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.

7.2 Περιορισμένη Delaunay Παραγωγή πλέγματος

Θα ορίσουμε, ως 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 )}

όπου τα M = (V, T ) και M ′ = (V ′ , T ′ ) αντιπροσωπεύουν τα πλέγματα πριν και μετά την


εισαγωγή του σημείου pi , αντιστοίχως. Το σύνολο των νέων κατασκευασμένων τριγώνων
ορίζει μια σφαίρα του σημείου pi , το οποίο είναι ένα σύνολο τριγώνων στο πλέγμα που έχουν
την pi ως κορυφή.
Οι σειριακοί Delaunay αλγόριθμοι αντιμετωπίζουν τα περιορισμένα ευθύγραμμα τμήματα
διαφορετικά από τις ακμές των τριγώνων [54][62]. Όταν ένα νέο σημείο που θέλουμε να ει-
σαγάγουμε παραβιάζει ένα περιορισμένο ευθύγραμμο τμήμα s, τότε εισάγουμε ένα σημείο
στο μέσο αυτού του ευθυγράμμου τμήματος [54] και κατασκευάζουμε την κοιλότητα αυτού
του μέσου σημείου, την οποία και τριγωνοποιούμε. Αυτήν τη διαδικασία την έχουμε περι-
γράψει αναλυτικά στο κεφάλαιο 4.
Θεωρούμε πως μία τριγωνοποίηση είναι περιορισμένη Delaunay, αν ο ανοιχτός κυκλικός δί-
σκος των τριγώνων της δεν περιέχει κανένα σημείο που είναι ορατό από το εσωτερικό αυτών
των τριγώνων [13] (θυμηθείτε όσα αναφέραμε για την ορατότητα στο κεφάλαιο 2).
Ο αλγόριθμος παράλληλης περιορισμένης Delaunay παραγωγής πλέγματος, ο οποίος παρου-
σιάζεται, χρησιμοποιεί περιορισμένα ευθύγραμμα τμήματα για να διαχωρίσει τους υποτομείς.
Προφανώς, αν κάθε πλέγμα σε κάθε υποτομέα είναι Delaunay, τότε το συνολικό πλέγμα θα
είναι περιορισμένο Delaunay, όπως φαίνεται στο Σχήμα 7.1. Ο παράλληλος αλγόριθμος αυ-
τός εκτελεί την B-W διαδικασία ραφιναρίσματος ταυτόχρονα σε κάθε υποτομέα και διατηρεί
το σύνολο των περιορισμένων ακμών των υποτομέων. Αν κάποιο περιορισμένο ευθύγραμμο
τμήμα χωριστεί στα δύο, τότε ενημερώνουμε τους γειτονικούς υποτομείς με ένα μήνυμα δια-
χωρισμού (SPLIT).

7.3 Ο παράλληλος αλγόριθμος

7.3.1 Η Αποσύνθεση Τομέα

O Chew [15] όρισε μία λίστα τριών απαιτήσεων για την παραγωγή των τεχνητών περιφερειών
μεταξύ των διαχωριστών, την οποία θα επεκτείνουμε με δύο ακόμη:
i Ο φόρτος εργασίας που ανατίθεται σε κάθε διεργασία πρέπει να είναι περίπου ίσος.
ii Δεν πρέπει να υπάρχουν μικρά κενά μεταξύ των τεχνητών περιφερειών, τα οποία μπορεί
να οδηγήσουν σε άσκοπα μικρά τρίγωνα.
iii Οι τεχνητές περιφέρειες δεν πρέπει να δημιουργούν μικρές γωνίες, οι οποίες αναπόφευ-
κτα θα συμπεριληφθούν στο τελικό πλέγμα, και θα προκαλέσουν την δημιουργία μικρών
και κακοσχηματισμένων τριγώνων.
iv Το συνολικό μήκος των περιφερειών που μοιράζεται από δύο επεξεργαστές θα πρέπει να
είναι όσο μικρό γίνεται, ώστε να μειωθεί η επικοινωνία μεταξύ των υποτομέων.
88 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2

v Το πλήθος των υποτομέων (N) πρέπει να είναι πολύ μεγαλύτερο από τον αριθμό των διερ-
γασιών (P) ώστε να παρέχουμε την απαραίτητη ευελιξία σε βιβλιοθήκες εξισορρόπησης
φόρτου, π.χ. η LBL [3]. Όταν N ≫ P , λέμε πως ο τομέας έχει υποστεί υπεραποσύνθεση.

Σχήμα 7.1: Αν κάθε πλέγμα σε κάθε υποτομέα είναι Delaunay, τότε το συ-
νολικό πλέγμα θα είναι Περιορισμένο Delaunay.

PCDM ({(Xi , Mi ) | i = 1,...N}, ∆, ρ, P, p)


Είσοδος: Xi είναι οι ΕΓΕΓ που ορίζουν τους υποτομείς Ωi
Mi είναι τα αρχικά πλέγματα των υποτομέων Ωi
∆ είναι το άνω όριο των εμβαδών των τριγώνων
ρ είναι το άνω όριο του λόγου της περιφέρειας προς την μικρότερη ακμή
P είναι το συνολικό πλήθος των διεργασιών
p είναι το index της τρέχουσας διαδικασίας
Έξοδος: Τα τροποποιημένα Delaunay πλέγματα {Mi ∥, που σέβονται τα όρια ∆ και ρ
1: Υπολογίζουμε την χαρτογράφηση κ : {1, ..., N } → {1, ..., P } των υποτομέων στις διερ-
γασίες
2: Διανέμουμε τους υποτομείς στις διεργασίες
3: Έστω {Ωii , ..., ΩiNp } είναι το σύνολο των τοπικών υποτομέων
4: for j = 1,...,Np do
5: DelaunayΡαφινάρισμα(Xij , Mij , ∆, ρ, κ)
6: end for

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

Σχήμα 7.2: Η γεωμετρία Chesapeake bay αποσυντέθηκε σε 1024 υποτομείς,


οι οποίοι χαρτογραφήθηκαν σε 8 διεργασίες. Η ανάθεση των υποτομέων σε
κάθε διεργασία φαίνεται με διαφορετικά χρώματα.
90 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2

7.3.2 Η συμμόρφωση του πλέγματος και η αποστολή μηνυμάτων

Η συμμόρφωση του πλέγματος κατά μήκος των περιφερειών των γειτονικών υποτομέων εξα-
σφαλίζεται με την αποστολή μηνυμάτων SPLIT κάθε φορά που παραβιάζεται μία ακμή της
περιφέρειας, καθώς αυτη χωρίζεται στη μέση, όπως απεικονίζεται στο Σχήμα 7.3 και στο
Σχήμα 7.4.

Σχήμα 7.3: Το σημείο p3 δεν παραβιάζει κάποιο περιορισμένο ευθύγραμμο


τμήμα, άρα η κοιλότητα κατασκευάζεται και τριγωνοποιείται.

Σχήμα 7.4: (a) Αν το υποψήφιο σημείο p4 παραβιάζει το περιορισμένο ευθύ-


γραμμο τμήμα e(p1 p2 ), (b) ένα σημείο p5 προστίθεται στο μέσο του e(p1 p2 )
και στέλνεται ένα μήνυμα SPLIT στη γειτονική διεργασία, (c) η τοπική κοι-
λότητα του p5 κατασκευάζεται και τριγωνοποιείται, (d) η γειτονική διεργα-
σία επίσης κάνει το ίδιο
7.3. Ο παράλληλος αλγόριθμος 91

Όταν ένας υποτομέας λαμβάνει ένα μήνυμα 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++.

Σχήμα 7.5: Οι βασικές παράμετροι του PcdmInterface.


7.4. Υλοποίηση 93

Το πρόγραμμα PcdmInterface, όπως υποδηλώνει και το όνομά του, αποτελεί μια διεπαφή
για την χρήση της βιβλιοθήκης MADD, η οποία δέχεται ένα σύνολο παραμέτρων. Τα αρχεία
εισόδου του PcdmInterface, τα οποία είναι τύπου .dat και cdt, είναι η αποσύνθεση του τομέα
σε N υποτομείς, που παράγει η MADD, και οι αρχικές τριγωνοποιήσεις των υποτομέων, που
παράγει το Detri2, αντιστοίχως. Ενώ τα αρχεία εξόδου, τα οποία είναι τύπου .node, .poly και
.ele [63], είναι οι κορυφές, η περιφέρεια του υποτομέα (ευθύγραμμα τμήματα του οποίου
μπορεί να έχουν διαχωριστεί σε ένα σύνολο μικρότερων τμημάτων)και τα τρίγωνα του κάθε
υποτομέα, τα οποία παράγει η PCDM όταν ολοκληρωθεί. Το σύνολο των παραμέτρων που
απαιτεί η PCDM για να εκτελεστεί παρουσιάζεται στο Σχήμα 7.5.

7.4.1 Συγκέντρωση μηνυμάτων

Μία από τις πιο αξιοσημείωτες βελτιώσεις στην απόδοση του κώδικα επιτεύχθηκε συγκε-
ντρώνοντας τα SPLIT μηνύματα, τα οποία αποστέλλονται μεταξύ γειτονικών υποτομέων ως
αποτέλεσμα της εισαγωγής σημείων στα κοινά σύνορα. Ο χρόνος αποστολής ενός μηνύματος
είναι [37]:

Μέγεθος μηνύματος
Χρόνος επικοινωνίας = Χρόνος εκκίνησης +
Εύρος ζώνης δικτύου

Αν στείλουμε n μηνύματα ξεχωριστά, επιβαρύνουμε το κόστος εκκίνησης για κάθε μήνυμα.


Ωστόσο, αν τα μηνύματα συγκεντρωθούν και αποστέλλονται ατομικά, αυτό το κόστος μπο-
ρεί να πληρωθεί μόνο μία φορά. Το Σχήμα 7.6 παρουσιάζει την επιρροή της συγκέντρωσης
μηνυμάτων στον χρόνο εκτέλεσης. Η παράμετρος aggregation-συγκέντρωση υποδηλώνει το
πλήθος των μηνυμάτων SPLIT, τα οποία συσσωρεύονται πριν σταλούν ατομικά σε έναν υπο-
τομέα. Τα αποτελέσματα αυτά αλλά και τα επακόλουθα πειράματα παράχθηκαν σε ομογενείς
υπολογιστές, όπου κάθε διεργασία εκτελείται από έναν μόνο φυσικό επεξεργαστή, οπότε χρη-
σιμοποιούμε τους όρους διεργασία και επεξεργαστής ως ταυτόσημους.

Σχήμα 7.6: H επιρροή της συγκέντρωσης μηνυμάτων στο χρόνο εκτέλεσης


με τη χρήση της γεωμετρίας Pipe.
94 Κεφάλαιο 7. Παράλληλη Παραγωγή Περιορισμένου Delaunay Πλέγματος στο R2

7.5 Πειραματικά Αποτελέσματα

Για τα πειράματά μας χρησιμοποιούμε τα τρία γεωμετρικά μοντέλα τομέα 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: Οι μετρήσεις κλιμακωτής επιτάχυνσης. Ο αριθμός των τριγώνων


είναι περίπου 10 Ρ, δηλαδή, για 2 επεξεργαστές θα είναι 20 εκατομμύρια, ενώ
για 6 θα είναι 120 εκατομμύρια.

Όπως φαίνεται από το Σχήμα 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 πλέγμα.

8.2 Μελλοντική Έρευνα

Ένας ενδιαφέρον τρόπος μέσω του οποίου θα μπορούσαμε να βελτιώσουμε την PCDΜ, είναι
η προσθήκη της ικανότητας της προσαρμοστικότητας στην παραγωγή πλέγματος, χάρη στην
οποία η PCDM θα μπορεί να προσαρμόζεται στην γεωμετρία του πλέγματος. Ο τρόπος με
τον οποίο θα μπορούσε να επιτευχθεί αυτό με την ένωση της PCDM και του Detri2, το οποίο
έχει τις υποδομές για να υποστηρίξει αυτήν την ιδιότητα.
97

Βιβλιογραφία - Αναφορές

[1] Franz Aurenhammer. “Voronoi Diagrams—A survey of a Fundamental Geometric Data


Structure”. In: ACM Computing Surveys (CSUR) (1991).
[2] W.W. Rouse Ball. A Short Account of the History of Mathematics (4th ed.) Dover
Publications, 1960.
[3] K. Barker et al. “A load balancing framework for adaptive and asynchronous applications”.
In: IEEE Transactions on Parallel and Distributed Systems 15(2) (2004), pp. 183–192.
[4] John Desmond Bernal and John Leslie Finney. “Random Close-Packed Hard-Sphere
Model. II. Geometry of Random Packing of Hard Spheres”. In: Discussions of the
Faraday Society 43 (1967), pp. 62–69.
[5] Christopher J. Bishop. “Nonobtuse Triangulation of PSLGs”. In: Unpublished manuscript
(2011).
[6] G. E. Blelloch, G. L. Miller, and D. Talmor. “Developing a practical projection-based
parallel Delaunay algorithm”. In: 12th Annual SYmposium on Computational Geometry
(1996), pp. 186–195.
[7] H. Blum. “A transformation for extracting new descriptors of shape”. In: MIT Press:
Models for the Perception of speech and Visual Form (1967), pp. 362–380.
[8] Adrian Bowyer. “Computing Dirichlet Tessellations”. In: Computer Journal 24(2) (1981),
pp. 162–166.
[9] M. H Brocard. “Etude d’un nouveau cercle du plan du triangle”. In: Assoc. Français
pour l’Academie des Sciences-Congrés d’Alger (1881).
[10] Siu-Wing Cheng, Tamal K. Dey, and J. R. Shewchuk. Delaunay Mesh Generation.
Chapman and Hall/CRC, 2012.
[11] Andrey N. Chernikov and Nikos Chrisochoides. “Parallel 2D Constrained Delaunay
Mesh Generation”. In: ACM Transactions on Mathematical Software (2006).
[12] Andrey N. Chernikov, Nikos Chrisochoides, and L. Paul Chew. “Design of a parallel
constrained Delaunay meshing algorithm”. In: (2005).
[13] L. Paul Chew. “Constrained Delaunay triangulations”. In: Aglorithmica 4(1) (1989),
pp. 97–108.
[14] L. Paul Chew. “Guaranteed-quality triangular meshes”. In: Technical Report TR 89-
983, Dept. of Comp. Sci. , Cornell University (1989).
[15] L. Paul Chew, Nikos Chrisochoides, and Florian Sukup. “Parallel constrained Delaunay
Meshing”. In: ASME/ASCE/SES Summer Metting, Special Symposium on trend in Unstructured
Mesh Generation, Northwestern University Evanston, IL (1997), pp. 89–96.
[16] Nikos Chrisochoides. “A survey of Parallel Mesh Generation Methods”. In: Lecture
Notes in Computational Science and Engineering (2006), pp. 237–264.
[17] Nikos Chrisochoides. “Multithreaded model for load balancing parallel adaptive computations”.
In: Applied Numerical Mathematics 6 (1996), pp. 1–17.
[18] Kenneth L. Clarkson and Peter W. Shor. “Applications of Random Sampling in Computational
Geometry, II”. In: Discrete & Computational Geometry 4(1) (1989), pp. 387–421.
[19] H. de Cougny and M. Shephard. “Parallel Volume meshing using face removals and
hierarchical repartitioning”. In: Comp. Mesh Appl. Mech Engng 174(3-4) (1999), pp. 275–
298.
98 ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ

[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 ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ

[63] J. R. Shewchuk. “TRIANGLE: Engineering a 2D quality mesh generator and Delaunay


triangulator”. In: Applied Computational Geometry: Towards Geometric Engineering,
M. C. Lin and D. Manocha, Eds. Lecture Notes in Computer Science, Springer-Verlag
1148 (1996), pp. 203–222.
[64] Hang Si. A 2D quality adaptive mesh generator and Delaunay triangulator. 2018. url:
http://www.wias-berlin.de/people/si/detri2.html.
[65] Hang Si. Unstructured Mesh Generation, Algorithms and Softwares. 2018. url: http:
//www.wias-berlin.de/people/si/course/.
[66] T. K. H. Tam et al. “Computing the critical points on the medial axis of a planar object
using a Delaunay point triangulation algorithm”. In: ().
[67] Joe F. Thompson, Bharat K. Soni, and Nigel P. Weatherill. Handbook of Grid Generation.
CRC Press, 1999.
[68] G. Voronoi. “Nouvelles applications des parametres continus a la theorie de formas
quadratiques”. In: Reine Angew. Math. (1907).
[69] Brandt J. W. and Algazi V. R. “Continuous skeleton computation by Voronoi diagram”.
In: Comput. Vision, Graphics, Image Process 55 (1992), pp. 329–338.
[70] David F. Watson. “Computing the n-dimensional Delaunay Tessellation with Application
to Voronoi Polytopes”. In: Computer Journal 24(2) (1981), pp. 167–172.

You might also like