c ++ OpenGL rotaciones y cálculos
En un proyecto OpenGL, tengo una función que rota el modelo:
glRotatef(M_PI/4, 0, 0, 1);
// rotar por PI / 4 radianes, es decir, 45 grados
Ahora cuando señalo el punto(0, 1)
Con respecto a la rotación. Estaré en el punto (1 / sqrt (2), 1 / sqrt (2)) esto es solo la geometría del círculo unitario. Sin embargo los puntos serán dibujados con coordenadas variables.x1, x2, y1, y2
. Además, me gustaría dejar de dibujar después de que mi aproximación esté lo suficientemente cerca.
El problema es que mis criterios de detención siguen siendo en términos de coordenadas globales y no con respecto a la rotación. Por ejemplo, considere y2 = y1 donde la ecuación respeta la transformación. Por lo tanto, en las coordenadas globales, esto sería simplemente y2 = y1 * sin (pi / 4), por lo que y2 será inferior y a la derecha de y1. Sin embargo, el valor de y2 simplemente se establece en y1 y esto crea un problema en mis criterios de detención y2-y1 que luego sería cero.
¿Cómo puedo obtener el valor rotado para y2 de OpenGL?