2 डी ग्रह गुरुत्वाकर्षण


15

मैं एक साधारण खेल बनाने की कोशिश कर रहा हूँ जहाँ एक अंतरिक्ष यान लॉन्च किया जाता है और फिर इसका मार्ग ग्रहों के गुरुत्वाकर्षण से प्रभावित होता है।

इस खेल के समान: http://sciencenetlinks.com/interactives/gravity.html

मैं जानना चाहता हूं कि इस खेल में अंतरिक्ष यान पर ग्रहों के प्रभाव को कैसे दोहराया जाए ताकि दिशा बदलने के लिए एक ग्रह के चारों ओर एक अंतरिक्ष यान 'लूप' कर सके।

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

अग्रिम में धन्यवाद।

पी एस मैं कोडिंग का बहुत अनुभव है बस खेल देव के साथ कोई भी नहीं है।

जवाबों:


15

आपके मामले में एक अंतरिक्ष यान है, जो सभी ग्रहों के गुरुत्वाकर्षण से प्रभावित होता है। प्रत्येक ग्रह 'एम 1 * एम 2 / आर ^ 2' के बराबर बल लागू करता है जिसमें एम 1 और एम 2 अंतरिक्ष यान और ग्रह के द्रव्यमान का प्रतिनिधित्व करते हैं, और आर ग्रह और अंतरिक्ष जहाज की यूक्लिडियन दूरी के बराबर है। आपको बस जहाज पर लागू सभी बलों की राशि की गणना करनी है। न्यूटन के नियमों से हम जानते हैं कि 'f = m *' a जहां एफ कुल वस्तु पर लागू होता है, m यह द्रव्यमान है और यह त्वरण है। इस बिंदु से आप इस पृष्ठ को पढ़ सकते हैं कि समय के साथ वेग और स्थिति की गणना करने के लिए त्वरण का उपयोग कैसे करें।


+1 अच्छा संसाधन जो आपने जोड़ा है, 4 वें क्रम रन-कुट्टा एकीकरण विधि और सब कुछ समझाते हुए।
डेविड गाविया

फिलहाल मेरी समस्या यह है कि स्पेसशिप किस रास्ते पर है। मुझे और अधिक 'गेम-लाइक' होने की जरूरत है। मैंने दिखाने के लिए एक साधारण चित्र बनाया है। i44.tinypic.com/2w2kdo4.jpg ए मेरे पास अब क्या है, बी वह है जो मुझे चाहिए।
बेक किया हुआ

@baked: और ग्रह का द्रव्यमान बढ़ने से काम नहीं चलेगा?
जेसी एमोंड

5
गेम लेख पर गफ्फार के अलावा आपको इस कोडफ्लो लेख को पढ़ने की आवश्यकता है ! रन-कुट्टा यहां आपकी सबसे अच्छी शर्त नहीं लगती है।
सैम होसेवर

यदि आपके पास ए और बी है, तो अपने अंतरिक्ष यान के प्रारंभिक वेग को कम करने के बारे में कैसे?
बेन

4

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

यह बल दोनों वस्तुओं के द्रव्यमान पर निर्भर करता है, लेकिन इस मामले में, चूंकि अंतरिक्ष यान का द्रव्यमान ग्रह की तुलना में संभवतः नगण्य है, आप केवल ग्रह के आकार के आधार पर अलग-अलग निरंतरता की कोशिश कर सकते हैं जब तक कि आप सही महसूस न करें।

सबसे महत्वपूर्ण बात यह है कि यह बल दोनों वस्तुओं के बीच की दूरी को कमज़ोर बनाता है। आप दोनों के बीच चुकता दूरी से विभाजित करके ऐसा करेंगे। एक निश्चित दूरी के बाद आप "मैन्युअल रूप से" कटऑफ करना चाहते हैं और बल लगाना बंद कर सकते हैं।

बस इस बल को एक त्वरण में तब्दील करें, और बुनियादी भौतिक समीकरणों को आराम का ध्यान रखना चाहिए।

स्यूडोकोड में

force=0
for each planet
    if distance < constant
        force += mass * (planet.xy - ship.xy) / distance^2
apply force to ship

यह वास्तव में काफी समान है कि मैं इसे वर्तमान में कैसे कर रहा हूं। शायद यह केवल स्थिरांक के साथ खेलने की बात है?
बेक किया हुआ

2
वास्तव में यकीन नहीं है, लेकिन मैं कहूंगा कि यह शायद अभी ट्विकिंग है। और मुझे लगता है कि यह उस प्रारंभिक शक्ति पर भी निर्भर करता है जिसे आप कक्षा में लाने के लिए अंतरिक्ष यान पर लागू करते हैं।
डेविड गोवेया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.