wuerde gerne ein objekt in 4 richtungen auf einer ebene rollen lassen. (up, down, left, right)
wenn das objekt rollt, soll es um seine obj-achse rotieren, wie es bei einer rollbewegung ueblich ist.

folgendes problem:
die achsen rotieren mit dem obj zusammen und muessen daher nach einer rotation wieder parallel zur ebene, auf der das obj rollt, gesetzt werden.

im beispielpatch “test_rot” sieht man, wie das obj zwar korrekt um die y-achse rotiert, danach aber nicht mehr korrekt um die x-achse.

Falls jemand ne idee zu dem problem hat …


you could try to modify the object axis rotation used in kiilo - FlyingCamera … ?

the behaviour you describe sounds like a well known problem with the concept of rotating objects around three different axis (“euler angles”) its more like a mathematical/conceptual problem

googling for “gimbal lock” returned the following article which explaines the problem quite nicely… see they write Gimbal lock is frustrating problem that every CG artist will face sometime in their career and it always happens at the worst possible time and have a little animated gif showing the problem.

tonfilm has written some excellent articles about Quaternions here in the wiki.
this other article goes more in the math:

basically it boils down that we have to think about a simple solution for all those without mathematical background some time…

thanks for your replies.
but i think my explanation of the problem was not quite good.
so i’m going to try it again.

but in german :-) :

(es ist meiner meinung nach kein gimbal lock problem.)

nocheinmal zur problemstellung:
wenn ich z.b. eine reale kugel auf einer realen faeche bewegen will, rotiert die kugel um starre achsen auf der flaeche(-> genau das will ich) und bewegt sich in die richtung orthogonal zu dieser achse.

wenn ich eine kugel in vvvv rotieren lasse, rotieren die obj.-achsen der kugel mit.
dadurch rotiert die kugel, wenn sie sich z.b. in eine richtung a um 180° gedreht hat, danach in die dazu orthogonale richtung ( falsch herum), da sich die obj.-achse, um die sie dann rotiert ebenfalls um 180° gedreht hat.

ich hoffe, dass ich nun etwas verstaendlicher umschrieben habe, wo mein problem liegt.

Please check out “Roll (Transform)” on my User Page (Link).
It should solve the problem I think.