Maximale Anzahl von Scheitelpunkten nach dem Abschneiden eines Dreiecks gegen einen AABB


8

Ich schneide ein 3D-Dreieck gegen eine 3D-Achsen-ausgerichtete Begrenzungsbox (AABB), um das größte planare Polygon des im AABB enthaltenen Dreiecks zu erhalten. Mein Clipping-Algorithmus ist eine (leicht modifizierte) Version des robusten Sutherland-Hodgman-Algorithmus (z. B. Clipping-Ebenen haben eine geringe endliche Dicke), wie in C. Ericsons Echtzeit-Kollisionserkennung beschrieben. Ich schneide das Dreieck gegen jede der 6 Ebenen, aus denen der AABB besteht.

Um eine Heap- (De-) Zuordnung zu vermeiden, habe ich vorab einen Punktpuffer mit fester Größe auf dem Stapel für alle Eckpunkte des erhaltenen planaren Polygons zugewiesen. Meine Frage ist nun: Wie viele Scheitelpunkte kann maximal erreicht werden, wenn ein Dreieck gegen einen AABB geklippt wird?

Basierend auf dem Kontrollfluss kann jeder untersuchte Scheitelpunkt während eines Überschneidens der Polygonebene zu zwei Scheitelpunkten führen. Also Eckpunkte. Aufgrund der Symmetrie werden dies 3 2 3 = 24 Eckpunkte. In der Praxis erhalte ich jedoch immer weniger Eckpunkte.326323=24

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.