Rotation in 3D-Raum

Neue Frage »

hugoW. Auf diesen Beitrag antworten »
Rotation in 3D-Raum
Guten Tag!

Angenommen, ich habe eine Kamera, die an einer Wand befestigt ist und mit leichter Neigung auf den Boden guckt. Die Kamera ist in der Lage die Tiefe von Punkten zu bestimmen, so dass ihre Ausgabe 3D-Punkte sind. Das Koordinatensystem der Kamera sei so definiert, dass die z-Achse von der Kamera hoch zeigt, die y-Achse der Sichtrichtung der Kamera entspricht und x orthogonal zu beiden Achsen nach rechts von der Kamera zeigt.
Nimmt man nun mit dieser Kamera eine Szene auf, so entspricht der Boden der Szene nicht der xy-Ebene des Kamerakoordinatensystems.

Aufgabe: Finde die Rotationsmatrix, die sozusagen die xy-Ebene und die Bodenebene aufeinander legt.

Ich glaube, dass es sich hierbei um die Rotation um die x-Achse handelt, und zwar um den Winkel zwischen der z-Achse und der normalen der Bodenebene.
Ich würde nun berechnen:
winkel = acos(dot(normale_bodenebene, z-Achse));

Rotationsmatrix:
1 0 0
0 cos(winkel ) -sin(winkel )
0 sin(winkel ) cos(winkel )

Ist das korrekt so?
Muss ich sicherstellen, dass die z-Achse und die Normale der Bodenebene in die gleiche Richtung zeigen oder so etwas? Auf was muss ich noch achten?

Herzlichen Dank!
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »