cartesian coordinates - Euler's angle rotation -
तीन आयामी कार्टेशियन समन्वय से, ऑब्जेक्ट ए के समन्वय को एक्सआईज़्वापर (हरा तीर) के रूप में व्यक्त किया जा सकता है। और ऑब्जेक्ट ए से संगत दुनिया से, ऑब्जेक्ट बी को एक्सवाय्स्प (नीली तीर) के रूप में भी व्यक्त किया जा सकता है।
फिर किसी को मूल समन्वय प्रणाली (लाल तीर) के सापेक्ष वस्तु बी के xyzwpr की गणना के लिए सी # कोड लिख सकते हैं )?
ए के निर्देशांक है (30,50,70, -15,44, -80) बी (60,90,110, 33,150, -90)।
और कहें रोटेशन का ऑर्डर है (जेड) -> पिच (एक्स) -> रोल (वाई)
--- संपादित करें ---
क्या कोई मान्यताओं के नीचे मान्य हो सकता है?
बिंदु बी के एक्सवायज़ के लिए धारणा।
प्वाइंट बी के xyz, छोटे हवाई जहाज़, बिंदु ए, पहले हवाई जहाज और बी के एक्सवायज़ को जोड़कर और फिर ए के एक्सआईज पर ए के डब्ल्यूपीआर के 3 डी रोटेशन को लागू करके गणना की जा सकती है। < P> यह करने का क्रम है;1) उत्पत्ति के लिए एक बिंदु का अनुवाद करें (घटाएं ए जो -एक्स, -ए, एएजी द्वारा अनुवाद किया जाता है)
2) मूल के बारे में घुमाएं (3 × 3 मैट्रिक्स आर 0 का उपयोग कर सकते हैं)
3) फिर वापस अनुवाद करें। (जोड़ ए जो + एक्स, + ए, एजी द्वारा अनुवाद किया गया है)
बिंदु बी के wpr के लिए धारणा केवल दो बिंदुओं के रोटेशन का उत्तराधिकार है। AwApArBwBpBr।
--- हल किया। विस्तृत विवरण और कोड के साथ कुछ संदर्भ ---
इस सवाल के कुछ मुद्दे हैं।
सबसे पहले, मुझे लगता है कि कोड के लिए सीधे अनुरोध करने का यह अच्छा अभ्यास नहीं है। इसके बजाए, आपके द्वारा कोड की कोशिश की गई, अपने कोड में त्रुटियों के लिए पूछें, या एक बेहतर तरीका, या लाइब्रेरी जो आपकी मदद कर सकते हैं।
मैं आपका प्रश्न दोबारा लिखने का सुझाव दूंगा। अब ऐसा लगता है "क्या कोई मेरे होमवर्क कर सकता है, कृपया?"।
आपको क्या समस्याएं आ रही हैं? शायद आप मैट्रिक्स गुणा को लागू नहीं करना चाहते हैं और आप पहले से ही ऐसा पुस्तकालय जानना चाहते हैं, या आप नहीं जानते कि कैसे atan2 को कॉल करना है।
एक बार जब आप मैट्रिक्स गुणन प्राप्त करते हैं, तो अनुवाद मैट्रिक्स का निर्माण, रोटेशन मैट्रिक्स बिल्ड अप और एएन 2 (आपके द्वारा या किसी लाइब्रेरी द्वारा बनाया गया), आपको बस (स्यूडोकोड) करना होगा:
मैट्रिक्स सी = ए; मैट्रिक्स या, पिच, रोल; मैट्रिक्स स्थिति; बिल्डट्रांसलेशन मैट्रिक्स (पॉज़, एक्स, वाई, जेड); बिल्डरोटेशनजमैट्रिक्स (या, डब्ल्यू); बिल्डरोटेशन एक्स मैट्रिक्स (पिच, पी); बिल्डरोटेशन वाई मैट्रिक्स (रोल, आर); बहु (सी, सी, पॉज़); // c = c * pos mult (c, c, yaw); // c = c * yaw mult (c, c, पिच); बहु (सी, सी, रोल); DecomposePos (c, x, y, z); // सी से विघटित कोणों (सी, डब्ल्यू, पी, आर) से अंतिम एक्सवायज़ प्राप्त करें; // प्राप्त करने से अंतिम wpr प्राप्त करें पोस्ट गुणा ध्यान दें।
आशा है कि मैंने एक रचनात्मक आलोचना की।
दूसरी धारणा सही है।
शायद मैं पहले एक को गलत समझा, लेकिन मुझे लगता है कि यह गलत है। यूलर के कोण के मुकाबले रूपांतरण मैट्रिक्स के लिए और अधिक प्रयोग किया जाता है (और आप उस लिंक को इंगित करते हैं), मैं इसे इस तरह समझता हूं:
एक्सआईज प्राप्त करने के लिए (साथ ही साथ wpr) मैं रूपांतरण मैट्रिक्स की गणना करता हूं, जो सभी मान शामिल हैं मूल समन्वय प्रणाली में दूसरे विमान के अंतिम परिवर्तन मैट्रिक्स को इस रूप में गिना जाता है:
एम = टीए * आरए * टीबी * आरबी ( TA है ए और आरए का एक अनुवाद मैट्रिक्स है इसकी रोटेशन मैट्रिक्स)
परिवर्तन मैट्रिक्स को इस तरह समझा जा सकता है:
rrrtrrrt M = rrrtsssw
हम केवल रोटेशन और अनुवाद की परवाह करते हैं। यदि आप TA * RA गुणा:
1 0 0 xrrr 0 rrrx 0 1 0 yrrr 0 rrry 0 0 1 z * rrr 0 = rrrz 0 0 0 1 0 0 0 0 0 0 0
यह है कि हम ए के समन्वय प्रणाली को कैसे समझते हैं। याद रखें कि इसका अर्थ पहले घूर्णन करना है, जैसे कि यह मूल में था, और फिर स्थान की स्थिति में अनुवाद करना , वाई, जेड पोस्ट-गुणा करने का मतलब इंटरेस्ट ट्रांसफ़ॉर्मेशन, मोबाइल समन्वय प्रणाली में परिवर्तन है। इसलिए, यदि हम गुणोत्तर के बाद जारी रखते हैं, तो हम अंतिम परिवर्तन मैट्रिक्स को संचित कर देंगे।
इसके अलावा, मैट्रिक्स सहायक हैं, इसलिए
एम = (टीए * आरए) * ( टीबी * आरबी)
समान है
एम = ((टीए * आरए) * टीबी) * आरबी पुनरावर्तन
xyz एम के अंतिम कॉलम में होगा और <3> 3 submatrix M से विघटित होनी चाहिए। < / P>
Comments
Post a Comment