2011-02-04 14 views
10

मैं HTML5 कैनवास पर तरल गतिशील सिम्युलेटर लिखने की कोशिश कर रहा हूं। मुझे कुछ real damn cool सामान on the internets मिल गया है जो हमेशा एक आशाजनक प्रारंभिक बिंदु की तरह दिखते हैं, लेकिन वे सभी सेल-आधारित हैं और कुछ पागल गणित का उपयोग करते हैं।बाधाओं के साथ द्रव गतिशील सिमुलेशन

मैं चीजों को और अधिक रोचक बनाने के लिए मनमाने ढंग से बाधाओं (किसी भी अभिविन्यास, मंडलियों, आदि की रेखाएं) जोड़ने में सक्षम होना चाहता हूं, लेकिन मुझे नहीं पता कि कहां से शुरू करें।

क्या किसी को तरल सिमुलेशन के लिए कुछ सरल समीकरणों के बारे में पता है जिसमें किसी भी अभिविन्यास की बाधाएं शामिल हैं? वैकल्पिक रूप से, क्या कोई मुझे उपर्युक्त उदाहरणों में से एक लेने और बाधाओं को जोड़ने के लिए गणित की ओर इशारा कर सकता है?

मुझे पता है कि यह प्रश्न कुछ है जो मुझे मैथोवरफ्लो से पूछना चाहिए, लेकिन वे सिद्धांत सामग्री में अधिक प्रतीत होते हैं। क्षमा करें अगर मैं गलत क्षेत्र में हूं। मुझे वास्तव में नहीं पता कि कहां से शुरू करना है - अगर किसी ने पहले मनमाने ढंग से बाधाओं के साथ द्रव सिमुलेशन पर काम किया है, तो मैं कुछ पॉइंटर्स का उपयोग कर सकता हूं।

शुद्धता यहां सादगी के लिए पिछली सीट लेती है।

धन्यवाद!

+2

मुझे खेद है, लेकिन यह ऐसा कुछ है जहां आप गणित को समझे बिना ऐसा करने के लिए निकटतम आ रहे हैं, किसी और के कोड को कॉपी और पेस्ट कर रहे हैं। –

उत्तर

12

द्रव गतिशीलता एक साधारण विषय नहीं है। वे सभी "सिद्धांत" जो दूसरी साइट पर पसंद करते हैं, वैसे ही यह क्षेत्र काम करता है।

द्रव प्रवाह का सबसे सरल उदाहरण 2D, incompressible, irrotational, laminar flow है। मैं उसमें देखकर शुरू करूंगा।

लेकिन यह एक आसान क्षेत्र नहीं है। वहां "किताबें खुद को कम्प्यूटेशनल फ्लुइड डायनेमिक्स इन टेन डेज़" सिखाएं।

+6

मुझे यह जानना अच्छा लगेगा कि इसे किसने वोट दिया और क्यों। – duffymo

7

ग्राफिक्स उन्मुख तरल सिमुलेशन के परिचय के लिए पढ़ने के लिए सबसे अच्छी किताब रॉबर्ट ब्रिड्सन द्वारा "कंप्यूटर ग्राफिक्स के लिए द्रव सिमुलेशन" है (अस्वीकरण: वह मेरा पीएचडी सलाहकार था)। http://www.cs.ubc.ca/~rbridson/fluidbook/

आखिरकार, गणित में बहुत सारे शामिल हैं, लेकिन कम गणित के लिए चीजों को स्पष्ट करने के लिए बहुत से कोड उदाहरण भी हैं।

यह मुख्य रूप से आपके द्वारा वर्णित सेल-आधारित दृष्टिकोण को शामिल करता है। दूसरा मुख्य विकल्प "चिकना हुआ कण हाइड्रोडायनेमिक्स" या एसपीएच है। यदि आप शुरू करना चाहते हैं तो मैथियस मुलर के बारे में कुछ कागजात हैं।

+0

+1 - यह एक अच्छी किताब की तरह दिखता है। यदि आप सी। बैटी हैं, जिन्हें 2008 से भविष्य के काम के रूप में उद्धृत किया गया है, तो मैं आपको इस विषय पर एक अधिकार मानूंगा जिसे जोड़ा जाना चाहिए। वाकई बहूत बढिया। इसे मेरे ध्यान में लाने के लिए धन्यवाद। मैं इसे अपने "पढ़ना चाहिए" बैकलॉग में जोड़ दूंगा। मैंने मुक्त सतह प्रवाह कागज उद्धरण डाउनलोड किया है। मैं इसे ध्यान से पढ़ना सुनिश्चित करूँगा। – duffymo

-1

मैंने कोशिश की है और सिर्फ आपको यह बताने के लिए कि प्रोजेक्शन नामक किसी भी प्रकार के द्रव सिमुलेशन का एक महत्वपूर्ण हिस्सा है जो कि CPU पर भी कम्प्यूटेशनल रूप से व्यापक है, यह बहुत अधिक लगता है और आपको अच्छी तरह से पता चल सकता है कि जावास्क्रिप्ट कई कारणों से काफी धीमा है ।

3

यदि आपको वास्तविक सटीकता की परवाह नहीं है, लेकिन केवल कुछ छेड़छाड़ और शांत होना चाहते हैं, तो मैंने एक बहुत ही सरल दबाव-आधारित सिमुलेशन विकसित किया जो जावास्क्रिप्ट में एक बहुत तेज़ इंटरैक्टिव इंटरफ़ेस प्रदान करता है। आप इसे here देख सकते हैं। http://www.dgp.toronto.edu/~stam/reality/Research/pub.html

इसके अलावा, आप this साइट है, जहाँ आप ठोस स्रोत कोड जावा में लिखा और Actionscript3 के लिए ले जाया पा सकते हैं की जाँच करनी चाहिए:

+0

यह अच्छा है। दूसरों के लिए त्वरित नोट कि आपको परेशानी पर प्रतिक्रिया करने के लिए ब्लैक स्क्रीन पर क्लिक करना होगा। – prototype

3

यहाँ सब कुछ की एक बहुत सभ्य सूची आप तरल गतिकी और सिमुलेशन के बारे में पता करने की जरूरत है । यह बहुत प्रलेखित है, इसलिए जावास्क्रिप्ट को परिवहन करने में कोई समस्या नहीं होनी चाहिए।

+0

बहुत अच्छे संसाधन, आपके पहले लिंक से यह पेपर विशेष रूप से सहायक है: http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf। गणित समझाया गया है और सी कोड प्रदान किया जाता है – Cbas

संबंधित मुद्दे