एक बिंदु परिवर्तन और एक वेक्टर परिवर्तन के बीच अंतर क्या है?


11

यह मेरे व्याख्याता ने मुझे पाठ्यक्रम में बताया है:

हम केवल 4 * 4 मैट्रिसेस पर विचार करते हैं। इन्हें ऑब्जेक्ट्स (या इन ऑपरेशंस के किसी भी संयोजन) को घुमाने, स्केल करने या ट्रांसलेट करने के लिए उपयोग किया जाता है। मैट्रिसेस का उपयोग बाद में वर्चुअल कैमरा मॉडल के कार्यान्वयन में भी किया जाता है। यदि आपको वेक्टर परिवर्तन और बिंदु परिवर्तन के बीच अंतर नहीं पता है, तो इसे देखें।

मैं इसका उत्तर नहीं ढूंढ सकता और इस प्रश्न के लिए इस वेबसाइट के लिए एक खाता बनाया।


1
अन्य सभी उत्तरों के पूरक के रूप में और क्योंकि अन्य लोगों ने पहले से ही इस सवाल का जवाब लंबाई में दिया है, जिसे आप कहीं और देख सकते हैं: scratchapixel.com/lessons/…
— user18490

जवाबों:


9

यहाँ सरल जवाब है।

4D में, उन्हें 4x4 मैट्रिक्स द्वारा गुणा करने में सक्षम होने के लिए, वैक्टर को (x, y, z, 0) के रूप में दर्शाया जाता है और बिंदुओं को (x, y, z, 1) के रूप में दर्शाया जाता है।

चूंकि 4x4 मैट्रिक्स की 4 वीं पंक्ति मैट्रिक्स के अनुवाद का प्रतिनिधित्व करती है, इसलिए उपरोक्त अभ्यावेदन इसे अनुवाद से प्रभावित करते हैं, लेकिन वैक्टर नहीं होते हैं।

वैक्टर और पॉइंट दोनों ही रोटेशन, स्केलिंग आदि से प्रभावित होते हैं।

चेतावनी:

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


क्योंकि वे वैक्टर नहीं हैं, नॉर्मल काम नहीं करते हैं। हालांकि अवधारणा के लिए एक अच्छा परिचय का पता नहीं है।
— एमबी रेनॉल्ड्स

@ MBReynolds एक गणितीय अर्थ में, मानदंड बिंदु या दिशाओं के रूप में वैक्टर हैं । यहां समस्या यह है कि हम जिन परिवर्तनों के लिए एक सतह के बिंदुओं पर लागू करते हैं, उन्हें बदलने के लिए मानदंडों पर लागू नहीं होता है।
— नबर

2
सतही मानदंड द्विभाजक हैं, न कि वैक्टर। हम दो वैक्टरों के क्रॉस उत्पाद द्वारा एक सामान्य पा सकते हैं, जिसका परिणाम एक बाइवेक्टर है। प्रति वोगेनसेन: gist.github.com/pervognsen/c6b1d19754c2e8a38b10886b63d7bf2d
— MB रेनॉल्ड्स

4

मैंने जो भी सीखा है, जब से मैं भी एक छात्र हूं, तो यह है कि आप रोटेशन, स्केलिंग और अनुवाद को एक ही तरीके से व्यवहार करने के लिए _ मेट्रिसेस के साथ काम करना चाहते हैं , अर्थात मैट्रिक्स द्वारा गुणा करना (यानी , एक मैट्रिक्स)।4 × 44×44×4

याद रखें कि इन _ मैट्रीस के बिना , अनुवाद को एक सदिश के साथ योग द्वारा दर्शाया जाएगा, जबकि घूर्णन और स्केलिंग क्रमशः एक वेक्टर और एक स्केलर कारक के साथ गुणा का उपयोग करके प्रतिनिधित्व किया जाता है।4×4

अब सवाल यह है: हम एक 3 डी समन्वय प्रणालियों से 4 डी एक में कैसे गुजरते हैं ? जवाब " समरूप निर्देशांक " है।

तो इसका क्या अर्थ है? हम रोटेशन, स्केलिंग और अनुवाद का प्रतिनिधित्व करने के लिए _ मैट्रीस का निर्माण करते हैं, ताकि हम केवल ट्रांसफॉर्मेशन (जैसे, रोटेशन, स्केलिंग, आदि) का प्रतिनिधित्व करने के लिए मैट्रिक्स गुणा का उपयोग करें। हम उन्हें व्यक्तिगत रूप से कैसे बनाते हैं, यह अधिक विशिष्ट है, लेकिन आप इसे वेब पर देख सकते हैं।4×4

इस बिंदु पर, हमारे पास _ मेट्रिसेस और 3 डी वैक्टर हैं, अभी तक उपयोगी नहीं हैं, क्योंकि आप _ मेट्रिसेस और वैक्टर को गुणा नहीं कर सकते हैं, क्योंकि आयाम मेल नहीं खाते हैं। इसीलिए, जब हम घरेलू निर्देशांक के साथ काम करते हैं, तो हमें अपने दिए गए 3 डी बिंदुओं को भी संगत 4 डी में बदलने की आवश्यकता होती है।4 × 4 3 डी4×44×43डी

हम यह कैसे करते हैं?

हम दिशा और स्थिति वैक्टर के बीच अंतर करते हैं। दिशा वैक्टर, जैसा कि नाम से पता चलता है, एक दिशा है जिस पर वे इशारा कर रहे हैं; हम उनकी लंबाई की भी परवाह करते हैं, लेकिन वे अनुवाद से प्रभावित नहीं होते हैं, क्योंकि हम उनकी स्थिति की परवाह नहीं करते हैं। स्थिति वैक्टर (या बस "अंक") का अनुवाद या इधर-उधर किया जा सकता है; वे आम तौर पर मूल के संबंध में दर्शाए जाते हैं, अर्थात मूल से बिंदु तक एक वेक्टर के रूप में।

हम संबंधित सजातीय वेक्टर के वें समन्वय के रूप में जोड़कर 3 डी दिशा वाले वैक्टर को बदलते हैं : हम एक शून्य जोड़ते हैं क्योंकि यह मूल रूप से अनुवाद के प्रभाव को समाप्त करता है। हम स्थिति वैक्टर के साथ एक समान कार्य करते हैं, लेकिन बजाय हम विपरीत कारण के लिए जोड़ते हैं ।४ ० १0401

उदाहरण के लिए, यदि हमारे पास एक दिशा वेक्टर , तो हम इसे । इसी प्रकार, अगर हमारे पास एक बिंदु वेक्टर तो हम इसे बदल देंगेवी = ( v 1 वी 2 वी 3 ) वी ' = ( v 1 वी 2 वी 3 0 ) यू = ( यू 1 यू 2 यू 3 ) यू ' = ( यू 1 यू 2 यू 3 1 )3डीv=(v1v2v3)v'=(v1v2v30)यू=(यू1यू2यू3)यू'=(यू1यू2यू31)

नोट: सजातीय निर्देशांक से संगत परिवर्तित करने के लिए , आप केवल समन्वय नहीं निकाल सकते , जब तक कि यह अभी भी (या बराबर ) नहीं हो।3डी4टीज10


यह उत्तर अधिक पूर्ण होगा यदि आपने उल्लेख किया है कि, वास्तविक सजातीय निर्देशांक में , किसी भी लिए भी बिंदु एक वैध प्रतिनिधित्व है । जब साधारण 3D से निर्देशांक 4D प्रोजेक्टिव निर्देशांक में परिवर्तित किया जाता है, तो चुनना सुविधाजनक होता है , लेकिन व्युत्क्रम रूपांतरण में w के अन्य मानों को अनुमति देने से हम 4D मैट्रिक्स गुणन का उपयोग करके परिप्रेक्ष्य परिवर्तनों का प्रतिनिधित्व कर सकते हैं। (wएक्स,wy,wz,w)w≠0(एक्स,y,z)w=1w
— इल्मरी करोनन

2

यदि आप एक वेक्टर और एक बिंदु की परिभाषा देखेंगे, तो एक वेक्टर है:

एक मात्रा, जैसे वेग, पूरी तरह से एक परिमाण और एक दिशा द्वारा निर्दिष्ट। http://www.thefreedictionary.com/vector

और एक बिंदु यह है:

एक आयामहीन ज्यामितीय वस्तु जिसमें स्थान को छोड़कर कोई गुण नहीं होता है। http://www.thefreedictionary.com/point

तो आप कह सकते हैं कि एक वेक्टर पैमाने के साथ एक दिशा है, और एक बिंदु एक स्थान है।

इसलिए, यदि आप एक वेक्टर को बदलते हैं तो आप इसे घुमाते हैं और स्केल करते हैं। एक बिंदु के साथ आप इसका अनुवाद भी करते हैं (एक बिंदु का रोटेशन और स्केलिंग मूल के आस-पास है, क्योंकि यह केवल एक स्थान है जहां बिंदु खुद को घुमाया नहीं जा सकता है)।

अधिकांश बार एक वेक्टर और एक बिंदु को एक ही कंटेनर में रखा जाता है, एक वेक्टर जिसमें 4 घटक होते हैं। एकमात्र अंतर डब्ल्यू घटक है। यदि w घटक 0 है, तो यह एक दिशा है। यदि यह 1 है तो वेक्टर एक बिंदु है।

इसका कारण मैट्रिक्स में ही पाया जा सकता है। यह आपके द्वारा 4 वेक्टर मैट्रिक्स के साथ 4 घटकों के साथ एक वेक्टर को गुणा करने के तरीके का उपयोग करता है। अगर आपको नहीं पता कि यह कैसे काम करता है, तो मैं एक त्वरित Google का सुझाव दूंगा।

[आरओटी+रोंसीएएलइआरओटी+रोंसीएएलइआरओटी+रोंसीएएलइटीआरएnरोंएलएटीमैंओnआरओटी+रोंसीएएलइआरओटी+रोंसीएएलइआरओटी+रोंसीएएलइटीआरएnरोंएलएटीमैंओnआरओटी+रोंसीएएलइआरओटी+रोंसीएएलइआरओटी+रोंसीएएलइटीआरएnरोंएलएटीमैंओn0001]

जैसा कि आप देख सकते हैं, यदि अंतिम घटक 0 है, तो आपके पास 0 के साथ गुणा है और इसलिए परिणाम 0 है और कोई अनुवाद नहीं है।

यह बहुभुज वस्तुओं के साथ कंप्यूटर ग्राफिक्स में आसान बनाता है। आपके पास पदों को बदलने के लिए एक ही परिवर्तन मैट्रिक्स है, लेकिन साथ ही मानदंड भी। क्योंकि मानदंड में उनके w घटक को 0 पर सेट किया गया है और पदों का w घटक 1 है, मानदंड को केवल घुमाया जाता है (और स्केल भी किया जाता है, जिससे कुछ अजीब चीजें हो सकती हैं, इसलिए अधिकांश समय सामान्य होने के बाद सामान्य हो जाता है। यह isn है) टी वास्तव में अजीब सामान की वजह से पदों और घुमावों के लिए एक ही मैट्रिक्स का उपयोग करने की सिफारिश की है! @JarkkoL की टिप्पणी पर गौर करें।) और पदों का अनुवाद किया जाता है (और मूल के चारों ओर घुमाया और बढ़ाया जाता है)।

आशा है कि मैंने गलती नहीं की: पी, और इससे आपको मदद मिली!


2
सामान्य परिवर्तन पदों के रूप में एक ही परिवर्तन मैट्रिक्स के साथ रूपांतरित नहीं होते हैं। आपको गैर-समान स्केलिंग और / या तिरछा के साथ परिवर्तनों के लिए मानदंडों को ठीक से बदलने के लिए 3x3 उप-मैट्रिक्स के पारगमन के व्युत्क्रम की गणना करने की आवश्यकता है।
— जार्कोएल

@JarkkoL हाँ, यह सच है, आप इसके साथ सही हैं। एक ही मैट्रिक्स का उपयोग नहीं करना सबसे अच्छा है, लेकिन कार्यान्वयन के आधार पर, यह किया जाता है। ज्यादातर बार लोग मानदंडों के तिरछेपन की परवाह नहीं करते हैं, क्योंकि वे या तो गैर-समान स्केलिंग या स्केलिंग का उपयोग नहीं करते हैं। पदों और मानदंडों को बदलने के बारे में यह हिस्सा इस बारे में अधिक था कि यह एक कंटेनर का उपयोग करने के लिए उपयोगी हो सकता है।
— bram0101
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.