अधिकांश 3 डी ग्राफिक्स में एक बिंदु को 4-घटक वेक्टर (एक्स, वाई, जेड, डब्ल्यू) द्वारा दर्शाया जाता है, जहां w = 1. किसी बिंदु पर लागू सामान्य संचालन में अनुवाद, स्केलिंग, रोटेशन, प्रतिबिंब, स्कूइंग और इनके संयोजन
इन परिवर्तनों को "मैट्रिक्स" नामक गणितीय वस्तु द्वारा दर्शाया जा सकता है। एक मैट्रिक्स इस तरह एक वेक्टर पर लागू होता है:
[ a b c tx ] [ x ] [ a*x + b*y + c*z + tx*w ]
| d e f ty | | y | = | d*x + e*y + f*z + ty*w |
| g h i tz | | z | | g*x + h*y + i*z + tz*w |
[ p q r s ] [ w ] [ p*x + q*y + r*z + s*w ]
उदाहरण के लिए, स्केलिंग के रूप में
[ 1 . . dx ] [ x ] [ x + dx ]
| . 1 . dy | | y | = | y + dy |
| . . 1 dz | | z | | z + dz |
[ . . . 1 ] [ 1 ] [ 1 ]
4 घटक के लिए कारण में से एक के रूप में
[ 2 . . . ] [ x ] [ 2x ]
| . 2 . . | | y | = | 2y |
| . . 2 . | | z | | 2z |
[ . . . 1 ] [ 1 ] [ 1 ]
और अनुवाद प्रस्तुत किया जाता है एक मैट्रिक्स द्वारा एक अनुवाद प्रस्तुत करने के लिए है।
मैट्रिक्स का उपयोग करने का लाभ यह है कि एकाधिक परिवर्तनों को मैट्रिक्स गुणा के माध्यम से एक में जोड़ा जा सकता है।
अब, यदि उद्देश्य केवल टेबल पर अनुवाद लाने के लिए है, तो मैं (x, y, z, w) के बजाय (x, y, z, 1) कहूंगा और अंतिम पंक्ति बनाउंगा मैट्रिक्स हमेशा [0 0 0 1]
, जैसा आमतौर पर 2 डी ग्राफिक्स के लिए किया जाता है। वास्तव में, 4-घटक वेक्टर इस सूत्र के माध्यम से सामान्य 3-वेक्टर के लिए वापस मैप किया जाएगा:
[ x(3D) ] [ x/w ]
| y(3D) ] = | y/w |
[ z(3D) ] [ z/w ]
यह homogeneous coordinates कहा जाता है। यह अनुमति देने से परिप्रेक्ष्य प्रक्षेपण भी एक मैट्रिक्स के साथ व्यक्त किया जाता है, जो फिर से अन्य सभी परिवर्तनों के साथ मिल सकता है।
उदाहरण के लिए, के बाद से दूर वस्तुओं स्क्रीन पर छोटा होना चाहिए, हम बदलने 3 डी सूत्र
x(2D) = x(3D)/(10 * z(3D))
y(2D) = y(3D)/(10 * z(3D))
का उपयोग कर अब 2 डी में निर्देशांक अगर हम प्रक्षेपण मैट्रिक्स
[ 1 . . . ] [ x ] [ x ]
| . 1 . . | | y | = | y |
| . . 1 . | | z | | z |
[ . . 10 . ] [ 1 ] [ 10*z ]
असली लागू तो 3 डी निर्देशांक बन जाएगा
x(3D) := x/w = x/10z
y(3D) := y/w = y/10z
z(3D) := z/w = 0.1
तो हम सिर्फ जेड काट करने की जरूरत है परियोजना के लिए 2 डी करने के लिए बाहर निकलना।
"खेल और इंटरैक्टिव अनुप्रयोगों के लिए आवश्यक गणित" पुस्तक देखें। –
एक सामान्यीकृत वेक्टर "कोई परिमाण नहीं" है। सामान्यीकृत वैक्टरों की लंबाई/परिमाण 1. – alesplin
धन्यवाद है! मुझे लगता है कि मुझे समझ में ले जाया गया। कम से कम मैं सही रास्ते पर था। ;) –