3D Rotation (X Achse)
-
Moin!
Ich versuche, einen kleinen Software 3D Renderer zu implementieren und suche die Formel für die 3D Rotation (Momentan X Achse).
Ich teste momentan diesen OpenGL ähnlichen Ansatz - Also erst das Koordinatensystem transformieren und dann alle Vertices mit der "vortransfortierten" Matrix multiplizieren. Meine Rotation sieht aber noch etwas merkwürdig aus (Verzerrt etwas auf der Y-Achse). Ist diese Formel korrekt?fAngle = DegToRad(fAngle); fAngleCos = Math.cos(fAngle); fAngleSin = Math.sin(fAngle); fNewY = (float)(fAngleCos * fOldY + fAngleSin * fOldZ); fNewZ = (float)(fAngleCos * fOldZ - fAngleSin * fOldY);
-
Rotationsmatrizen im R³
(das waere wirklich leicht zu finden gewesen)
-
-
Cpp_Junky schrieb:
Ist diese Formel korrekt?
fAngle = DegToRad(fAngle); fAngleCos = Math.cos(fAngle); fAngleSin = Math.sin(fAngle); fNewY = (float)(fAngleCos * fOldY + fAngleSin * fOldZ); fNewZ = (float)(fAngleCos * fOldZ - fAngleSin * fOldY);
Das sieht alles ok aus.