2009-10-15 18 views
5

Bir fotoğraf makinesi için yukarı doğru bir görüntü almam gerekir (doğru görünümü elde etmek için) bir rulo, zift ve yaw açıları (derece cinsinden). Birkaç saat için farklı şeyler deniyorum ve şansınız yok :(. Burada herhangi bir yardım takdir edilecektir!Fotoğraf makinesini yukarıdan aşağıya, ziftten ve yaw'dan nasıl alabilirim?

+0

Tüm önemli grafik kitaplıklarıyla etiketlediğinizden, genel olarak nasıl yapılacağını kastettiğinizi varsaymak güvenlidir. –

+0

Yep Blaenk bu doğru ... Sadece matematikle ilgili yardıma ihtiyacım vardı: D – Polaris878

cevap

5

Rulo, Eğim ve Sapma 3 eksende bir dönüş tanımlar.Bu açılardan 3x3 inşa edebilirsiniz Bu dönüşü ifade eden dönüşüm matrisi (see here how)
Bu matrise sahip olduktan sonra, sıradaki vektörü alırsınız, 'yukarı' Y ekseniyse (0,1,0) diyelim ve bunu matrisle çarpın. elde kadar transforme vektördür

Düzenleme -.
(0,1,0) transformasyonu tatbik edilmek sureti orta sıra alma aynı şey olan matris mak 3 satır. Döndürülmüş sistemin ortogonal bir tabanı yukarı. Bir 3D grafik API'sinin 4x4 matrisini kullandığını unutmayın. Yani şöyle istirahat M [3] [3] (köşe) ve sıfırlar bir '1' eklemeniz gerekir 3x3 dönme matrisi dışında bir 4x4 matris yapmak:

r r r 0 
r r r 0 
r r r 0 
0 0 0 1 
+0

Shoosh, eğer dönüşümü (0,1,0) uygulamıyorsam? Döndürme matrisinden satır/sütunlardan birini çıkarmamı sağlayabilir miyim? Teşekkürler – Polaris878

+0

Evet, vektör matris dönüşümü yerine, sıfır toplamları/terimleri bırakarak denklemi basitleştirebilirsiniz. Ayrıca, vektörler sütun-majör ya da sıra-majör olabilmektedir. Ekseni doğru şekilde çıkardığınızdan emin olun. –

1

Bu olmayabilir hala yardımcı olabilir, yine de sorunuzu cevaplayın. XNA için açık kaynak kodlu bir projem var. Bu, çalışırken oyununuzu kaplayan bir hata ayıklama terminali yaratıyor. Bunu değerlere bakmak, yöntemleri çağırmak için veya herhangi bir şekilde kullanabilirsiniz. Eğer bir dönüşüm matrisiniz varsa ve oyun çalışırken çeşitli bölümlerini çıkarmak istiyorsanız, bunu yapabilirsiniz. Proje şu adreste bulunabilir: http://www.protohacks.net/xna_debug_terminal

Kullandığınız matematikte çok fazla uzmanlığım yok, ama umarım Shoosh'un yazısı buna yardımcı olur. Belki de hata ayıklama terminali, fikrini denerken veya karşılaştığınız diğer problemlerde size yardımcı olabilir.

+0

Bu konuda daha sonra oynamak için sabırsızlanıyorum. Bir süredir istediğim bir araca benziyor ... projelerimde bir konsol yazmak zorunda kaldım ve veri çıkışı var ... çok çok tıknaz. –

İlgili konular