Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zrozumieć rotację z użyciem Kwaternionów

Ostatnio zmodyfikowano wczoraj o godz. 21:01
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
Zrozumieć rotację z użyciem Kwaternionów
» 2025-08-23 12:36:28
Witam. Czytam obecnie książkę "Matematyka w programowaniu gier i grafice komputerowej" i aktualnie przerabiam rozdział z kwaternionami. Niestety nie są one wystarczająco opisane bym je w pełni zrozumiał. Zastanawiam się czy różnica między rotacjami elera a kwaternionami polega na tym, że w przypadku tych drugich osie są stale nawet po obrocie. To znaczy że osie są zawsze tak samo skierowane jak pierwotnie. Dobrze rozumiem?
P-182907
DejaVu
» 2025-08-23 21:01:29
Nie rozumiem... kilkukrotnie twierdziłeś, że używasz ChatGPT, a zadajesz pytania na które od ręki dostałbyś odpowiedź.

ChatGPT 5:
Świetne pytanie! Kwaterniony i kąty Eulera służą do opisu rotacji, ale działają na zupełnie innych zasadach. Wyjaśnię krok po kroku:

Rotacje przy użyciu kątów Eulera

Rotacje Eulera polegają na wykonywaniu obrotów kolejno względem osi układu współrzędnych (np. najpierw wokół X, potem wokół Y, potem wokół Z).

Problem polega na tym, że po każdym obrocie układ osi się zmienia – czyli kolejne rotacje wykonujesz już względem obróconych osi, a nie względem tych początkowych.
To prowadzi do zjawiska znanego jako gimbal lock (utrata jednego stopnia swobody).

Rotacje przy użyciu kwaternionów

Kwaternion to czterowymiarowy wektor, który przechowuje rotację w sposób bardziej „globalny”.

W praktyce oznacza to, że możesz zapisać „jedną rotację wokół jednej osi o pewien kąt”, a potem łączyć rotacje bez problemów, jakie mają kąty Eulera.

Najważniejsze: kwaterniony nie uzależniają się od bieżącego obrócenia osi układu współrzędnych tak jak rotacje Eulera.
Nie znaczy to jednak, że osie są „na stałe jak na początku”.
Bardziej chodzi o to, że kwaternion reprezentuje rotację jako całość – jako jedną transformację przestrzeni – a nie ciąg pojedynczych kroków w różnych lokalnych układach osi.

Twoje pytanie: „Czy w kwaternionach osie są zawsze skierowane tak samo jak pierwotnie?”

Nie do końca.

Jeśli używasz kwaternionu do opisania rotacji, to sam kwaternion mówi jak obrócić wektor z pozycji początkowej do końcowej.

Nie musisz więc śledzić zmieniających się osi jak w rotacjach Eulera – rotacja kwaternionowa jest opisana w sposób globalny.

Jednak po zastosowaniu rotacji przestrzeń też się obraca – więc osie układu obiektowego zmieniają się normalnie.

Różnica jest taka, że kwaternion nie zależy od kolejności obrotów i nie powoduje „skręcania się” osi jak w Eulera.

Podsumowanie

Euler: rotacje krok po kroku, względem osi, które zmieniają swoje położenie → podatne na gimbal lock.

Kwaterniony: rotacja zapisana jako jedna transformacja w przestrzeni → brak gimbal lock, łatwe łączenie rotacji, stabilniejsze obliczenia.
P-182909
« 1 »
  Strona 1 z 1