2009-10-15 8 views
5

मुझे रोल, पिच, और यो कोण (डिग्री में) से कैमरे के लिए एक वेक्टर (सही दिखने के लिए) प्राप्त करने की आवश्यकता है। मैं कुछ घंटों के लिए अलग-अलग चीजों की कोशिश कर रहा हूं और इसमें कोई भाग्य नहीं है :(। यहां कोई भी मदद की सराहना की जाएगी!रोल, पिच, और यॉ से कैमरे को वेक्टर कैसे प्राप्त करें?

+0

चूंकि आपने इसे सभी प्रमुख ग्राफिक्स पुस्तकालयों के साथ टैग किया है, इसलिए मुझे लगता है कि यह सामान्य है कि आप इसे सामान्य रूप से कैसे करें। –

+0

येप ब्लैंक जो सही है ... मुझे गणित के साथ कुछ मदद चाहिए: डी – Polaris878

उत्तर

5

रोल, पिच और यॉ 3 अक्ष में घूर्णन को परिभाषित करते हैं। इन कोणों से आप 3x3 बना सकते हैं रूपांतरण मैट्रिक्स जो इस रोटेशन को व्यक्त करता है (see here how)
आपके पास यह मैट्रिक्स होने के बाद आप अपना नियमित अप वेक्टर लेते हैं, कहें (0,1,0) यदि 'अप' वाई अक्ष है और इसे मैट्रिक्स के साथ गुणा करें। आप क्या करेंगे प्राप्त अप तब्दील वेक्टर है

संपादित -।
(0,1,0) को परिवर्तन को लागू करने मध्य पंक्ति लेने के समान है मैट्रिक्स mak की 3 पंक्तियों। घुमावदार प्रणाली का एक ऑर्थोगोनल आधार ई। आपको लगता है कि एक 3 डी ग्राफिक एपीआई 4x4 matrices का उपयोग करता है। तो 3x3 रोटेशन मैट्रिक्स से बाहर एक 4x4 मैट्रिक्स बनाने के लिए यदि आप एक '1' तो जैसे आराम में एम [3] [3] (कोने) और शून्य पर जोड़ने की जरूरत:

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

शूश, अगर मैं (0,1,0) में परिवर्तन लागू नहीं करता हूं तो क्या होगा? क्या मैं रोटेशन मैट्रिक्स से पंक्तियों/स्तंभों में से एक को अपने ऊपर के रूप में खींच सकता हूं? धन्यवाद – Polaris878

+0

हां, वेक्टर-मैट्रिक्स परिवर्तन करने के बजाय, आप शून्य-रकम/शर्तों को छोड़कर समीकरण को सरल बना सकते हैं। इसके अलावा, वेक्टर स्तंभ-प्रमुख या पंक्ति-प्रमुख हो सकते हैं। सुनिश्चित करें कि आप अक्ष को सही ढंग से निकालें। –

1

यह नहीं हो सकता सीधे अपने प्रश्न का उत्तर दें, हालांकि यह अभी भी मदद कर सकता है। मेरे पास एक्सएनए के लिए एक मुक्त ओपन-सोर्स प्रोजेक्ट है जो एक डीबग टर्मिनल बनाता है जो आपके गेम को चलाने के दौरान ओवरले करता है। आप मूल्यों को देखने, विधियों का आह्वान करने, या जो कुछ भी देखने के लिए इसका उपयोग कर सकते हैं। तो यदि आपके पास एक रूपांतरण मैट्रिक्स है और आप खेल के चलते इसके विभिन्न हिस्सों को निकालना चाहते हैं, तो आप ऐसा कर सकते हैं। परियोजना यहां पाई जा सकती है: http://www.protohacks.net/xna_debug_terminal

मुझे आपके द्वारा उपयोग किए जाने वाले गणित में बहुत विशेषज्ञता नहीं है, लेकिन उम्मीद है कि शूश की पोस्ट उस पर सहायता करेगी। हो सकता है कि डिबग टर्मिनल आपके विचार या किसी अन्य भविष्य की समस्याओं का सामना करते समय आपकी मदद कर सके।

+0

हां मैं बाद में इसके साथ खेलने के लिए इंतजार नहीं कर सकता। ऐसा लगता है कि एक उपकरण ive थोड़ी देर के लिए चाहता था ... Ive को मेरी परियोजनाओं में एक कंसोल लिखना और वहां डेटा आउटपुट करना बहुत मुश्किल था ... बहुत ही घबराहट। –

संबंधित मुद्दे