01.03.2013 Aufrufe

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Folglich ergibt sich für die Berechnung einer separierenden Achse folgender<br />

Ausdruck:<br />

r r<br />

T ⋅ L<br />

><br />

∑<br />

i<br />

r<br />

i<br />

a A ⋅ L +<br />

i<br />

∑<br />

i<br />

r<br />

b B<br />

i<br />

i<br />

⋅ L .<br />

Ist dieser erfüllt, so separiert L die beiden getesteten Boxen und diese<br />

überlappen sich folglich nicht.<br />

3.3.7 Primitivtest<br />

Bisher wurden lediglich Überschneidungstests zwischen Hüllvolumen betrachtet.<br />

Handelt es sich hierbei im Falle einer Überlappung um Blattknoten in der<br />

entsprechenden Hierarchie, so muss für eine exakte Kollisionserkennung eine<br />

Untersuchung der von den Volumen eingeschlossenen Geometrie durchgeführt<br />

werden.<br />

Zunächst soll analysiert werden, welche geometrischen Primitive zu erwarten<br />

sind und welche Möglichkeiten für einen gegenseitigen Überlappungstest<br />

bekannt sind.<br />

3.3.7.1 Geometrie<br />

Die Java3D – Geometrie eines Shapes besteht aus Punkten, Linien, Dreiecken<br />

oder Vierecken. Prinzipiell müssten also für alle diese Primitive Überlappungstests<br />

implementiert werden. In der vorliegenden Arbeit soll sich der<br />

Primitivtest jedoch auf Dreiecke beschränken. Grund hierfür ist, dass es sich<br />

bei den durch die FileLoader geladenen Bauteile in der Regel um<br />

dreidimensionale Objekte handelt, deren äußere Hülle durch Flächen (Dreiecke<br />

oder Vierecke) approximiert wird. Sollte es sich bei diesen Flächenstücken um<br />

Vierecke handeln, so können diese leicht trianguliert werden.<br />

Für den Schnittest zweier Dreiecke existieren eine Reihe von Verfahren. Die<br />

Literaturrecherche ergab, dass die am häufigsten Verwendung findenden<br />

Algorithmen diejenigen von [Möller97], [Held97] und [Devillers02] sind,<br />

welche im folgenden vorgestellt werden sollen.<br />

3.3.7.2 Möller<br />

[Möller97] beginnt mit der gegenseitigen Lageuntersuchung jedes Dreiecks in<br />

Bezug auf die durch das andere Dreieck aufgespannte Ebene. Liegen alle<br />

Eckpunkte jeweils im gleichen Halbraum und keiner auf der Ebene, so<br />

überlappen sich die Dreiecke nicht und der Test kann abgebrochen werden.<br />

Andernfalls schneiden die Dreiecke die Schnittgerade L der durch sie<br />

aufgespannten Ebenen (Abbildung 3-33). Ein Test der Intervalle [t3,t4]und<br />

[t1,t2] auf Überschneidungen liefert schlussendlich ein Ergebnis.<br />

61

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!