Der Up-Vektor
Verfasst: 19.04.2009, 21:29
Es geht um diesen gemeinen Vektor der das Rollen ermöglicht.
Auf XZ-Ebene funktioniert er so wie erwartet. Doch bekomme ich den restlichen Funktionsterm für die Y-Achse nicht heraus. Hier erstmal meine Herangehensweise:
RotationX ist die aktulle Kamerarotation. RotationY die aktuelle vertikale Kamerarotation. CamRotationX ist die zusätzliche Rotation (rollen). Alles in Radiant.
Drehe ich mich nach unten, so verzerrt sich die Rotation merkwürdig. Hat jemand eine Idee was schief läuft?
Auf XZ-Ebene funktioniert er so wie erwartet. Doch bekomme ich den restlichen Funktionsterm für die Y-Achse nicht heraus. Hier erstmal meine Herangehensweise:
Code: Alles auswählen
void SetUpDir( const float RotationX, const float RotationY,
const float CamRotationX)
{
_PositionUp.z = -sin(CamRotationX);
_PositionUp.y = cos(CamRotationX);
_PositionUp.x = sin(CamRotationX)*cos(RotationX);
}
Drehe ich mich nach unten, so verzerrt sich die Rotation merkwürdig. Hat jemand eine Idee was schief läuft?