Dönme problemi, çoğu insan bunu Euler açıları açısından düşünüyor, çünkü anlaşılması kolay.
Yine de çoğu insan Euler açılarının üç ardışık açı olduğu noktasını unutur . Bu, birinci eksen etrafındaki dönüşün bir sonraki dönüşün ilk orijinal dönüşe göreli olacağı anlamına gelir, bu nedenle bir vektörü Euler açılarını kullanarak 3 eksenin her biri etrafında bağımsız olarak döndüremezsiniz.
Bu, iki matrisi çarptığınızda doğrudan matrislere dönüşür, bu çarpmayı bir matrisi diğer matrisin boşluğuna dönüştürmek olarak düşünebilirsiniz.
Bunun, kuaterniyonlar kullanılırken bile 3 ardışık rotasyonda gerçekleşmesi amaçlanmaktadır.
Kuaterniyonların kıkırdama kilidi için bir çözüm olmadığı gerçeğini vurgulamak istiyorum . Aslında, kuaternionlar kullanarak Euler açılarını temsil ettiyseniz, kıkırdama kilidi her zaman olacaktır. Sorun sorun, temsili değildir 3 ardışık adımları.
Çözüm?
3 eksen etrafında bir vektör döndürmek için çözüm bağımsız etmektir birleştirmek tek bir eksen ve tek açıyla, bir sıralı çarpma yapmak zorunda nereye adım kurtulmak bu yolla içine. Bu etkili bir şekilde şuna dönüşecektir:
Döndürme matrisim, X ve Y ve Z etrafındaki dönüşün sonucunu temsil eder.
Euler yorumundan ziyade
Döndürme matrisim X, sonra Y sonra Z etrafında dönmeyi temsil eder.
Bunu açıklığa kavuşturmak için wikipedia Euler rotasyon teoreminden alıntı yapacağım:
Euler rotasyon teoremine göre, sabit bir cismin veya Koordinat sisteminin sabit bir nokta etrafında herhangi bir rotasyonu veya rotasyon sırası, sabit noktadan geçen sabit bir eksen (Euler ekseni olarak adlandırılır) etrafında verilen belirli bir açıyla by tek bir rotasyona eşdeğerdir. Euler ekseni tipik olarak u → bir birim vektörü ile temsil edilir. Bu nedenle, üç boyuttaki herhangi bir döndürme, bir u vektörü ve bir skaler combination kombinasyonu olarak temsil edilebilir. Kuaterniyonlar, bu eksen açısı gösterimini dört sayı olarak kodlamak ve R3'teki orijine göre bir noktayı temsil eden bir konum vektörüne karşılık gelen rotasyonu uygulamak için basit bir yol sağlar.
3 matrisin çarpımının her zaman 3 ardışık dönüşü temsil edeceğine dikkat edin .
Şimdi 3 eksen etrafındaki dönüşleri birleştirmek için, X, Y, Z çevresindeki dönüşü temsil eden tek bir eksen ve tek açılar elde etmeniz gerekir. Başka bir deyişle, sıralı rotasyonlardan kurtulmak için bir Eksen / Açı veya kuaterniyon temsili kullanmanız gerekir.
Bu genellikle, genellikle bir kuaterniyon veya eksen açısı olarak temsil edilen bir başlangıç oryantasyonu (oryantasyon bir eksen açısı olarak düşünülebilir) ile başlanarak ve daha sonra hedef oryantasyonunuzu temsil edecek şekilde değiştirilerek yapılır. Örneğin, kimlik dördüncülüğü ile başlar ve hedef yönelime ulaşmak için farkla döndürürsünüz. Bu şekilde herhangi bir özgürlük derecesini kaybetmezsiniz.