سؤال

ما هي أفضل طريقة لتنفيذ وتخزين وتقديم العوالم الكروية، مثل تلك الموجودة في البوغ أو اللانهاية ولكن بدون المراحل الفاصلة بين الجراثيم، والعوالم المتعددة مثل الكون اللانهائي.لا تضع أي افتراضات حول كيفية إنشاء الكوكب نفسه أو حجمه/حجمه.

هل كانت مفيدة؟

المحلول

للعرض، ستحتاج إلى استخدام نوع من خوارزمية مستوى التفاصيل للانتقال بسلاسة من سطح الكوكب القريب إلى البعيد.هناك العديد من خوارزميات LOD الديناميكية (انظر هنا).يمكن تكييف خوارزمية قديمة تسمى ROAM للتعامل مع الأجسام الكروية أو الكواكب (التجوال الكروي).تعد خرائط القصاصات الهندسية خوارزمية أحدث وأكثر شيوعًا يمكن تكييفها مع الأسطح الكروية أيضًا.

أما بالنسبة لتخزين البيانات، فقد ترغب في النظر في التوليد الإجرائي (حسب احتياجاتك) للتركيب وخرائط الارتفاع وما إلى ذلك.وهذا مشابه لكيفية عمل Infinity وSpore للأشياء.يمكنك أن تقرأ قليلا عن التركيب الإجرائي هنا.تعد خرائط الارتفاع الإجرائية أبسط، اعتمادًا على مدى تعقيد/واقعية التضاريس التي تريدها.على أبسط مستوى، يمكنك ببساطة إزاحة ارتفاع قمة الرأس باستخدام وظيفة ضوضاء بيرلين.

نصائح أخرى

إذا كنت تبحث عن شيء لتخزين البيانات عن سطح في، قد نظر في HEALpix . ومن البرامج التي وضعها المجتمع الفلكية خصيصا لرسم خريطة السماء (سطح كروي آخر).

وHEALpix يخلق شبكة تصف الموقف وحجم وجوه السطحية ويعين كل واحد معرف. ثم يمكنك استخدام هذا المعرف كمفتاح أو مؤشر للوصول إلى أكبر قدر من التفاصيل كما تريد عن أن مستوى معين.

وHEASpix توفر أساليب لإيجاد مساحات المجاورة ويمكن أن تعطي وظائف مركز وقمة لكل نقطة شبكة.

وإنه لشبكة الهرمية التي تسمح لك لتقسيم كل وجه قدر ما تريد لذلك يمكن نظريا أن يكون أجزاء من شبكة في دقة منخفضة وأجزاء أخرى في مستويات أعلى من التفاصيل إذا أردت. أنه يحتوي على خاصية جميلة أنه يقبل القسمة بلا حدود (إلى حدود الذاكرة الخاصة بك) وكل بكسل من الشبكة في قرار معين لديه نفس المنطقة التي كل منها الأخرى عند هذا المستوى القرار.

وحزمة توزيع يوفر الكثير من الاشياء التي ربما لن تحتاج ولكن ينبغي أن المكتبات الأساسية أن تكون مفيدة.

وربما هذا هو ليس ما كنت تبحث عن ... ولكن ما هيك. انها قصة جيدة.

ودهور مضت، مرة أخرى عندما الديناصورات لا تزال تجول في الأرض وكان لا يزال قياس الذاكرة بالكيلو بايت، وأنا لعبت مع بعض البرامج لتوليد الكواكب fractally.

وكانت الفكرة لإنشاء مستطيل 2NxN يمثل هذا الكوكب. قطع كوكب الأرض في نصف حفنة من الأوقات تحول شطري قليلا في كل مرة. (موجة جيبية للقطع مع مرحلة التحول العشوائي والسعة. آخر موجة جيبية عشوائية لهذا التحول.) Afterwords، إغراق المناطق على مستوى أقل مع الماء واللون رمز بقية من الارتفاع.

وثم وضع الكرة من قطر N على رأس والمشروع، يلف منطقة NxN من الخريطة حوالي نصف المجال. نقل المجال في جميع أنحاء الخريطة، ويبدو أنه كان الدورية.

وأود أن أقترح استخدام نوع من نموذج المضلع في الذاكرة لتنفيذها العالمين، استخدام ملف لتخزينها وجعلها تستخدم نوعا من 3D-المحرك. إما أن، أو مجرد مركز المؤشر ودائرة نصف قطرها، جنبا إلى جنب مع تراكب لتصف الجغرافيا من العالم.

وتحرير: شكرا لتفصيل أكثر قليلا. هذا يتوقف على مقدار التفاصيل التي تحتاج إليها، سوف تحتاج إلى استخدام نوع من طريقة لتفريق النسيج إلى أجزاء أصغر - يمكنك توليد مجرد نسيج لمدة 20 الوجوه وبناء على <لأ href = "HTTP: // داخلي. wikipedia.org/wiki/Icosahedron "يختلط =" نوفولو noreferrer "> العشروني الوجوه حول نقطة المركز. نلقي نظرة على التوقعات خريطة للحصول على بعض الأفكار حول كيفية التعامل مع هذا في واقع الحياة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top