glRotate - помножити поточну матрицю на вказану матрицю обертання.

C специфікація

void glRotated (GLdouble angle,
                GLdouble x,
                GLdouble y,
                GLdouble z) ;
 
void glRotatef (GLfloat angle,
                GLfloat x,
                GLfloat y,
                GLfloat z) ;

Параметри

angle - значення вказує кут обертання у градусах. x, y, z - вказує координати x, y, z вектора обертання.

Опис

Команда glRotage виконує обертання на кут angle градусів навколо вектора x, y, z. Поточна матриця (перегляньте glMatrixMode) перемножується на матрицю обертання і результат заміщує поточну матрицю. Результат відповідає виклику команди glMultMatrix з наступною матрицею у якості аргументи:

x2 ⁡ 1 - c + c x ⁢y
1 - c - z ⁢ s x ⁢ z 
1 - c + y ⁢ s0 y ⁢ x ⁡ 
1 - c + z ⁢ s y2 ⁡ 
1 - c + c y ⁢ z ⁡ 1 - c - x ⁢ 
s0 x ⁢ z ⁡ 1 - c - y ⁢ 
s y ⁢ z ⁡ 1 - c + x ⁢
s z2 ⁡ 1 - c + c0 
0 0 0 1
Де, c=cos(angle); s=sin(angle); і x*y*z=1 (якщо ні, OpenGL автоматично нормалізує даний вектор). Якщо режим поточної матриці являється GL_MODELVIEW або GL_PROJECTION, усі об'єкти, які конструюються після виклику команди glRotate будуть оберненими відповідно. Використовуйте glPushMatrix i glPopMatrix для збереження і відновлення поточної матриці до не оберненої координатної системи.

Примітка

Обертання відбувається по правилу правої руки, отож якщо вектор x, y i z вказує до користувача, обертання буде відбуватися проти годинникової стрілки.

Помилки

GL_INVALID_OPERATION генерується коли команда glRotate викликається після виклику glBegin і до відповідного виклику glEnd.

Пов'язані параметри

glGet з аргументом GL_MATRIX_MODE glGet з аргументом GL_COLOR_MATRIX glGet з аргументом GL_MODELVIEW_MATRIX glGet з аргументом GL_PROJECTION_MATRIX glGet з аргументом GL_TEXTURE_MATRIX

Перегляньте також

glMatrixMode, glMultMatrix, glPushMatrix, glScale, glTranslate,  Вступ до OpenGL (Open Graphics Library) - відкрита графічна бібліотека Оригінал: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glRotate.xml