मैं कैसे पृथ्वी की तरह बिखरे हुए क्षेत्र उत्पन्न करूं?


12

मैं एक वेब डेवलपर हूं और मैं अपना खुद का गेम लिखना शुरू करने के लिए उत्सुक हूं।

परिचित के लिए, मैंने canvasअभी के लिए जावास्क्रिप्ट और तत्व चुना है ।

मैं कुछ भूभाग उत्पन्न करना चाहता हूं जैसे कि स्कॉरड अर्थ में।

झुलसी पृथ्वी

मेरे पहले प्रयास ने मुझे एहसास दिलाया कि मैं yमूल्य को यादृच्छिक नहीं कर सकता ; चोटियों और कुंडों में कुछ पवित्रता होनी चाहिए थी।

मैं थोड़ा सा घूम चुका हूं, लेकिन या तो मुझे कुछ सरल नहीं मिल रहा है या मैं गलत कीवर्ड का उपयोग कर रहा हूं।

क्या आप मुझे दिखा सकते हैं कि मैं किस प्रकार के एल्गोरिथ्म का उपयोग करूँगा उदाहरण में कुछ उत्पन्न करने के लिए, यह ध्यान में रखते हुए कि मैं गेम प्रोग्रामिंग के लिए पूरी तरह से नया हूँ (2003 में विजुअल बेसिक के साथ ब्रेकआउट बनाने के बाद से)?

जवाबों:


18

मध्यबिंदु विस्थापन एल्गोरिदम ठीक वही है जो आप चाहते हैं।

वह लिंक कुछ इस तरह उत्पन्न कर सकता है:

यहाँ छवि विवरण दर्ज करें

या आपकी छवि पसंद है, इस पर निर्भर करता है कि आप किन मापदंडों का उपयोग करते हैं। यहाँ C स्रोत उपलब्ध है


इसके लिए धन्यवाद, मुझे अभी भी यकीन नहीं है कि इसे जावास्क्रिप्ट में कैसे लागू किया जाए, लेकिन उम्मीद है कि यह मेरे लिए स्पष्ट हो जाएगा क्योंकि मैंने उस लेख को पढ़ा था।
एलेक्स

वहाँ सी स्रोत है जिसे मैंने अभी संपादित किया है। इसे लागू करने के लिए बहुत अधिक मुद्दा नहीं होना चाहिए :)
कम्युनिस्ट डक

@ कम्युनिस्ट डक धन्यवाद, मैंने पहले सी में डब किया है।
एलेक्स


@alex, आपको अपने कार्यान्वयन में किसी प्रकार की पुनरावृत्ति का उपयोग करना चाहिए। वर्तमान में आपके पास यादृच्छिक y घटक के साथ एक पंक्ति है, जहां यादृच्छिक भिन्नता दाईं ओर घटती है।
जूहा सिरजला

5

मिडपॉइंट विस्थापन एल्गोरिथ्म का उपयोग करने के बारे में कैसे संभवत: थोड़ी सी स्मूदिंग के बाद उदाहरण के लिए बहुत तेज स्पाइक्स को हटाने के लिए कम पास फ़िल्टरिंग ? यह दृष्टिकोण स्कोर्चेड अर्थ में समान नहीं है, लेकिन इसी तरह के परिणाम प्रदान करना चाहिए।

मेरा मानना ​​है कि झुलसे हुए पृथ्वी ने किसी तरह गुरुत्वाकर्षण और गिरने वाली गंदगी का अनुकरण किया। उदाहरण के लिए, आपके पास बहुत खड़ी पहाड़ी नहीं हो सकती है क्योंकि अन्यथा गंदगी नीचे गिर जाएगी और कम खड़ी ढलान का निर्माण करेगी।


1

एक और दृष्टिकोण है जिसका आप उपयोग कर सकते हैं। आप बेतरतीब ढंग से उत्पन्न साइन तरंगों को एक साथ जोड़ सकते हैं और फिर परिणाम को अपनी स्क्रीन पर फिट कर सकते हैं। यह वास्तव में अभ्यास में आसान है और कुछ अच्छे परिणाम पैदा करता है, हालांकि चिकनी और शायद आपके उदाहरण स्क्रीनशॉट की तुलना में अधिक कृत्रिम।

आप यहां जावास्क्रिप्ट में स्रोत देख सकते हैं। विभिन्न प्रकार के इलाकों को प्राप्त करने के लिए कुछ मापदंडों के साथ फिड करना वास्तव में आसान है।

https://github.com/fmstephe/Tankwars

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