Graphics Reference
In-Depth Information
Abb. 9.11 Überdeckung zweier Facetten
Ob nun Knoten der Facette(k) im Inneren der Facette(j) liegen und umge-
kehrt ist für den Painteralgorithmus nicht von Belang. Allerdings lässt sich das
Programm beschleunigen, wenn vollständig abgedeckte Facetten - Fall C in
Abb. 9.10 - als unsichtbar markiert werden, wenn also alle Z-Koordinaten der
grünen Facette größer sind als die des roten Vierecks. Man erspart sich damit
die wiederholte Prüfung einer Facette, von der bekannt ist, dass sie von einer
anderen vollständig verdeckt wird. Dieser zusätzliche Test ist umso effektiver
je unterschiedlicher die Facettengrößen sind.
Call Verdeckt (prüfen ob Facette(k) Facette(j) überdeckt)
Die zugehörigen Ebenen zweier Facetten haben normalerweise eine beliebige
Lage und werden sich irgendwo schneiden, sofern sie nicht parallel sind. Dies
gilt für alle in Abb. 9.10 skizzierten Fälle A-E. Liegen zwei Facetten dagegen
unmittelbar im Schnittbereich ihrer Ebenen, so entsteht eine Durchdringung
wie im Fall E. Dieser Fall wird im Programm zwar als „Modellfehler“ erkannt,
aber nicht weiter behandelt. Hierzu prüft das Programm ‚ Call Abstand ', ob
alle Knoten von F(k) auf der gleichen Seite der durch F(j) aufgespannten Ebene
liegen; ebenfalls auch die Gegenprobe: alle Knoten von F(j) einseitig zu der
durch F(k) aufgespannten Ebene.
Call Abstand (Ebene(j), alle Knoten(k), berechne Abstk und InAus )
Call Abstand (Ebene(k), alle Knoten(j), berechne Abstj und InAus)
Die Ebenengleichung von F(j) lässt sich mit den Koordinaten ihrer Knoten
aufstellen; siehe Abschn. 11.3.4 . Die (senkrechten) Abstände aller Knoten von
F(k) haben das gleiche Vorzeichen, wenn sie auf der gleichen Seite der durch
F(j) aufgespannten Ebene liegen; siehe Abschn. 11.3.6 .
Search WWH ::




Custom Search