2012-05-13 15 views
8

जो मैं करने की कोशिश कर रहा हूं वह मेरे कैमरे से एक किरण डाली गई है। मैं कैमरे के एक्स, वाई और जेड निर्देशांक, साथ ही इसके पिच और यो को जानता हूं। मुझे इसकी दिशा वेक्टर की गणना करने की आवश्यकता है ताकि मैं इसे अपने रेट्रैसिंग एल्गोरिदम में पास कर सकूं।कैमरा पिच/यो दिशा निर्देशक

कैमरा का अप वेक्टर (0, 1, 0) है। कैमरे के परिप्रेक्ष्य से "पिच" ऊपर और नीचे दिख रहा है।

यह मानते हुए कि आपके समन्वय प्रणाली की स्थापना की है (मैं अगर मैं करने के लिए है मैट्रिक्स का उपयोग नहीं करने के लिए पसंद करते हैं, लेकिन मैं लूंगा)

+0

मैट्रिक्स पर आपत्ति क्यों? ऐसा लगता है कि यह मेरे लिए ऐसा करने का सबसे तार्किक तरीका है। बहुत भ्रमित, बहुत महंगा? यदि आप matrices नहीं करते हैं तो आपको इसे बहुत से त्रिकोणमिति का उपयोग करके तैयार करना होगा, जो एक ही चीज़ को बहुत अधिक कर देगा। – Tim

उत्तर

10

ऐसी है कि निम्न शर्तों को पूरा:

(pitch, yaw) -> (x, y, z) 
(0,  0) -> (1, 0, 0) 
(pi/2, 0) -> (0, 1, 0) 
(0, -pi/2) -> (0, 0, 1) 

हो जाएगा ताकि गणना (एक्स, वाई, जेड):

xzLen = cos(pitch) 
x = xzLen * cos(yaw) 
y = sin(pitch) 
z = xzLen * sin(-yaw) 
+0

बहुत बढ़िया, इससे मुझे बहुत मदद मिली: डी – CyanPrime

+0

@ नील फोरेस्टर, क्या खुराक xzlen मतलब है? मैं फॉर्मूला के गणित व्युत्पन्न कहां पा सकता हूं? – wangdq

+0

'xzLen' एक्स और जेड अक्ष वाले विमान में प्रक्षेपित करने के बाद वांछित दिशा में यूनिट वेक्टर की लंबाई है। सूत्र सीधे पाप() और cos() की परिभाषाओं से पालन करता है। –

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