Schnell Hull ist ein Algorithmus zur Berechnung der konvexen Hülle Einer belieber ENDLICH Menge von Punkten im Zwei- oder Drei Dimension Präambel Raum. Die konvexe Hülle Einer Menge von Punkten Wird beschrieben Durch EINEN geschlossenen Polygonzug , wo verbindung sehr sterben Extremalpunkte der Menge darstellt, und SOMIT alle Punkte der Menge einschließt. Eine Hauf Verwendete intuitive Erklärung of this Hülle ist ein Gummiband, Welches sich um Menge Punkt spannt sterben. Dieses Bild, wenn es straff auf allen äußeren Punkten aufliegt, die konvexe Hülle der Punkteanzahl.
Namensgebung und Entstehung
Der Name QuickHull ist ein Begriff aus der Einfachheit zu Quicksort , ein Algorithmus zum Sortieren beliebiger Titel. Ist findet zum Ersten Mal Erwähnung im Buch Computational Geometrie von Franco Preparata und Michael Shamo, [1] in ihnen beschriebenen Algorithmus vorstellen, wo sterben Idee Anderer Autoren aufgreift Beiden Autoren die hier sterben. [2] [3] [4]
Grundidee
Die algorithmische Idee zu QuickHull kommt so schnell wie möglich mit dem Prinzip “ Teile und Herrsche „. Es Vorgehensweise, das Problem in kleine Mehrere Probleme zu unterteilen und this Dann Durch anwendung des Gleichen Algorithmus beschreibt zu sterben rekursiv zu Piloten. In diesem zusammenhang Wird Versucht oft, sterben Teilung so geschickt zu wählen that Durch this BEREITS herausfallen Eine große Anzahl von ungültigen Lösungsmengen. Durch this Art des Aufbaus can Algorithmus, sterben nach diesem Prinzip Entworfen Worden, Hauf einfach und gut lesbar implementiert Werden, da sie Eine verständliche rekursive Struktur BESITZ.
Beispiel
Zur Bestimmung der Ersten aufteilung der Menge Werden sterben Beiden Extremalpunkte wo X-Achse gesucht. Sie können auch gerne nach links gehen und Ihre Zeugnisse erhalten. Diese Punkte bereiten den Polygonzug der Konvexen vor Sie waren umso erfolgreicher, um extrem starke Datei zu garantieren.
Beide unterstreichen das Bild Eine Sache , welches Punktmenge in Zwei Bereiche markiert. Alle Punkte Links von der gerade repräsentieren Eine Menge und alle Punkte rechts von der Gerade andere sterben. Rechts und Links Ergeben sich in diesem zusammenhang aus dem Winkel between sie RICHTUNG Vector wo Trennungsgeraden und ihnen Vektor Durch den Anfangspunkt bestimmt der gerade und zu den überprüfenden Punkt. Ist of this Winkel kleiner als 180 °, Dann Wird der Punkt als rechts gerade betrachtet von der, bei Winkeln Grösser 180 ° als Links von ihr.
Die Beiden Durch this Gerade Getrennt Punktmengen Werden nun rekursive with the Quickhull Algorithmus weiter Verarbeitet. In diesem Fall freuen wir uns auf Teil der Punktemenge. Alle Befragten finden gleichermaßen wie auf de rechten Teil zu.
Innerhalb der betetet Point of interest wird je ner Punkt bestimmt, wer die maximale Distanz von der Geraden einnimmt. This is offensichtlich ebenfalls eine Datei des seufzenden Polygonzugs. Zusammen mit dem Start- und Endpunkt der Geraden ergibt ein Dreieck.
Das Dreieck setzt die Sichtung auf den Punkt, alle Philosophen der konvex-hülle-Polygone. Aus diesem Grund können alle Punkte im Inneren dieses Dreiecks Nichte File Style Polygons Signal, wenn sie in seinem Inner Lügen gemacht werden. Alle Einstiche im Bereich des Dreiecks können auch rekursiv sein, Aufrufe des Algorithmus wurden ignoriert.
Diejenigen, die als „Seiten des Dreiecks“ entlassen wurden, wurden aufgrund von Trenneraden der Punktemenge entlassen. Alle von ihnen übriggebliebenen Punkte spiegeln eine Menge wider, alle Punkte rechts vom dem Dreieck.
This rekursive aufteilung und Determination Weitere Punkte so lange Wiederholt Wurden, bis nur noch der Start-und Endpunkt, wo Trenngeraden bestandteil der zu betrachtenden Punkt Menge Ist, denn in diesem Fall ist bereit that this Gerade ein Segment Dezember gesucht Polygonzugs darstellt.
Literatur
- Hochspringen↑ Franco P. Preparata , Michael Ian Shamos : Algorithmische Geometrie . Eine Einführung. 1. Auflage. Springer-Verlag , 1985, ISBN 0-387-96131-3 .
- Hochspringen↑ William F. Eddy : Ein neuer konvexer Rumpfalgorithmus für Planar-Sets . In: ACM-Transaktionen mit mathematischer Software . 3, 1977, S. 393-403.
- Hochspringen↑ Alex Bykat : Konvexer Rumpf eines endlichen Satzes von Punkten in zwei Dimensionen . In: Informationsverarbeitungsbriefe . 7, 1978, S. 296-298.
- Hochspringen↑ PJ Grün , BW Silverman : Konstruieren des Konvexen Rumpfes oder einer Menge von Punkten in der Ebene . In: Computerzeitschrift . 22, 1979, S. 262-266.