glRotate

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glRotate


Name

glRotate - Multipliziert die aktuelle Matrix mit einer Rotationsmatrix.


Delphi-Spezifikation

procedure glRotated(angle: TGLdouble; x: TGLdouble; y: TGLdouble; z: TGLdouble);
procedure glRotatef(angle: TGLfloat; x: TGLfloat; y: TGLfloat; z: TGLfloat); 


Parameter

angle Bestimmt den Winkel mit dem gedreht werden soll.
x, y, z Spezifizieren die Koordinaten eines Vectors um den gedreht werden soll.


Beschreibung

Die glRotate Funktion multipliziert die aktuellen Matrix mit einer Rotationsmatrix. Durch diese Rotationsmatrix werden alle Punkte um angle Grad entgegen dem Uhrzeigersinn um eine Rotationsachse gedreht.
Die Parameter x, y, z geben den Endpunkt eines Vektors an, der im Koordinatenursprung beginnt (Ortsvektor). Um diesen Vektor werden die Punkte gedreht. (Er dient somit als Rotationsachse).

Die aktuell gesetzte Matrix (siehe glMatrixMode) wird mit der Rotationsmatrix multipliziert. Die Ausgangsmatrix wird mit dem Ergebnis dieser Multiplikation ersetzt.

Wenn M die aktuelle Matrix und R die Rotationsmatrix ist, dann bewirkt glRotate: M := M*R;


Hinweise

Wenn der aktuelle Matrixmodus (glMatrixMode) GL_MODELVIEW oder GL_PROJECTION ist, werden alle Objekte die nach einem Aufruf von glRotate gezeichnet werden, gedreht gezeichnet.
Benutzen Sie glPushMatrix bzw. glPopMatrix um die aktuelle Matrix zu sichern und wiederherzustellen.


Fehlermeldungen

GL_Invalid_Operation wird generiert, wenn glRotate innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGet mit Token GL_RENDER_MODE
glGet mit Token GL_MATRIX_MODE
glGet mit Token GL_MODELVIEW_MATRIX
glGet mit Token GL_PROJECTION_MATRIX
glGet mit Token GL_TEXTURE_MATRIX

Bespiele

Tutorial Matrix2 Rotate.png

Weitere Beispiele zur Auswirkung von glRotate findet man im Tutorial Matrix2.

Siehe auch

glMatrixMode, glMultMatrix, glPushMatrix, glScale, glTranslate