Witam,
nie wiem czy tytuł wątku jest zbyt trafny, ale nie wiem jak inaczej mogę opisać mój problem.
Mam pewien obiekt na scenie i gdy chcę go obrócić np. w dół(względem osi x), a następnie w prawo(względem osi y) to obiekt wraca na swoje miejsce, chyba dlatego że razem z nim, po obrocie w dół, obraca się również jego oś.
W jaki sposób mogę obrócić obiekt względem "globalnej" osi?
0
0
obróć najpierw „w prawo”, a potem „w dół”.
1
Dookoła wybranej osi najprościej będzie chyba za pomocą kwaternionów.
u - wektor osi obrotu (jednostkowy), f - kąt obrotu
i obliczamy:
q = cos(f/2) + sin(f/2) * u;
q' = cos(f/2) - sin(f/2) * u;
I to już prawie wszystko - wystarczy tylko obliczać: p' = q * p * q'
p' - to punkt po obrocie p = (x,y,z) dookoła u o kąt f.