Graphics Reference
In-Depth Information
Stellt man dieses Objekt mit diesen Koordinaten als Parallelprojektion dar, erhält
man die Optik einer Zentralprojektion. (Die Zahlenrechnung stammt von Ab-
schn. 8.3.1 .) Es ist kein Problem, wenn im Beispiel die Z V -Koordinaten negativ
sind, da man jetzt die Projektionsfläche entlang der Z V -Achse beliebig verschie-
ben kann.
Bei den Facettendaten sind Koordinaten ihrer Eckpunkte, die man sortieren könn-
te, normalerweise nicht gespeichert, sondern nur deren Zeiger P 0 -P 3 auf die zu-
gehörigen Knoten. Mit einem Vorlaufprogramm werden für jede Facette die Z V -
Koordinaten ihrer Knoten zusammengesucht und daraus der Mittelwert mitlZ ge-
bildet. Dieser Wert gehört in die Datenstruktur der Elemente. Anschließend werden
die Facetten sortiert nach fallenden Z V -Werten.
Public Structure Elemente ' Struktur der Elemente
Public ElKno As Short ' Anzahl Element-Knoten
Public GrundFarbe As Color ' Grundton der Farbe
Public P0, P1, P2, P3 As Short ' alle 2 | 3 | 4 Knoten-lfnr
Public nx, ny, nz, eD As Single ' Ebenen-Gleichung
Public mitlZ As Single
' mittlere Z-Tiefe Facette
Public Xmax, Xmin As Single
' max / min X-Ausdehnung
Public Ymax, Ymin As Single
' max / min Y-Ausdehnung
End Structure
Im gleichen Arbeitsgang lassen sich auch die maximalen/minimalen Ausdehnungen
der einzelnen Facetten auf der Projektionsfläche in X V - und Y V -Richtung feststel-
len. Diese sind hilfreich bei der Ermittlung der Hilfsrichtungen {r 1 } und {r 2 } ,siehe
Skizze oben und Abschn. 9.5.3 . Und schließlich lässt sich ebenfalls im gleichen
Arbeitsgang die gesamte Breite und Höhe der Szene ermitteln:
Dim j, k As Short
Dim Ecke(3) As Short
' lfnr-Zeiger auf die Knoten
Dim Temp As Single
' Zwischenspeicher
Dim Hmax, Hmin As Single
' max / min Xv-Koordinate
Dim Vmax, Vmin As Single
' max / min Yv-Koordinate
Dim Horzmax, Horzmin As Single
' max / min Szenen-Breite
Dim Vertmax, Vertmin As Single
' max / min Szenen-Höhe
Const Wert As Single = 9999.99
'
Horzmax = -Wert : Horzmin = Wert
Vertmax = -Wert : Vertmin = Wert
'
' Schleife über alle Facetten
Forj=1ToAnzFacet
Search WWH ::




Custom Search