एक चिकनी बूँद के रूप में आरेखण कण


12

मैं खेल / ग्राफिक्स विकास के लिए नया हूँ और मैं कणों के साथ (2D में) खेल रहा हूँ। मैं तरल के रूप में तरल के रूप में एक दूसरे के करीब कणों को आकर्षित करना चाहता हूं। मैं बड़े हलकों को अतिव्यापी नहीं बनाना चाहता क्योंकि बूँद चिकनी (और बहुत बड़ी) नहीं होगी। मैं वास्तव में भौतिकी नहीं जानता लेकिन मुझे लगता है कि मैं जो चाहता हूं वह सतह तनाव के समान है।

मैं स्टैटेक्सचेंज या Google पर कुछ भी नहीं खोज पा रहा हूं (शायद मुझे सही कीवर्ड नहीं पता?)। अब तक मुझे दो संभावित समाधान मिल गए हैं, लेकिन मैं एल्गोरिदम के बारे में कोई ठोस जानकारी नहीं पा रहा हूं।

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

अवतल पतवार पर शोध करते समय मैंने अल्फ़ा आकृतियों नामक किसी चीज़ पर ठोकर खाई। जो मैं जैसा करना चाहता हूं, वैसा ही प्रतीत होता है, लेकिन जैसा कि अवतल पतवार के साथ है, मुझे कोई भी स्रोत यह बताते हुए नहीं मिला कि वे वास्तव में कैसे काम करते हैं। मुझे कुछ प्रेजेंटेशन मटीरियल्स मिले हैं, लेकिन इतना नहीं कि मैं आगे बढ़ सकूं। यह एक बड़े रहस्य की तरह है जिसे हर कोई जानता है सिवाय मेरे: - /

अवतल पतवार या अल्फ़ा आकार की गणना करने के बाद मैं इसे चिकना और अच्छा बनाने के लिए इसे बेज़ियर वक्र बनाना चाहता हूं।

हालाँकि मुझे अपना दृष्टिकोण थोड़ा जटिल लगता है, शायद मैं इसे गलत तरीके से हल करने की कोशिश कर रहा हूँ? यदि आप या तो मेरी समस्या का कोई अन्य समाधान सुझा सकते हैं, या उन टुकड़ों की व्याख्या कर सकते हैं जो मुझे याद आ रहे हैं तो मैं बहुत खुश और आभारी रहूंगा :-)

धन्यवाद।



@BlueRaja आपकी टिप्पणी के लिए धन्यवाद। हालाँकि मैंने पहले ही उस पोस्ट को ढूंढ लिया था लेकिन उसे खारिज कर दिया क्योंकि उत्तर या तो उन पेपर्स के लिंक से जुड़े हैं जो सीधे मेरी समस्या का समाधान नहीं करते हैं, लेकिन उनके संदर्भ या एक पेटेंट जो मैं खुले तौर पर उपयोग नहीं कर सकता (मुझे लगता है, मैं नौकरशाही के साथ अच्छा नहीं हूं) (मुझे वैसे भी डाउनलोड लिंक नहीं मिला)।
नौमीक

1
"मार्चिंग क्यूब्स" पेटेंट 2005 में समाप्त हो गया, अधिकांश 2D उदाहरण बहुत पुराने हैं और इसीलिए आपने उन्हें पुराने वेब पेजों पर उनके उपयोग के बारे में चेतावनी देते हुए देखा होगा।
पैट्रिक ह्यूजेस

1
यहाँ एक gamedev लेख है जो दोनों मेटाबॉल और आइसोसर्फफेस में जाता है, विचारों को स्पष्ट करने के लिए कुछ नमूनों के साथ: लिंक
पैट्रिक ह्यूजेस

जवाबों:


8

आपको जिस कीवर्ड की आवश्यकता हो सकती है, वह है "Metaballs", और जटिल nVidia GPU Gems से नमूना डेमो दृश्य संचालित संस्करणों का नमूना है जो केवल अच्छे दिखने और तेजी से चलाने के लिए डिज़ाइन किया गया है।


दरअसल, मुझे कीवर्ड का पता नहीं था :-) मैं इस पर बारीकी से विचार करूंगा और अगर ऐसा लगता है कि मुझे इसकी आवश्यकता है, तो मैं आपके उत्तर को स्वीकार करूंगा। धन्यवाद!
नौमीक

1
मेरे लिए +1 यह सोचने से पहले कि "मीटबॉल" था, मैंने इसे दूसरी बार पढ़ा।
जेम्स

2
क्या आप इस उत्तर में थोड़ा और विस्तार जोड़ सकते हैं? यदि आप करते हैं तो +1।
अटैकिंगहोबो

@ मुझे लगता है कि हर कोई उस गलती को पहली बार शब्द देखता है!
जेफ

1

कणों के एक समूह को प्रस्तुत करने के लिए एक जाल में परिवर्तित करने के लिए, मेटाबॉल शैली, आप मार्चिंग क्यूब्स एल्गोरिथ्म पर एक नज़र डाल सकते हैं , जो voxel डेटा से एक बहुभुज जाल उत्पन्न करता है। एक डेमोस्कोपिक डेमो है जिसका एक शानदार उदाहरण है, GPU पर उत्पन्न सब कुछ के साथ: सुन्न रेस


0

जैसा कि ऊपर उल्लेख किया गया है, आप मेटाबॉल के बारे में सोच रहे हैं।

यह कुछ बुनियादी सिद्धांत चर्चा और उदाहरण के साथ इस विषय पर एक शानदार लेख है।

मेटाबॉल और 2 डी में इसोसुरफेस की खोज

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