4 . क्यों है×4 मैट्रिसेस चीजों को 3D में बदलने के लिए प्रयोग किया जाता है?

प्रश्न
दरअसल 4×4 3डी में चीजों को बदलने के लिए मेट्रिसेस बहुत उपयोगी होते हैं! आप अनुवाद के मामले में एक वेक्टर जोड़ सकते हैं.

4 के इस्तेमाल के पीछे का कारण×4 3डी में चीजों को बदलने के लिए आव्यूह

विभिन्न संयुक्त परिवर्तनों को संभालने के लिए एक समान तरीका होने के कारण मैट्रिक्स का उपयोग करने का कारण उबलता है.

उदाहरण के लिए, रोटेशन आमतौर पर एक मैट्रिक्स का उपयोग करके किया जाता है, इसलिए कई परिवर्तनों से निपटने के लिए (रोटेशन/अनुवाद/स्केलिंग/प्रक्षेपण…आदि) एक समान तरीके से, आपको उन्हें मैट्रिक्स में एन्कोड करने की आवश्यकता है.

कुंआ, अधिक तकनीकी रूप से बोल रहा हूँ; एक परिवर्तन एक बिंदु/वेक्टर को दूसरे बिंदु/वेक्टर पर मैप कर रहा है.

p` = T(p); 

जहाँ p रूपांतरित बिंदु है और T(पी) रूपांतरण कार्य है.

यह देखते हुए कि हम एक मैट्रिक्स का उपयोग नहीं करते हैं, हमें कई परिवर्तनों को संयोजित करने के लिए ऐसा करने की आवश्यकता है:

पी 1 = टी(पी);

पीअंतिम = एम(पी 1);

न केवल एक मैट्रिक्स कई प्रकार के परिवर्तनों को एक मैट्रिक्स में जोड़ सकता है (उदाहरण के लिए:. affine, रैखिक, प्रक्षेपीय).

एक मैट्रिक्स का उपयोग करने से हमें परिवर्तनों की श्रृंखलाओं को संयोजित करने और फिर उन्हें गुणा करने का अवसर मिलता है. यह आमतौर पर GPU द्वारा हमें एक टन चक्र बचाता है (इसे इंगित करने के लिए @ChristianRau को धन्यवाद).

टीअंतिम = टी * आर * पी; // अनुवाद करनाघुमाएँपरियोजना

पीअंतिम = टीअंतिम*पी;

यह बताना भी अच्छा है कि जीपीयू और यहां तक ​​कि कुछ सीपीयू वेक्टर संचालन के लिए अनुकूलित हैं; SIMD और GPU का उपयोग करने वाले CPU डिज़ाइन द्वारा डेटा चालित समानांतर प्रोसेसर हैं, इसलिए मेट्रिसेस का उपयोग हार्डवेयर त्वरण के साथ पूरी तरह फिट बैठता है (वास्तव में, जीपीयू को मैट्रिक्स/वेक्टर ऑपरेशंस में फिट करने के लिए डिज़ाइन किया गया था).


श्रेय:

HTTPS के://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-मैट्रिक्स-टू-ट्रांसफॉर्म-थिंग्स-इन-3डी?उत्तर टैब = सक्रिय # टैब-टॉप

एक उत्तर दें