3D-Konvexhülle

Untersuche eine Punktwolke oder ein geometrisches Beispiel, seine konvexe Hülle und die Rolle jedes Punktes.

About this tool

Wähle eine Punktmenge und dann Berechnen. Die konvexe Hülle ist die kleinste konvexe Menge, die alle Eingabepunkte enthält. Die Beispiele umfassen ein Tetraeder, einen Würfel mit Innenpunkt, Flächenpunkt und doppelter Ecke, eine ebene Menge, eine Gerade und gleiche Punkte. Für eine Zufallswolke gelten eine ganze Anzahl von 4 bis 80 und ein ganzzahliger Seed von 1 bis 999999. Gleiche Anzahl und gleicher Seed ergeben dieselben Punkte. Jede Koordinate entsteht als (u − 0,5)·3 aus der vorhandenen Mulberry32-Folge.

Eine Hülle kann ein Punkt sein (Dimension 0), eine Strecke (1), ein ebenes Polygon (2) oder ein geschlossenes Polyeder (3). Mengen geringerer Dimension sind gültige Ergebnisse. Exakt gleiche Koordinaten werden zusammengefasst; die Duplikatzahl nennt die entfernten Eingabeeinträge. Hüllecken sind die extremen Punkte. Weitere Punkte können auf dem Rand oder im relativen Inneren liegen. Bei einer Ebene oder Strecke bedeutet „innen“ innerhalb dieser Ebene oder Geraden, nicht innerhalb eines dreidimensionalen Volumens.

Das Diagramm zeigt echte Polygonflächen und Kanten. Ein Würfel besitzt etwa sechs Vierecksflächen und zwölf Kanten. Diagonalen zur Flächenberechnung oder Triangulierung sind keine zusätzlichen Hüllkanten. Kreise kennzeichnen Hüllecken, umrandete Quadrate weitere Randpunkte und Rauten innere Punkte. Der gewählte Punkt erhält einen äußeren Ring. Tippe nahe an einen gezeichneten Punkt oder verwende den nummerierten Index. Indizes beziehen sich auf eindeutige Punkte; die Liste der Eingabepositionen nennt auch mehrfach vorhandene Einträge. Eine neue Punktmenge beginnt mit Index 1.

Ansicht. Die orthografische Projektion verwendet einen gemeinsamen räumlichen Maßstab. Der Blickwinkel dreht um die räumliche y-Achse, danach wirkt die Neigung um die waagerechte Bildschirmachse. Die Achsentriade folgt derselben Drehung; gestrichelte Achsenstücke weisen vom Betrachter weg. Flächen sind durchscheinend, alle Punktmarkierungen bleiben bewusst durch sie sichtbar. Die Ansicht bietet Durchsicht durch die Hülle, keine exakte Verdeckungsberechnung. Überlappen Punkte in der Projektion, sind sie über ihren Index erreichbar. Hülle und Punkte schalten nur die jeweiligen Zeichnungsebenen. Ansicht und Auswahl erzeugen weder neue Punkte noch eine neue Hüllenberechnung.

Koordinaten verwenden beliebige Einheiten. Oberfläche in 3D und Polygonfläche in 2D haben Quadrateinheiten; die ebene Polygonfläche zählt einfach, nicht als doppelte Oberfläche. Das Volumen hat Kubikeinheiten und ist unterhalb von Dimension 3 null. Koordinaten, Projektionen, Flächen und Volumen verwenden Gleitkommazahlen. Topologische Entscheidungen beruhen auf exakten ganzzahligen Orientierungsvorzeichen für die tatsächlich von JavaScript gespeicherten binären Koordinaten, auch bei fast koplanaren Punkten. Dadurch werden Flächen- und Volumenmaße nicht exakt. Es handelt sich nicht um eine Implementierung von Shewchuks adaptiven Prädikaten.

Änderungen an den Punktparametern entwerten das Ergebnis; Berechnen erfolgt ausdrücklich. Die letzten gültigen Zufallswerte für Anzahl und Seed bleiben während anderer Beispiele erhalten. Zurücksetzen leert das Ergebnis und behält die Eingaben. Die lokale Zustandsspeicherung kann gültige Parameter, Ansicht und Punktindex erhalten. Beim Zurückkehren innerhalb der App kann die bestehende Hülle erhalten bleiben. Ein Neuladen stellt die Einstellungen wieder her und wartet auf Berechnen. Es gibt keine Animation, keinen freien Punkteditor, keinen Import und keine WebGL-Abhängigkeit.

Quellen: CGAL 6.2.1: 3D Convex Hulls, Introduction und Lower Dimensional Results, zu konvexen Hüllen und Dimension; Jonathan Richard Shewchuk, Robust Predicates, zu Orientierungsvorzeichen und Rundungsfehlern nahe Entartung. Es werden keine Programme oder Abbildungen aus diesen Quellen verwendet.