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])
पैरामीटर्स
छिन्नक के बाएँ तल का x-निर्देशांक। डिफ़ॉल्ट -width / 20
।
छिन्नक के दाहिने तल का x-निर्देशांक। डिफ़ॉल्ट width / 20
।
y- छिन्नक के निचले तल का समन्वय। डिफ़ॉल्ट height / 20
।
छिन्नक के शीर्ष तल का y-निर्देशांक। डिफ़ॉल्ट -height / 20
।
z- छिन्नक के निकट तल का समन्वय। डिफ़ॉल्ट 0.1 * 800
.
छिन्नक के सुदूर तल का z-निर्देशांक। डिफ़ॉल्ट 10 * 800
।
संबंधित संदर्भ
camera
कैमरे की स्थिति और अभिविन्यास को सेट करता है। myCamera.camera() वस्तुओं को विभिन्न कोणों से देखने की अनुमति देता है। इसके नौ पैरामीटर हैं जो सभी वैकल्पिक हैं। पहले तीन पैरामीटर, x, y, और z, कैमरे की स्थिति के निर्देशांक "विश्व" स्थान में हैं। उदाहरण के लिए, myCamera.camera(0, 0, 0) को बुलाना कैमरे को उत्पत्ति (0, 0, 0) पर रखता है। डिफ़ॉल्ट रूप से, कैमरा (0, 0, 800) पर रखा जाता है। अगले तीन पैरामीटर, centerX, centerY, और centerZ "विश्व" स्थान में उस बिंदु के निर्देशांक हैं जहां कैमरा सामना करता है। उदाहरण के लिए, myCamera.camera(0, 0, 0, 10, 20, 30) को बुलाना कैमरे को उत्पत्ति (0, 0, 0) पर रखता है और इसे (10, 20, 30) की ओर इशारा करता है। डिफ़ॉल्ट रूप से, कैमरा उत्पत्ति (0, 0, 0) की ओर इशारा करता है। अंतिम तीन पैरामीटर, upX, upY, और upZ "स्थानीय" स्थान में "ऊपर" वेक्टर के घटक हैं। "ऊपर" वेक्टर कैमरे के y-अक्ष को अभिविन्यासित करता है। उदाहरण के लिए, myCamera.camera(0, 0, 0, 10, 20, 30, 0, -1, 0) को बुलाना कैमरे को उत्पत्ति (0, 0, 0) पर रखता है, इसे (10, 20, 30) की ओर इशारा करता है, और "ऊपर" वेक्टर को (0, -1, 0) सेट करता है जैसे कि इसे उल्टा पकड़ा गया हो। डिफ़ॉल्ट रूप से, "ऊपर" वेक्टर (0, 1, 0) है। .
centerX
उस स्थान का x-निर्देशांक जहां कैमरा दिखता है। डिफ़ॉल्ट रूप से, कैमरा "विश्व" स्थान में मूल (0, 0, 0) को देखता है, इसलिए myCamera.centerX 0 है। .
centerY
उस स्थान का y-निर्देशांक जहां कैमरा दिखता है। डिफ़ॉल्ट रूप से, कैमरा "विश्व" स्थान में मूल (0, 0, 0) को देखता है, इसलिए myCamera.centerY 0 है। .
centerZ
उस स्थान का y-निर्देशांक जहां कैमरा दिखता है। डिफ़ॉल्ट रूप से, कैमरा "विश्व" स्थान में मूल (0, 0, 0) को देखता है, इसलिए myCamera.centerZ 0 है। .