पानी / महासागर सिमुलेशन और भौतिकी


42

मैं पानी के सिमुलेशन के बारे में कुछ संदर्भों की तलाश कर रहा हूं, और यह कैसे निकायों (जैसे नावों, जहाजों, पनडुब्बियों) के साथ बातचीत करने के लिए मॉडल है।

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

मूल रूप से मैं लहरों के अनुसार एक जहाज की स्थिति बनाने में सक्षम होना चाहूंगा। मैं यह कैसे कर सकता हूँ?

मैं पांडा 3 डी का उपयोग कर रहा हूं, लेकिन किसी भी उपलब्ध तकनीक में प्रयुक्त तकनीकों और कार्यान्वयन के बारे में सुनने की उम्मीद है।

जवाबों:


79

मूल रूप से आप एक जहाज के लिए 6 चीजों को मॉडलिंग कर रहे हैं: पिच, जम्हाई, रोल, हीव, बोलबाला और उछाल।

वैकल्पिक शब्द

पिच, जम्हाई और रोल घुमाव हैं जो जहाज को मोड़ सकते हैं क्योंकि यह मुड़ता है और लहरों के ढलान के ऊपर और नीचे जा रहा है। हीव, स्वे और सर्ज वेव्स हैं जो लहरों को जहाज के चारों ओर धकेलने से प्रेरित होते हैं और / या जहाज एक लहर का चेहरा नीचे गिराते हैं।

"हिल्स पर एक कार ड्राइविंग की तरह ..."

पानी पर एक नाव की कल्पना करें जैसे पहाड़ी जमीन पर गाड़ी चलाना। अगर कार रोलिंग पहाड़ियों पर चलती है (जैसे लहरों पर जाने वाला जहाज) तो यह झुकाव और कोण पर जा रहा है क्योंकि यह पहाड़ियों के ऊपर और नीचे जाता है। यह पिच, यव और रोल है। यदि पहाड़ियों (लहरें) बड़ी हैं, तो कार (जहाज) ऊपर और नीचे, पिचिंग, जम्हाई और लुढ़कते हुए आगे बढ़ेगी। यदि पहाड़ियों (लहरें) वास्तव में छोटी (कार / जहाज से छोटी) हैं, तो कार (जहाज) केवल उन पर ड्राइव करने जा रही है, पिच, जम्हाई या रोल नहीं।

एक बड़ा जहाज छोटी तरंगों के माध्यम से हल कर सकता है, जबकि एक छोटा जहाज लहरों के ऊपर और नीचे जाएगा। हमारी कार का उदाहरण लेते हुए, किसी को छोटी पहाड़ियों (लहरों) के एक सेट पर साइकिल (छोटे जहाज) की सवारी करने की कल्पना करें। वे जाते-जाते लुढ़क जाएंगे। फिर कोई उनके ऊपर एक बड़ा ट्रक (जहाज) चलाता है। ट्रक पहाड़ियों से बड़ा है, इसलिए यह वास्तव में ऊपर और नीचे पिच नहीं करता है क्योंकि यह उनके ऊपर जाता है।

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

एक जहाज लहरों पर भी स्लाइड करेगा। लहर के मुख से नीचे जा रहा जहाज उदाहरण के लिए आगे बढ़ेगा। तो हमारी कार के उदाहरण का विस्तार करने के लिए, इसे बड़े स्पंजी पहियों वाली कार बनाएं, जो थोड़ी फिसलन वाली सतह पर चलती है। जब तक कार स्लिप की भरपाई के लिए इंजन नहीं चला रही है, तब तक वह एक पहाड़ी के किनारे खिसक जाएगा। भले ही यह इंजन को चला रहा हो, लेकिन कुछ खिसकने वाला है।

एक जगह जहां कार और पहाड़ी सादृश्यता की समस्या है, यह तथ्य है कि समय के साथ लहरें आकार बदलती हैं। लहरों के ऊपर और नीचे जाते ही एक स्थिर जहाज ऊपर और नीचे जाएगा।

लहरें चलती जहाज

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

हालांकि अगर लहरें सममित नहीं हैं (जैसे नीचे दी गई तस्वीर), तो लहरें जहाज को स्थानांतरित करने वाली हैं। क्योंकि लहर के एक तरफ खड़ी है, जहाज जल्दी से नीचे की ओर स्लाइड करने जा रहा है और साथ ही लहर के चेहरे से धक्का दिया जाएगा। लहर की कोमल पीठ ढलान हालांकि ज्यादा गति नहीं होगी।

वैकल्पिक शब्द

यह जहाज की गति को प्रभावित करने वाली तरंग गति और आकार का सबसे सही मॉडल नहीं है, लेकिन यह शायद ही किसी अनुकार के लिए करेगा।

पवन प्रभाव

पवन भी अपने जहाज को वेव मोशन या शिप मोशन से स्वतंत्र तरीके से इधर-उधर धकेलने वाला है। हवा की दिशा और शक्ति तरंगों की दिशा और बल से अलग हो सकती है।

उछाल

Buoyancy कितनी अच्छी तरह से आपका जहाज तैरता है। बहुत ही भयंकर जहाज पानी में ऊँचे तैरते हैं, और जो बुँदे डूबती नहीं हैं। न्यूट्रली बोयंत जहाज (पनडुब्बी) मूल रूप से किसी भी बिंदु पर पानी के नीचे "मंडराना" कर सकते हैं, न तो डूबते हैं और न ही बढ़ते हैं। यदि आप एक जहाज डूबने का अनुकरण करना चाहते हैं, तो इसे नकारात्मक रूप से उग्र बना दें और यह डूबना शुरू हो जाएगा।

Buoyancy जहाज की गति को भी प्रभावित करती है। एक जहाज जो कि बहुत ही भयावह होता है, पानी की सतह पर चारों ओर से टकराएगा और लहरों से बहुत प्रभावित होगा। एक जहाज जो कम उछाल वाला होता है वह आंशिक रूप से जलमग्न हो जाएगा और उतना प्रभावित नहीं होगा। सतह पर तैरते हुए एक पिंगपॉन्ग बॉल के बीच के अंतर के बारे में सोचें जो एक सेब है, जो तैरता है लेकिन आंशिक रूप से पानी के नीचे है। पिंगपोंग बॉल हर लहर गति के साथ ऊपर और नीचे होती है। दूसरी ओर सेब हर लहर विस्तार से प्रतिक्रिया नहीं करता है।

पलटने

यदि पिच, yaw और / या रोल कुछ मूल्य से अधिक है, तो आपका जहाज टिप करने जा रहा है। जब यह खत्म हो जाता है, तो यह पानी के साथ भर सकता है, इस उछाल को कम कर सकता है, इस प्रकार यह किसी भी अधिक फ्लोट नहीं करता है।

सागर बीमार होना: ओ ~

एक जहाज जो लहर गति की दिशा के समानांतर यात्रा कर रहा है, वह "गर्त में" है, और कम से कम मेरे अनुभव में सबसे अधिक मतली के प्रभाव का उत्पादन करेगा :) यदि आप जिस दिशा में यात्रा कर रहे हैं लहरें जा रही हैं, तो आपके पास बहुत हो सकता है चिकनी सवारी - जैसे आपकी पीठ पर हवा का चलना। यदि आप लहरों के रूप में विपरीत दिशा में यात्रा कर रहे हैं, तो आपके पास एक बहुत ही कठोर सवारी होगी जैसा कि आप प्रत्येक लहर को "पहाड़ी" मार रहे हैं जैसा कि यह आप पर आता है। एक सुंदर रोमांचक सवारी के लिए बनाता है!

आगे की पढाई

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

अनुच्छेद 1: हीव एंड पिच के साथ शिप रोल डायनेमिक्स और उसके युग्मन की मॉडलिंग

अनुच्छेद 2: समुद्री सतह पोत गतिशीलता के मॉडलिंग और सिमुलेशन

अनुच्छेद 3: समुद्री सतह पोत गतिशीलता का मॉडलिंग और सिमुलेशन

लेखक डूइंग फील्ड रिसर्च

यहाँ मुझे के बारे में है 15 20 साल पहले जब मैं अनुसंधान जहाजों पर काम किया :)

वैकल्पिक शब्द


13
यह कैसे संभव है कि आप अपनी प्रोफ़ाइल में कुत्ते के समान दिखें? :-P
नोटाबिन

lol मैंने उस पर ध्यान नहीं दिया था लेकिन ...
टिम होल्ट

यह उल्लासपूर्ण है !
ब्लूट्रिन

4

क्या आपके पास पानी का अनुकरण है?

मेरे सुझाव हैं

  • यह स्प्रिंग्स के साथ नकली। पानी की सतह पर प्रत्येक शीर्ष को एक साथ एक वसंत जाल में जोड़ा जाता है। एक नीचे खींचो और वे सभी दोलन शुरू करते हैं। आप x, z गति को रोक सकते हैं और केवल y (या अप / डाउन मोशन) की अनुमति दे सकते हैं
  • विभिन्न आयामों और आवृत्तियों के sinewaves संक्षेप द्वारा यह नकली। कुछ इस तरह:

    rez = 32;
    for(i=-rez; i<rez; i++)
       for(j=-rez; j<rez; j++)
       {
          yofs = 0;
          yofs += 1.0 * sin( t + j*0.5 + i*0.125);
          yofs += 2.0 * sin( t + (rez-j)*0.125 + i*0.25 );
          yofs += 2.0 * sin( t + (j)*0.125 + (rez-i)*0.125 );
          yofs += 0.5 * sin( t + (rez+j)*0.125 + (rez+i)*0.125 );
          glVertex(i/rez, yofs, j/rez);
       }
    
  • 2 डी तरंग समीकरण का अनुकरण करें, यह GPU पर बहुत तेज हो सकता है। देखें एक जावा एप्लेट और कुछ छद्म कोड के लिए इस पेजइस संस्करण की भी जाँच करें, वही लेकिन सरल भी। कोड के साथ एक प्रसंस्करण स्केच।

वेव समीकरण सिम से आप तरंग की दिशा (dx, dz) प्राप्त कर सकते हैं

dx = h[x-1][z] - h[x+1][z] 
dz = h[x][z-1]- h[x][x+1] 

[x] [z] पर तरंग की ऊंचाई के साथ जहां २ डी सरणी है

आप इसे लहर के साथ यात्रा करने के लिए नौकाओं की स्थिति में जोड़ सकते हैं ... मैंने कोशिश की है, लेकिन आंदोलन झटकेदार हो जाता है, इसलिए मैंने इसे एक सरल 3x3 बॉक्स फिल्टर (अंतर / वेग dx dz को चौरसाई करना) के साथ चिकना कर दिया।

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