2012-04-04 15 views
7

3D rotasyonlarla çalışmaya çalışıyorum ama çerçevenin hesaplamaların nasıl yapıldığını düşünmüyorum.iOS rotasyon matrisinin açıklaması

sapma -1,010544 zift 0,508249 rulo sonra 1,128918

I baskı, ilgili rotasyon matrisi

  • 0,599901 -0,128495 -0,789689
  • 0,740043 0,464230 0,486649: Örneğin

    Bu veri almak

  • 0.304065 -0.876344 0.373584

API ve wiki'yi okuduktan sonra, euler açıları dışında bir dönüş matrisini oluşturmanın genel bir yolu olması gerektiğine eminim. Bunların hepsini denedim here, sonuç yok.

Bir şey özlüyor muyum, ya da bu nasıl yapılır?

+0

Dönüş matrislerinin nasıl çalıştığına dair utanmaz fiş (genel olarak veya grafiklerle ilgili): [Dönüşümlerin arkasındaki matematik] (http://ronnqvi.st/the-math-behind-transforms/). "Döner" –

cevap

2

Eh, iOS veya CoreMotion her ikisini de sağlar. RotationMatrix ve Euler Açı Temsili. Belgeler, here.

Ancak bu hesaplamanın nasıl çalıştığıyla ilgileniyorsanız, here'a bakın. Özetlemek gerekirse: Her bir Euler Açısı, bir birim eksen etrafında bir dönüşü tanımlayan bir dönüş matrisi ile temsil edilebilir. Üç açı olduğundan, bunları birleştirmeniz yeterlidir. Ama dikkat et! Euler açıları, dönüş matrislerinin çoğaltılabildiği farklı sıralar olduğu için kesin değildir.

DÜZENLEME: Bir kuaternion hesaplamasına bağlandınız. Yoksa tamamen yanlış mıyım?

+0

olarak adlandırılan başlığa ilerleyin. Teşekkürler, bu arada çözdüm! – GooKSL

+0

Üzerinde vurgu * "dikkat! Euler açıları net değil" * – Jacksonkr