विश्व सीमाएँ - (0, आकार) या (-हल्सेज़, हाफ़साइज़)?


9

एक गेम स्पेस बनाते समय जिसमें वस्तुओं को स्थानांतरित करना, खींचना और उनसे टकरा जाना, क्या आपके पास (0,0) पॉइंट या (0,0,0) पॉइंट होना बेहतर है, अपने स्पेस के बहुत केंद्र में हो, जैसे कि दुनिया की सीमाएँ (-SizeSize, halfSize) हैं, या क्या यह बेहतर है कि यह आपके स्थान के सबसे दूर के कोने पर हो, इसलिए सीमाएँ (0, आकार) हैं?

प्रत्येक के पक्ष और विपक्ष क्या हैं, और वे किस प्रकार की समस्याओं से ग्रस्त हैं? या यह वास्तव में सिर्फ मायने नहीं रखता है?

यह एक मामूली विवरण की तरह लगता है, लेकिन मैं यह देखना चाहता था कि क्या कुछ बड़े मुद्दे थे जिनकी मैं अनदेखी कर सकता हूं।

जवाबों:


15

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

बस स्पष्ट करने के लिए: यह देखते हुए कि आप एक गेम की दुनिया बना रहे हैं, जो मुझे लगता है कि आप प्रदान कर रहे हैं, अंतिम प्रारूप जिसे आप परिवर्तित करेंगे, फ्लोट होगा, जो कि आप जानते हैं, एक हस्ताक्षरित प्रारूप है। उस स्थिति में, आप एक ऐसी स्थिति में पहुँच सकते हैं जहाँ (0, आकार) का प्रतिनिधित्व नहीं किया जा सकता है, जबकि (-HalfSize, HalfSize) हो सकता है। यदि आप रेंडर करने की योजना नहीं बना रहे हैं और एक मनमाना प्रारूप चुन सकते हैं तो या तो शैली का उपयोग करें, हालांकि मैं अभी भी व्यक्तिगत रूप से पूर्वोक्त शैली को पसंद करूंगा।


+1, बहुत सारे भौतिकी सिमुलेशन इस कारण के लिए भी इस सीमा का उपयोग करते हैं।
MichaelHouse

1
उपयोगी संदर्भ: altdevblogaday.com/2012/02/22/...
लिएंडर

1
इसके अलावा काफी अच्छी तरह से जाना जाता है, लेकिन संभवतः uninitiated के लिए थोड़ा मुश्किल है: docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html - "फ्लोटिंग-पॉइंट अंकगणित के बारे में हर कंप्यूटर वैज्ञानिक को क्या जानना चाहिए"
leander

5

यह विशेष रूप से बात नहीं करता है। जब तक आप अपने खेल में सुसंगत हैं।

मेरा मानना ​​है कि अधिक सामान्य दृष्टिकोण दुनिया की सीमा के आसपास केंद्रित है (0,0), जिसका अर्थ है कि आप अपनी सीमा से चले जाएंगे -halfSize, halfSize। चूंकि अधिकांश डेटा संरचनाएं, जो स्थिति (वेक्टर 2 या वेक्टर 3) को शून्य के रूप में दर्शाती हैं, आपको पता है कि वस्तुओं के लिए डिफ़ॉल्ट प्लेसमेंट दुनिया के केंद्र में है (नीचे कोने के बजाय)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.