Transformationen
Fast alle formgebenden Befehle erstellen die gewünschte Geometrie in einer fest vorgegebenen Beziehung zum aktuellen Koodinatensystem, z.B. kann eine Kugel nur im Koordinatenursprung erstellt werden, um eine Kugel nun an einem beliebigen Ort zu Erstellen muss das Koordinatensystem zu diesem Punkt verschoben werden (TRANS x, y, z
). Transformationen werden nacheinander ausgeführt und auf einem Stack gespeichert, sie können einzeln oder als Block zurückgesetzt werden. 2D und 3D Befehle arbeiten mit getrennten Koordinatensystemen und -stacks und beeinflussen sich nicht gegenseitig.
2D Transformationen
TRANS2 x, y:
verschiebt das Koordinatensystem
ROT2 alpha:
rotiert das Koordinatensystem um alpha
Grad.
SCALE2 x, y:
skaliert das Koordinatensystem, die Koordinaten der nachfolgenden Befehle werden mit dem aktuellen Skalierungsfaktor multipliziert, negative Werte führen zu gespiegelten Koordinaten. z.B. SCALE -1, 1: P(2, 0) -> P'(-2, 0)
, Spiegelung um die Y-Achse
3D Transformationen
TRANS x, y, z:
verschiebt das Koordinatensystem entlang der X-, Y- und Z-Achse.
TRANSX x:
verschiebt das Koordinatensystem entlang der X-Achse.
TRANSY y:
verschiebt das Koordinatensystem entlang der Y-Achse.
TRANSZ z:
verschiebt das Koordinatensystem entlang der Z-Achse.
ROT x, y, z, alpha:
freie Rotation um alpha
Grad, Rotationsachse ist der Vektor (x, y, z)
.
ROTX alpha:
rotiere das Koordinatensystem alpha
Grad um die X-Achse.
ROTY alpha:
rotiere das Koordinatensystem alpha
Grad um die Y-Achse.
ROTZ alpha:
rotiere das Koordinatensystem alpha
Grad um die Z-Achse.
SCALE x, y, z:
skaliert die X-, Y- und Z-Koordinate, Werte < 1 stauchen das Koordinatensystem, Werte > 1 strecken das Koordinatensystem, negative Werte ergeben gespiegelte Koordinaten.
SCALEX x:
skaliert nur die X-Koordinate.
SCALEY y:
skaliert nur die Y-Koordinate.
SCALEZ z:
skaliert nur die Z-Koordinate.
Transformations-Stack
Soll das Koordinatensystem durch eine Transformation verändert werden, landet das bisher unveränderte Koordinatensystem auf dem Stack, erst danach wird die Transformation des Koordinatensystems durchgeführt. Dadurch kann das Koordinatensystem in einen vorangegangenen Zustand zurückgesetzt werden.
RESTORE n [, s]:
Geht n
Schritte zurück, wenn s
angegeben wird beginnt das Zurücksetzen mit s
-ten gespeicherten Zustand.
RESTORE ALL:
setzt alle Transformationen zurück
NUM_TR():
liefert die Anzahl der derzeit gepeicherten Zustände.