संदर्भ perspective()

perspective()

3D स्केच में मौजूद वर्तमान कैमरे के लिए पर्सपेक्टिव प्रोजेक्शन सेट करता है।

पर्सपेक्टिव प्रोजेक्शन में, कैमरे से दूर की आकृतियां कैमरे के करीब की आकृतियों की तुलना में छोटी दिखाई देती हैं। इस तकनीक को फोर्शॉर्टनिंग कहा जाता है और यह वास्तविक 3D दृश्यों को बनाता है। यह WebGL मोड में डिफ़ॉल्ट रूप से लागू होता है।

perspective() कैमरे के व्यूइंग फ्रस्टम को बदलकर कैमरे की पर्सपेक्टिव को बदलता है। फ्रस्टम वह वॉल्यूम है जिसे कैमरा देख सकता है। इसका आकार एक पिरामिड होता है जिसका शीर्ष काटा गया हो। कैमरा पिरामिड के शीर्ष पर रखा जाता है और फ्रस्टम के शीर्ष (नज़दीकी) और तल (दूर) प्लेन के बीच की चीज़ों को देखता है।

पहला पैरामीटर fovy कैमरे का अनुभवजन्य क्षेत्रीय दृश्य है। यह एक कोण है जो कैमरे की दृश्य ऊंचाई या संकीर्णता को बताता है। उदाहरण के लिए, perspective(0.5) कॉल कैमरे का अनुभवजन्य क्षेत्रीय दृश्य को 0.5 रेडियन पर सेट करता है। डिफ़ॉल्ट रूप से, fovy स्केच की ऊंचाई और कैमरे के डिफ़ॉल्ट z-अक्ष के आधार पर गणना किया जाता है, जो 800 है। डिफ़ॉल्ट fovy का फार्मूला 2 * atan(height / 2 / 800) है।

दूसरा पैरामीटर aspect कैमरे का आस्पेक्ट रेश्यो है। यह एक संख्या है जो शीर्ष प्लेन की चौड़ाई और ऊंचाई का अनुपात बताती है। उदाहरण के लिए, perspective(0.5, 1.5) कॉल कैमरे के दृश्य क्षेत्र को 0.5 रेडियन और आस्पेक्ट रेश्यो को 1.5 पर सेट करता है, जिससे आकृतियां वर्गाकार कैनवास पर पतली दिखेंगी। डिफ़ॉल्ट रूप से, आस्पेक्ट width / height पर सेट होता है।

तीसरा पैरामीटर near कैमरे से नज़दीकी प्लेन की दूरी है। उदाहरण के लिए, perspective(0.5, 1.5, 100) कॉल कैमरे के दृश्य क्षेत्र को 0.5 रेडियन, उसके आस्पेक्ट रेश्यो को 1.5, और नज़दीकी प्लेन को कैमरे से 100 पिक्सल दूर रखता है। कैमरे से 100 पिक्सल से कम दूर बनाई गई कोई भी आकृति दृश्य में नहीं होगी। डिफ़ॉल्ट रूप से, नज़दीकी को 0.1 * 800 पर सेट किया जाता है, जो कैमरे और मूल के बीच की डिफ़ॉल्ट दूरी का 1/10 वां हिस्सा है।

चौथा पैरामीटर far कैमरे से दूर प्लेन की दूरी है। उदाहरण के लिए, perspective(0.5, 1.5, 100, 10000) कॉल कैमरे के दृश्य क्षेत्र को 0.5 रेडियन, उसके आस्पेक्ट रेश्यो को 1.5, नज़दीकी प्लेन को कैमरे से 100 पिक्सल दूर, और दूर प्लेन को कैमरे से 10,000 पिक्सल दूर रखता है। कैमरे से 10,000 पिक्सल से अधिक दूर बनाई गई कोई भी आकृति दृश्य में नहीं होगी। डिफ़ॉल्ट रूप से, दूर को 10 * 800 पर सेट किया जाता है, जो कैमरे और मूल के बीच की डिफ़ॉल्ट दूरी का 10 गुना है।

ध्यान दें: perspective() का उपयोग केवल WebGL मोड में किया जा सकता है।

उदाहरण

सिंटैक्स

perspective([fovy], [aspect], [near], [far])

पैरामीटर्स

fovy

कैमरा फ्रुम ऊर्ध्वाधर दृश्य क्षेत्र। डिफ़ॉल्ट 2 * atan(height / 2 / 800).

aspect

कैमरा फ्रस्टम पहलू अनुपात। डिफ़ॉल्ट width / height.

near

कैमरे से निकटतम क्लिपिंग तल तक की दूरी। डिफ़ॉल्ट 0.1 * 800.

far

कैमरे से सुदूर क्लिपिंग तल तक की दूरी। डिफ़ॉल्ट 10 * 800.

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/p5.Camera.js and open a pull request!

संबंधित संदर्भ