Jak możesz wizualizować kwaternion?

24

Kiedy wizualizuję trójwymiarową macierz obrotu lub macierz skalowania, wizualizuję ją jako trzy osie.

Czy istnieje podobny sposób wizualizacji czwartorzędu obrotu?

CiscoIPPhone
źródło
To nie jest tak naprawdę wizualizacja, ale ktoś kiedyś powiedział mi to jako „liczby zespolone: ​​2 :: quaternions: 4”
coderanger

Odpowiedzi:

19

Istnieje cała 600-stronicowa książka na temat „Wizualizowanie czwartorzędów”: http://books.google.ca/books?id=CoUB09xzme4C&lpg=PP1&ots=uEdJHsni9y&dq=Visualizing%20Quaternions&pg=PP1#v=onepage&q&f=false

Książka jest całkiem dobra i obejmuje szeroki zakres tematów. Zaczyna się od dobrego wprowadzenia do algebry liniowej związanej z grą, mówi o macierzach i wektorach, ich wadach i dlaczego chcesz używać Quaternions. Następnie wyjaśnia, czym są i jak z nich korzystać. Jeśli jesteś zainteresowany, możesz go podnieść: http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003

zfedoran
źródło
1
+1 dla „wizualizacji”, quaternions jego wielkiej książki, które to też zaleca
Maik Semder
7
Chociaż fajna książka, jeśli ten link kiedykolwiek się zepsuje, ta odpowiedź będzie całkowicie bezużyteczna. Sugeruję podanie w odpowiedzi niektórych informacji na temat wizualizacji czwartorzędów.
MichaelHouse
10

Jedną z metod wizualizacji, że jak to przedstawiają kwaternion (orientacja w przestrzeni 3d) jako wektor ( x, y, z komponentów) + wirowania (rotację wokół tego wektora, przechowywany w wag składnika).

Jeśli szukasz wizualizatora online dla czwartorzędów, zawsze możesz użyć wolframalpha:

http://www.wolframalpha.com/input/?i=quaternion%3A+0%2B2i-j-3k&lk=3

Spójrz na wizualizację oznaczoną jako „odpowiadający obrót 3d” (wektor 3d + obrót):

wprowadź opis zdjęcia tutaj

Uznałem, że jest to przydatne podczas pracy z czwartorzędami w moim silniku 3D.

PolGraphic
źródło
1
Natychmiastowa odpowiedź! W ten sposób ludzie mogą również zrozumieć mechanizm SLERP, ponieważ mogą obrazować czwartorzędy na kuli 3D, podczas gdy spin może być postrzegany jako ruch rotacji skalarnej przez ten wektor (zgadnij, że jest to coś podobnego do tego, co niektórzy matematycy nazywają rotorem -> geometricalgebra). net / quaternions.html ).
teodron
7

Wizualizuję moje ćwiartki jako wektory trójwymiarowe (kierunek + długość) nieco z boku, aby móc pokazać obrót wzdłuż osi wektora.

Jest to powszechny sposób wizualizacji wektora obrotu w fizyce, ale nazwa mi ucieka.

drxzcl
źródło
3
Obrót osi kątowej?
CiscoIPPhone
4

Niekoniecznie potrzebujesz alternatywnej techniki wizualizacji dla czwartorzędów w porównaniu do macierzy.

Kiedy wizualizujesz swoją macierz obrotu jako 3-osiowy gizmo, tak naprawdę wizualizujesz orientację. Ponieważ czwartorzęd również reprezentuje orientację, rozważ kontynuowanie używania swojego 3-osiowego gizmo jako obiektu wizualizacji oka twojego umysłu.

Rzadko, zarówno w przypadku czwartorzędów, jak i macierzy, musisz powiązać rzeczywiste wartości składników w swojej wizualizacji, więc tylko dlatego, że wartości składników czwartorzędu nie odnoszą się do 3-osiowego gizmo, nie oznacza, że ​​nie można go użyć do wizualizacji cele.

Steve H.
źródło
2

Możesz, ale staje się to trudne. Zamiast trzech oddzielnych osi obrotu lub trzech przegubów ruchomych, z których każdy porusza się niezależnie jeden po drugim, musisz wyobrazić sobie czwartorzęd jako opis pełnego trójwymiarowego kąta obrotu i wielkości jednocześnie jako pojedynczy opis całego tłumaczenia .

http://en.wikipedia.org/wiki/Quaternion_rotation

Czwartorzędy z pewnością nie są obszarem, na którym jestem solidny, ale na tej stronie wiki jest sporo przyzwoitych informacji. Wikipedia mówi jednak o rotacjach na hipersferze, staje się trochę myląca. Powodzenia!

SpacePrez
źródło
2

Jak wiadomo, Quaternion opiera się na liczbach zespolonych i reprezentuje obrót kuli 4D w wymiarze 4D. Nie można więc wyobrazić sobie tego „takim, jakie jest”. Widzę, że ty też to wiesz. I jedynym wyborem będzie wizualizacja wyniku obrotu. Na przykład wynik rotacji podstawy; Lub możesz renderować kulę 3D i malować ją warstwową „temperaturą” obrotu każdej osi; Powodzenia!

Edward83
źródło