दोनों कारण हैं, क्योंकि मैट्रिक्स गुणा उचित परिणाम प्राप्त करने के लिए एक निश्चित क्रम में किया जाना चाहिए (जैसा कि आप पहले ही जानते हैं)।
अनुवाद/रोटेशन/स्केल का अनुक्रम क्रम में क्रमबद्ध करने के क्रम में किया जाता है।
तो तुम कुछ इस तरह करते हैं:
Camera.rotate(15, 0, 0);
Camera.scale(.5f, .5f, .5f);
Camera.translate(70, 70, 70);
आप पहली बार 70,70,70 अनुवाद कर रहे तो सभी दिशाओं में 50% से स्केलिंग, तो एक्स अक्ष के बारे में 15 डिग्री घूर्णन।
तो मैट्रिक्स में एक पूर्व और पोस्ट अनुवाद (अच्छी तरह से, पूर्व और पोस्ट सब कुछ) है, क्योंकि हो सकता है कि आप वास्तव में इसे पहले 15 डिग्री से घुमाएं और फिर इसका अनुवाद करें, और फिर अंततः इसे स्केल करें।
ताकि पूर्व और पोस्ट अनुवादों का उत्तर दिया जा सके। अब कैमरा का सीधा घुमाव और अनुवाद लोगों के लिए है जो जानते हैं कि यह पहले से ही कैसे काम करता है (जैसे मेरे!), इसलिए मैं उस मामले के लिए मैट्रिक्स या कैमरा का कभी भी उपयोग नहीं करता, क्योंकि मैं सीधे कैनवास पर अपने घूर्णन और अनुवाद कर सकता हूं। आप तब तक भी कर सकते हैं जब तक आप जानते हैं कि अनुवाद, तराजू और घूर्णन विपरीत क्रम में किए जाते हैं।
इसके अलावा, अगर आपको पता है कि मैंने आपको क्या बताया है, तो यह आपको अधिक शक्ति देता है। आप प्रत्येक के लिए एकाधिक मैट्रिक्स ऑब्जेक्ट्स में उनके आस-पास के बिना 10 मैट्रिक्स का अनुक्रम कर सकते हैं (उदाहरण के लिए आप एक स्विंग गति करना चाहते हैं जो बाहरी रूप से स्विंग करता है और केन्द्रापसारक बल अनुकरण करने के लिए केंद्र के बारे में घूमता है)। इसे एकाधिक घूर्णन और अनुवादों के साथ किया जाना चाहिए (एकाधिक मैट्रिक्स ऑब्जेक्ट्स को एक दूसरे में पारित किया जा रहा है), लेकिन यदि आप जानते हैं कि प्रत्येक अनुवाद कैसे काम करता है, तो आप बस .translate(), .rotate() की एक श्रृंखला कर सकते हैं, और। स्केल()।
यह जानकारी विशेष रूप से उपयोगी होती है यदि आप कभी भी 3 डी ग्राफिक्स करते हैं, क्योंकि यह तब होता है जब ये matrices लोगों को सिरदर्द देते हैं।
मुझे आशा है कि इससे मदद मिलती है!
क्या आप मुझे ऐसे दस्तावेज में मार्गदर्शन करते हैं जिसे आपने यह तथ्य पाया है? – hasanghaforian
क्या आप एक लिंक दे सकते हैं जो आपके उत्तर का समर्थन करता है? –
ओह माय। यह लिखने के बाद से काफी समय हो गया है, और यह कम से कम कहने के लिए घमंडी लगता है। दस्तावेज विकिपीडिया पर पाया जा सकता है, विशेष रूप से: http://en.wikipedia.org/wiki/Transformation_matrix#Composing_and_inverting_transformations "ध्यान दें कि गुणा अंग्रेजी वाक्य से विपरीत क्रम में किया जाता है:" ए के मैट्रिक्स बी द्वारा "बीए है, एबी नहीं।" –