विषयसूची:
वीडियो: ३डी व्यूअर: ४ कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
नमस्कार! प्रोग्रामिंग में मेरी रुचि को संतुष्ट करने के लिए और उम्मीद है कि आपकी संतुष्टि में मदद करने के लिए, मैं आपको एक 3D व्यूअर दिखाना चाहता हूं जिसे मैंने जावास्क्रिप्ट में कोडित किया है। यदि आप ३डी गेम के बारे में अपनी समझ को आगे बढ़ाना चाहते हैं या अपना खुद का ३डी गेम बनाना चाहते हैं, तो यह प्रोटोटाइप ३डी व्यूअर आपके लिए एकदम सही है।
चरण 1: सिद्धांत
इस 3D व्यूअर के सिद्धांत को समझने के लिए, आप बस अपने परिवेश को देखने के तरीके की जांच कर सकते हैं (यह प्रकाश का केवल एक महत्वपूर्ण स्रोत होने में मदद करता है)। नोटिस जो:
- जो वस्तुएँ आपसे दूर हैं, वे आपके दृष्टि क्षेत्र के एक छोटे से हिस्से पर कब्जा कर लेती हैं।
- जो वस्तुएँ प्रकाश स्रोत से अधिक दूर होती हैं वे गहरे रंग की दिखाई देती हैं।
- जैसे-जैसे सतहें प्रकाश स्रोत के समानांतर (कम लंबवत) हो जाती हैं, वे गहरे रंग की दिखाई देती हैं।
मैंने एक बिंदु (नेत्रगोलक के अनुरूप) से उपजी रेखाओं के एक समूह के साथ एक दृष्टि क्षेत्र का प्रतिनिधित्व करने का निर्णय लिया। स्पाइक बॉल की तरह, यह सुनिश्चित करने के लिए कि दृष्टि क्षेत्र के प्रत्येक भाग का समान रूप से प्रतिनिधित्व किया जाता है, लाइनों को समान रूप से फैलाया जाना चाहिए। ऊपर की तस्वीर में, ध्यान दें कि स्पाइक बॉल से आने वाली रेखाएं गेंद के केंद्र से दूर जाने के साथ-साथ अधिक दूरी वाली हो जाती हैं। यह अवलोकन 1 के कार्यक्रम के कार्यान्वयन की कल्पना करने में मदद करता है क्योंकि जैसे-जैसे वस्तुएं केंद्र बिंदु से दूर जाती हैं, रेखाओं का घनत्व कम होता जाता है।
कार्यक्रम में लाइनें दृष्टि की मूल इकाई हैं, और उनमें से प्रत्येक को डिस्प्ले पर एक पिक्सेल में मैप किया जाता है। जब कोई रेखा किसी वस्तु को काटती है, तो उसका संगत पिक्सेल प्रकाश स्रोत से उसकी दूरी और प्रकाश स्रोत से उसके कोण के आधार पर रंगीन होता है।
चरण 2: कार्यान्वयन सिद्धांत
कार्यक्रम को सरल बनाने के लिए, प्रकाश स्रोत केंद्र बिंदु के समान है (नेत्रगोलक: वह बिंदु जहां से नक्शा देखा जाता है और जहां से रेखाएं निकलती हैं)। आपके चेहरे के ठीक बगल में एक प्रकाश रखने के अनुरूप, यह छाया को समाप्त करता है और प्रत्येक पिक्सेल की चमक को और अधिक आसानी से गणना करने की अनुमति देता है।
कार्यक्रम गोलाकार निर्देशांक का भी उपयोग करता है, मूल में दृष्टि के केंद्र बिंदु के साथ। यह लाइनों को आसानी से उत्पन्न करने में सक्षम बनाता है (प्रत्येक एक अद्वितीय थीटा के साथ: क्षैतिज कोण और फाई: लंबवत कोण), और गणना का आधार प्रदान करता है। समान थीटा वाली पंक्तियों को एक ही पंक्ति में पिक्सेल में मैप किया जाता है। पिक्सेल की प्रत्येक पंक्ति में संगत कोणों का फिस बढ़ता है।
गणित को सरल बनाने के लिए, 3D नक्शा एक सामान्य चर (सामान्य x, y, या z) वाले विमानों से बना होता है, जबकि अन्य दो गैर-सामान्य चर एक सीमा के भीतर सीमित होते हैं, प्रत्येक विमान की परिभाषा को पूरा करते हैं।
माउस के साथ चारों ओर देखने के लिए, गोलाकार और xyz समन्वय प्रणालियों के बीच रूपांतरण के दौरान एक लंबवत और क्षैतिज रोटेशन में प्रोग्राम के समीकरण कारक। यह दृष्टि रेखाओं के "स्पाइक बॉल" सेट पर एक रोटेशन को पूर्ववत करने का प्रभाव है।
चरण 3: मठ
निम्नलिखित समीकरण प्रोग्राम को यह निर्धारित करने में सक्षम करते हैं कि कौन सी रेखाएं प्रत्येक वस्तु और प्रत्येक चौराहे के बारे में जानकारी को काटती हैं। मैंने इन समीकरणों को मूल गोलाकार समन्वय समीकरणों और 2D रोटेशन समीकरणों से प्राप्त किया है:
आर = दूरी, टी = थीटा (क्षैतिज कोण), पी = फाई (ऊर्ध्वाधर कोण), ए = वाई अक्ष के बारे में रोटेशन (ऊर्ध्वाधर रोटेशन), बी = जेड अक्ष के बारे में रोटेशन (क्षैतिज रोटेशन)
Kx=(sin(p)*cos(t)*cos(A)+cos(p)*sin(A))*cos(B)-sin(p)*sin(t)*sin(B)
Ky=(sin(p)*cos(t)*cos(A)+cos(p)*sin(A))*sin(B)+sin(p)*sin(t)*cos(B)
Kz=-sin(p)*cos(t)*sin(A)+cos(p)*cos(A)
एक्स = आर * केएक्स
वाई = आर * क्यू
z=r*Kz
r^2=x^2+y^2+z^2
प्रकाश = Klight/r*(Kx या Ky या Kz)
p=arccos((x*sin(A)*cos(B)+y*sin(A)*sin(B)+z*cos(A))/r)
t=arccos((x*cos(B)+y*sin(B)-p*sin(A)*cos(p))/(r*cos(A)*sin(p)))
चरण 4: कार्यक्रम
मुझे उम्मीद है कि इस प्रोटोटाइप 3D व्यूअर ने आपको 3D आभासी वास्तविकताओं के कामकाज को समझने में मदद की है। कुछ और पूर्णता और कोडिंग के साथ, इस दर्शक के पास निश्चित रूप से 3D गेम के विकास में उपयोग करने की क्षमता है।
सिफारिश की:
डिजिटल ३डी मैपिंग के लिए बेसिक ३डी स्कैनर: ५ कदम
डिजिटल ३डी मैपिंग के लिए बुनियादी ३डी स्कैनर: इस परियोजना में, मैं ३डी स्कैनिंग और पुनर्निर्माण की बुनियादी नींवों का वर्णन और व्याख्या करूंगा, जो मुख्य रूप से छोटे अर्ध-प्लेन ऑब्जेक्ट्स की स्कैनिंग के लिए लागू होते हैं, और जिनके संचालन को स्कैनिंग और पुनर्निर्माण सिस्टम तक बढ़ाया जा सकता है जो कर सकते हैं बी
3डी प्रिंटेड रोबोटिक डॉग (शुरुआती के लिए रोबोटिक्स और 3डी प्रिंटिंग): 5 कदम
३डी प्रिंटेड रोबोटिक डॉग (शुरुआती के लिए रोबोटिक्स और ३डी प्रिंटिंग): रोबोटिक्स और ३डी प्रिंटिंग नई चीजें हैं, लेकिन हम उनका उपयोग कर सकते हैं! यह प्रोजेक्ट एक अच्छा शुरुआती प्रोजेक्ट है यदि आपको स्कूल असाइनमेंट आइडिया की ज़रूरत है, या बस एक मज़ेदार प्रोजेक्ट की तलाश है
३डी प्रिंटर हीट एनक्लोजर: ३डी प्रिंट्स पर फिक्स वॉरपिंग: ४ कदम
३डी प्रिंटर हीट एनक्लोजर: ३डी प्रिंट्स पर वॉरपिंग को ठीक करें: हर कोई जिसके पास कभी ३डी प्रिंटर होता है, उसे कभी न कभी ताना मारने की समस्या का सामना करना पड़ता है। जिन प्रिंटों में घंटों लग जाते हैं, वे खराब हो जाते हैं क्योंकि बेस बेड से अलग हो जाता है। यह समस्या निराशाजनक और समय लेने वाली हो सकती है। तो क्या क
माइक्रो वाईफाई नियंत्रित 3डी प्रिंटेड 3डी एफपीवी कॉप्टर: 7 कदम (चित्रों के साथ)
माइक्रो वाईफ़ाई नियंत्रित ३डी प्रिंटेड ३डी एफपीवी कॉप्टर: मेरे पहले दो अनुदेशों के बाद "वाईफ़ाईपीपीएम" और "एंड्रॉइड के लिए कम लागत वाला ३डी एफपीवी कैमरा" मैं अपने माइक्रो क्वाडकॉप्टर को संलग्न दोनों उपकरणों के साथ दिखाना चाहता हूं। इसके लिए आपको RC ट्रांसमीटर या FPV गॉगल्स जैसे किसी अतिरिक्त उपकरण की आवश्यकता नहीं है।
डिजिटल 3डी पिक्चर व्यूअर - "द डिजी स्टीरियोप्टिकॉन": 6 चरण (चित्रों के साथ)
डिजिटल 3डी पिक्चर व्यूअर - "द डिजी स्टीरियोप्टिकॉन": स्टीरियोस्कोपिक फोटोग्राफी का पक्ष नहीं लिया गया है। यह संभवत: इस तथ्य के कारण है कि लोग पारिवारिक स्नैपशॉट देखने के लिए विशेष चश्मा पहनना पसंद नहीं करते हैं। यहां एक मजेदार छोटी परियोजना है जिसे आप अपनी 3डी तस्वीर बनाने के लिए एक दिन से भी कम समय में बना सकते हैं