c ++ OpenGL Rotationen und Berechnungen

In einem OpenGL-Projekt habe ich eine Funktion, die das Modell dreht:

glRotatef(M_PI/4, 0, 0, 1); // um PI / 4 Radianten drehen, d. h. 45 Grad

Jetzt wenn ich den Punkt ziehe(0, 1) in Bezug auf die Rotation. Ich werde an dem Punkt sein (1 / sqrt (2), 1 / sqrt (2)), das ist nur Einheitskreisgeometrie. Die Punkte werden jedoch mit variablen Koordinaten gezeichnetx1, x2, y1, y2. Außerdem möchte ich aufhören zu zeichnen, nachdem meine Annäherung nahe genug ist.

Das Problem ist, dass meine Stoppkriterien immer noch in Bezug auf globale Koordinaten und nicht in Bezug auf die Rotation sind. Betrachten Sie beispielsweise y2 = y1, wobei die Gleichung die Transformation berücksichtigt. Somit wäre dies in den globalen Koordinaten nur y2 = y1 * sin (pi / 4) und y2 wird niedriger und rechts von y1 sein. Der Wert von y2 wird jedoch nur auf y1 gesetzt, und dies führt zu einem Problem bei meinen Stoppkriterien y2-y1, das dann Null wäre.

Wie kann ich den gedrehten Wert für y2 von OpenGL erhalten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage