PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rotation around arbitrary axis


Gast
2009-11-13, 11:27:48
Ich habe im 3D-Raum folgendes Problem:
Ich rotiere das Objekt um die X-Achse mit r0
Ich rotiere das Objekt um die Y-Achse mit r1
Ich rotiere das Objekt um die Z-Achse mit r2

Jetzt könnte ich ja einfach die Rotationsmatrizen multiplizieren und die Vertices damit multiplizieren und ich hätte was ich will.
Das Problem ist, dass ich ein bestimmtes Format ausgeben muss. Dieses sieht vor, dass ich EINEN Vektor angebe, um den ich rotiere. Dazu den Winkel, um den ich rotiere.

Wie lässt sich sowas berechnen (anhand obiger Informationen)?

Gast
2009-11-13, 11:37:16
Such mal nach Quaternion.

Gast
2009-11-13, 11:47:09
Danke für deine schnelle Antwort. Ich denke damit lässt sich was anfangen.

Pinoccio
2009-11-13, 12:03:36
Ich habe im 3D-Raum folgendes Problem:
Ich rotiere das Objekt um die X-Achse mit r0
Ich rotiere das Objekt um die Y-Achse mit r1
Ich rotiere das Objekt um die Z-Achse mit r2

Jetzt könnte ich ja einfach die Rotationsmatrizen multiplizieren und die Vertices damit multiplizieren und ich hätte was ich will.
Das Problem ist, dass ich ein bestimmtes Format ausgeben muss. Dieses sieht vor, dass ich EINEN Vektor angebe, um den ich rotiere. Dazu den Winkel, um den ich rotiere.

Wie lässt sich sowas berechnen (anhand obiger Informationen)?Ja, der Vektor um den du rotierst ist der Eigenvektor der resultierenden Matrix.

Quaternionen werden für meinen Geschmack überbewertet und sind zumindest numerisch nicht güntiger in diesem Fall.

mfg