frustum()

3D स्केच में वर्तमान कैमरा के फ्रस्टम को सेट करता है।

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

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

पहले चार पैरामीटर, left, right, bottom, और top, फ्रस्टम के पार्श्व, तल और शीर्ष के निर्देशांक सेट करते हैं। उदाहरण के लिए, frustum(-100, 100, 200, -200) को कॉल करने से 200 पिक्सल चौड़ा और 400 पिक्सल ऊँचा फ्रस्टम बनता है। डिफ़ॉल्ट रूप से, ये निर्देशांक स्केच की चौड़ाई और ऊंचाई के आधार पर सेट किए जाते हैं, जैसे ortho(-width / 20, width / 20, height / 20, -height / 20) में।

अंतिम दो पैरामीटर, near और far, कैमरा से फ्रस्टम के निकट और दूर के समतल की दूरी सेट करते हैं। उदाहरण के लिए, ortho(-100, 100, 200, -200, 50, 1000) को कॉल करने से 200 पिक्सल चौड़ा, 400 पिक्सल ऊँचा फ्रस्टम बनता है, जो कैमरे से 50 पिक्सल दूर शुरू होता है और कैमरे से 1,000 पिक्सल दूर समाप्त होता है। डिफ़ॉल्ट रूप से, near को 0.1 * 800 पर सेट किया जाता है, जो कैमरा और मूल के बीच डिफ़ॉल्ट दूरी का 1/10 है। far को 10 * 800 पर सेट किया गया है, जो कैमरा और मूल के बीच डिफ़ॉल्ट दूरी का 10 गुना है।

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

उदाहरण

सिंटैक्स

frustum([left], [right], [bottom], [top], [near], [far])

पैरामीटर्स

left
Number:

छिन्नक के बाएँ तल का x-निर्देशांक। डिफ़ॉल्ट -width / 20

right
Number:

छिन्नक के दाहिने तल का x-निर्देशांक। डिफ़ॉल्ट width / 20

bottom
Number:

y- छिन्नक के निचले तल का समन्वय। डिफ़ॉल्ट height / 20

top
Number:

छिन्नक के शीर्ष तल का y-निर्देशांक। डिफ़ॉल्ट -height / 20

near
Number:

z- छिन्नक के निकट तल का समन्वय। डिफ़ॉल्ट 0.1 * 800.

far
Number:

छिन्नक के सुदूर तल का z-निर्देशांक। डिफ़ॉल्ट 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!

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