Graphics Reference
In-Depth Information
Abb. 9.9
Koordinatenvergleich für die
X
V
-Richtung
Wenn F(j) wirklich die am weitesten hinten liegende Facette ist/sein soll, darf
sie weder eine andere verdecken - die dann ja noch weiter hinten läge - noch mit
anderen Facetten eine nicht eindeutige Verdeckung bilden. Dies muss für alle in
der Liste noch folgenden Facetten geprüft werden.
ZVjmin
D
kleinste Z
V
-Koordinate aller Knoten von Facette(j)
For k = j+1 To AnzFacet
Bei den ersten drei Prüfungen geht es um die Frage, ob F(j) und die zu
prüfenden Facetten voneinander separiert sind, d. h., sie sind entweder in Tie-
fenrichtung ohne Überschneidung hintereinander positioniert, oder sie liegen
auf der Projektionsfläche horizontal nebeneinander oder vertikal untereinan-
der. Hierzu genügen Koordinatenvergleiche (Abb.
9.9
).
Begonnen wird mit der
Z
V
-Richtung um sicherzustellen, dass die Tiefensortie-
rung stimmt. Sobald einer der Tests zutrifft, sind weitere Prüfungen nicht mehr
nötig, diese werden mit „
GoTo Ende_k
“ übersprungen, der Facettenzähler j
wird um 1 erhöht, und für den Rest der Liste beginnt die ganze Prozedur von
vorne.
ZVkmax
D
größte Z
V
-Koordinate aller Knoten von Facette(k)
' in Tiefenrichtung separiert ?
' prüfen in ZV-Richtung
If ZVjmin >= ZVkmax Then
F(j) liegt hinter F(k) und wird ggf. beim Zeichnen von F(k) ganz oder teil-
weise übermalt. F(j) kann also an der aktuellen Stelle der Liste bleiben.
Weitergehende Prüfungen mit allen anderen Facetten sind nicht nötig, da
diese ja nach absteigenden
Z
V
-Werten sortiert sind.
GoTo Ende_k
End If
' horizontal separiert ?