कंप्यूटर ग्राफिक्स में सजातीय निर्देशांक क्यों उपयोग किए जाते हैं?


14

कंप्यूटर ग्राफिक्स में सजातीय निर्देशांक क्यों उपयोग किए जाते हैं?

यदि मैट्रिक्स परिवर्तनों में समरूप निर्देशांक का उपयोग नहीं किया गया तो क्या समस्या होगी?


जवाबों:


12

वे ग्राफिक्स में प्रयुक्त गणित को सरल और एकीकृत करते हैं:

  • वे आपको मैट्रिस के साथ अनुवाद का प्रतिनिधित्व करने की अनुमति देते हैं।

  • वे आपको परिप्रेक्ष्य अनुमानों में गहराई से विभाजन का प्रतिनिधित्व करने की अनुमति देते हैं।

पहला वाला एफाइन ज्यामिति से संबंधित है। दूसरा एक प्रक्षेपी ज्यामिति से संबंधित है।


आप किस तरह के उदाहरणों की तलाश कर रहे हैं? ट्रांसलेशन मैट्रिसेस और परिप्रेक्ष्य अनुमानों से संबंधित कुछ भी आसान होना चाहिए?
बार्ट

@ बर्ट, सादृश्य की जरूरत है।

2
मुझे क्षमा करें @anonymous, लेकिन यह वास्तव में मुझे कुछ भी नहीं बताता है। आप यह जानने के लिए अधिक शब्दों का उपयोग करने जा रहे हैं कि आप वास्तव में क्या देख रहे हैं।
बार्ट

मुझे लगता है कि यह उत्तर उतने ऊंचे नहीं हैं क्योंकि यह हमारे लिए बहुत ही तकनीकी है। हो सकता है कि साधारण शब्दांकन के साथ एक सरल उदाहरण सिद्धांतों को बेहतर ढंग से चित्रित करेगा
नाथन

5

यह नाम में है: सजातीय निर्देशांक अच्छी तरह से हैं ... सजातीय। सजातीय होने का अर्थ है रोटेशन, अनुवाद, स्केलिंग और अन्य परिवर्तनों का एक समान प्रतिनिधित्व।

एक समान प्रतिनिधित्व अनुकूलन के लिए अनुमति देता है। 3 डी ग्राफिक्स हार्डवेयर को 4x4 मैट्रिक्स पर मैट्रिक्स गुणा करने के लिए विशेष किया जा सकता है। इसे 0 या 1 से गुणा करने पर बचाने और बचाने के लिए भी विशेष किया जा सकता है, क्योंकि इनका उपयोग अक्सर किया जाता है।

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

उदाहरण के लिए कॉल थे: सोनी के PS4 बड़े पैमाने पर मैट्रिक्स गुणन कर सकते हैं। यह उस पर इतना अच्छा है कि इसे कुछ समय के लिए बेच दिया गया था, क्योंकि उनमें से क्लस्टर अधिक महंगे सुपर-कंप्यूटर के बजाय उपयोग किए गए थे। सोनी ने बाद में मांग की कि उनके हार्डवेयर का इस्तेमाल सैन्य उद्देश्यों के लिए नहीं किया जा सकता है। हां, सुपर-कंप्यूटर सैन्य उपकरण हैं।

शोधकर्ताओं के लिए यह बहुत सामान्य हो गया है कि वे ग्राफिक कार्ड का उपयोग करें, भले ही कोई ग्राफिक शामिल न हो, अपने मैट्रिक्स गुणन की गणना करें। केवल इसलिए कि वे सामान्य उद्देश्य सीपीयू की तुलना में इसमें बेहतर परिमाण हैं। तुलना के लिए आधुनिक मल्टी-कोर सीपीयू में 16 पाइपलाइनों के क्रम पर है (x0.5 या x2 कोई फर्क नहीं पड़ता) जबकि GPU में 1024 पाइपलाइनों के आदेश हैं।

यह पाइपलाइनों की तुलना में बहुत अधिक कोर नहीं है जो वास्तविक समानांतर प्रसंस्करण के लिए अनुमति देता है। धागे पर करोड़ों काम करते हैं। थ्रेड्स को स्पष्ट रूप से प्रोग्राम किया जाना है। निर्देश स्तर पर पाइपलाइन काम करती है। चिप अपने आप कम या ज्यादा निर्देशों को समानांतर कर सकती है।


"सोनी के PS4 बड़े पैमाने पर मैट्रिक्स गुणन कर सकते हैं।" आप PS3 के सेल प्रोसेसर, सही मतलब है? PS4 में साधारण x86 प्रोसेसर है।
वम्फ

हालांकि यह एक अच्छा जवाब है, मुझे नहीं लगता कि यह ओपीएस सवाल का जवाब देता है और इस तरह के सुझाव देता है कि समरूप कोऑर्डर्स का उपयोग किया जाता है क्योंकि हार्डवेयर इसके लिए अनुकूलित है, बल्कि समरूप कोऑर्डर्स अधिक उपयोगी हैं और हार्डवेयर अंततः उसी के आसपास विकसित हुआ था। Vec4s के लिए एक और तर्क यह है कि वे 128bit संरेखित हैं जो व्यापक मेमोरी बसों (GPU) पर पढ़ने के लिए इसे अधिक कुशल बनाता है
पॉलएच

4

पूरक हैं:

(x,y,z,0)=x,y,z0x,y,z

परिप्रेक्ष्य परिवर्तन के बारे में, यह बिना किसी परिप्रेक्ष्य विरूपण (पीसी पर शुरुआती ग्राफिक्स हार्डवेयर के विपरीत) के साथ सही ढंग से प्रक्षेपित करने की अनुमति देता है।


2

एक व्यक्तिगत स्वाद के रूप में मैंने हमेशा सजातीय निर्देशांक का उपयोग करने से (जब संभव हो) बंद कर दिया है और सादे कार्टेशियन सूत्रीकरण को प्राथमिकता दी है।

मुख्य कारण यह है कि सजातीय निर्देशांक परिवर्तन मैट्रिसेस (0, 0, 0, 1) में 4 तुच्छ प्रविष्टियों का उपयोग करते हैं, जिसमें बेकार भंडारण और संगणना भी शामिल है (सामान्य प्रयोजन मैट्रिक्स गणना रूटिंग के ओवरहेड जो "डिफ़ॉल्ट रूप से" उपयोग किए जाते हैं) ये मामला)।

नकारात्मक पक्ष यह है कि समीकरण लिखते समय आपको अधिक देखभाल की आवश्यकता होती है और मैट्रिक्स सिद्धांत का समर्थन खो देता है, लेकिन अभी तक मैं बच गया हूं।


1
सिद्धांत रूप में, डेटा प्रकारों को लागू किया जा सकता है जो वास्तव में उन प्रविष्टियों को संग्रहीत नहीं करते हैं, भले ही वे ऐसा करते हैं।

1
@ हुरकिल स्पष्ट रूप से। यह शायद ही कभी किया जाता है, क्योंकि सामान्य-उद्देश्य मैट्रिक्स टूलबॉक्स हाथ में हैं।
यवेस डाएव

@YvesDaoust क्या आप किसी plain Cartesian formulationऐसे संसाधन का उदाहरण या लिंक प्रदान कर सकते हैं जो 3D ग्राफिक्स में इसके उपयोग का वर्णन करता है?
दान

@Dan: y = Ax + b का उपयोग करें, जहां A एक 3x3 मैट्रिक्स और बा 3x1 वेक्टर है, बजाय y '= Ax' जहां y ', x' संवर्धित वैक्टर और A 4x4 मैट्रिक्स हैं।
यवेस डेविस

@YvesDaoust तो आप एक 4 x 4 मैट्रिक्स के बजाय एक 3x3 मैट्रिक्स और एक 3x1 वेक्टर को अपने शेड्स में पास कर रहे हैं? आप कहां गणना करते हैं और स्टोर करते हैं w?
दान

2

[xy]
[uv]=[cos(θ)sin(θ)sin(θ)cos(θ)][xy]
[uv]=[k100k2][xy]
[uv]=[xy]+[st]

आज्ञा देना आर और एस रोटेशन और स्केलिंग matrices और T एक अनुवाद वेक्टर हो। कंप्यूटर ग्राफिक्स में, आपको एक बिंदु पर अनुवाद की एक श्रृंखला करने की आवश्यकता हो सकती है। आप सोच सकते हैं कि यह कितना मुश्किल हो सकता है।

p=SR(Sp+T)+T

M=TSRTS
p=Mp

p=[xy1]
R=[cos(θ)sin(θ)0sin(θ)cos(θ)0001]
S=[k1000k20001]
T=[10t101t2001]

p=[xyw]
Q=[1000010000100010]

1

कॉइन निर्देशांक में गणना के लिए अक्सर विभाजनों की आवश्यकता होती है, जो कि परिवर्धन या गुणा की तुलना में महंगे होते हैं। एक आम तौर पर प्रक्षेप्य निर्देशांक का उपयोग करते समय विभाजित करने की आवश्यकता नहीं होती है।

प्रोजेक्टिव निर्देशांक (और आमतौर पर, प्रोजेक्टिव ज्यामिति) का उपयोग विशेष मामलों को भी खत्म करने के लिए जाता है, जिससे सब कुछ सरल और अधिक समान हो जाता है।


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

@ येव्स: मैं कंप्यूटर ग्राफिक्स "विषय में अधिक सामान्य" उपयोग का जवाब दे रहा हूं, विशिष्ट "कंप्यूटिंग मैट्रिक्स ट्रांसफॉर्मेशन" सवाल नहीं।

@ हर्किल: ऐसा करते हैं। जब एक दृश्य का प्रतिपादन करते हैं, तो आप बिल्कुल समान भावों की गणना करते हैं, समान मात्रा में विभाजन के साथ (अंतर 0 कारक के साथ डमी शब्दों में होता है)।
यवेस डाएव

@ यव्स: ह्रम्। मुझे गणना करने के लिए उपयोग किया जाता है जहां रूपांतरण को वापस करने के लिए कुछ हद तक स्थगित किया जा सकता है; अगर आप कहते हैं कि मैं आपकी विशेषज्ञता पर ध्यान नहीं दूँगा, तो अक्सर सामने नहीं आता।

-1
  • सरल सूत्र
  • कुछ विशेष मामले
  • एकीकरण और
  • द्वंद्व

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