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.