Bir kuaterniyonu nasıl görselleştirebilirsiniz?


24

Üç boyutlu bir dönme matrisini veya ölçeklendirme matrisini görselleştirdiğimde, onu üç eksen olarak görselleştiririm.

Bir rotasyon kuaterniyonunu görselleştirebileceğim bir yol var mı?


Gerçekten görselleştirme değil, ama birileri bir zamanlar "karmaşık sayılar: 2 :: quaternions: 4" olarak bana söylediği
coderanger

Yanıtlar:


19

"Quaternions Görselleştirme" konulu 600 sayfalık bir kitap var: http://books.google.ca/books?id=CoUB09xzme4C&lpg=PP1&ots=uEdJHsni9y&dq=Visualizing%20Quaternions&pg=PP1#v=onepage &%

Kitap, geniş bir yelpazedeki konuları kapsayan aslında oldukça iyi. Oyunla ilgili lineer cebir için iyi bir girişle başlar, matrisler ve vektörler hakkında konuşur, eksiklikleri ve neden Quaternions kullanmak istediğinizi söyler. Daha sonra ne olduklarını ve onlardan nasıl yararlanılacağını açıklar. Eğer ilgileniyorsanız, almak isteyebilirsiniz: http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003


1
"Quaternions Visualizing" için +1, onun harika bir kitabı, ona da şiddetle tavsiye edilir
Maik Semder

7
Güzel bir kitap, eğer bu bağlantı kötüye giderse, bu cevap tamamen işe yaramaz olacaktır. Cevabınızda kuaterniyonların nasıl görselleştirileceği hakkında da bazı bilgiler vermenizi öneririm.
MichaelHouse

10

Sevdiğim görselleştirme yöntemlerinden biri de kuaterniyonu (3B uzayda yönlendirme) vektör olarak göstermektir. ( x, y, z bileşenleri) + döndürme ( w vektöründe saklanan bu vektörün etrafında döndürme ) olarak göstermektir.

Kuaterniyonlar için çevrimiçi bir görselleştirici arıyorsanız , her zaman wolframalpha'yı kullanabilirsiniz:

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

"Karşılık gelen 3d dönüş" (3d vektör + dönüş) olarak etiketlenmiş görselleştirmeye bakın:

görüntü tanımını buraya girin

3d motorumda kuaterniyonlarla çalışırken yararlı buldum.


1
Spot-on cevap! Bu yolla, insanlar SLERP mekanizmasını da anlayabilirler çünkü 3 boyutlu bir kürede kuaternasyonları resmedebilirler, oysa spin bu vektör tarafından skaler dönme hareketi olarak görülebilir (bazı matematikçilerin rotor -> geometricalgebra dediği şeye benzer bir şey olduğunu tahmin edin . net / quaternions.html ).
teodron

7

Kuaternyonlarımı, vektör ekseni boyunca dönmeyi gösterebilmek için biraz kenara üç boyutlu vektörler (yön + uzunluk) olarak görselleştiriyorum.

Rotasyon vektörünü fizikte görselleştirmek için yaygın bir yoldur, ancak isim benden kaçar.


3
Açı ekseni dönüşü?
CiscoIPPhone

4

Kuaterniyonlar için matrislere karşı alternatif bir görselleştirme tekniğine ihtiyacınız yoktur.

Dönme matrisinizi 3 eksen gizmo olarak görselleştirdiğinizde, gerçekten görselleştirdiğiniz şey bir yönelimdir. Kuaterniyon aynı zamanda bir yönelimi temsil ettiğinden, 3 eksen gizmo'nuzu aklınızın göz görselleştirme nesnesi olarak kullanmaya devam edin.

Nadiren, hem kuaterniyonlar hem de matrisler için, gerçek bileşen değerlerini görselleştirmenizle ilişkilendirmeniz gerekir, bu yüzden kuaterniyonun bileşen değerlerinin 3 ekseninizle ilgisi olmadığı için, gizmo bunun görselleştirme için kullanılamayacağı anlamına gelmez amaçlar.


2

Yapabilirsin, ama zorlaşır. Üç ayrı dönme ekseni veya her biri birer birer bağımsız hareket eden üç yaldız yerine, tam bir üç boyutlu dönme açısının bir açıklaması ve bir kerede tüm çevirinin tek bir açıklaması olarak bir kuaternasyon hayal etmeniz gerekir. .

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

Kuaterniyonlar kesinlikle üzerinde durduğum bir alan değil, ama o wiki sayfasının iyi bir bilgisi var. Vikipedi bir hiper küredeki rotasyonlardan söz ediyor olsa da, biraz kafa karıştırıcı oluyor. İyi şanslar!


2

Bildiğiniz gibi, Quaternion karmaşık sayılara dayanır ve 4D küresinin 4D boyutunda dönmesini temsil eder. Yani 'olduğu gibi' görselleştiremezsiniz. Senin de bildiğini anladım. Ve bir ve sadece bir seçenek, dönme sonucunun görselleştirilmesi olacaktır. Örneğin, temel dönme sonucu; Veya 3B küreyi oluşturabilir ve her bir eksen tarafından katmanlı döndürme sıcaklığıyla boyayabilirsiniz; İyi şanslar!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.