टोरेंट लगाकर ओरिएंटेशन बदलना


9

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

यदि आपके पास केवल अपनी वस्तु के लिए टोक़ (कोणीय वेग के व्युत्पन्न) को लागू करने की क्षमता है, तो समय के साथ टोक़ लगाने के लिए एक अच्छा एल्गोरिथ्म क्या है जो गंतव्य को खत्म नहीं करेगा / कम करेगा?

(इस मामले में, यह एक अंतरिक्ष जहाज है जो थ्रस्टर्स का उपयोग करके यात्रा की दिशा में स्वचालित रूप से खुद को उन्मुख करना चाहता है। रोल अप्रासंगिक है।)


क्या आप ईंधन उपयोग (कुल टॉर्क एक्सर्टेड) ​​या गति को अनुकूलित करने की कोशिश कर रहे हैं? इसके अलावा, क्या इस ऑपरेशन की शुरुआत में शून्य कोणीय वेग के साथ जहाज शुरू हो रहा है?
जस्टिन एल।

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

जवाबों:


4

यह रैखिक त्वरण के लिए समान मामले की तरह संभाला जा सकता है।

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

इससे हम देख सकते हैं कि समय के साथ त्वरण का अभिन्न शून्य के बराबर होना चाहिए - नकारात्मक त्वरण के समान "बहुत" सकारात्मक त्वरण होना चाहिए।

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

यहाँ समय ग्राफ पर आपके त्वरण का आकार क्या होना चाहिए:

समय के साथ त्वरण का ग्राफ

इसे देखते हुए, कई संभावित रूप और आकार हैं जो आपके त्वरण में हो सकते हैं! हमें एक आसान / संक्षिप्त उत्तर देने के लिए त्वरण के आकार के लिए कुछ धारणाएं चाहिए जो आप चाहते हैं।

एक सरल उत्तर के लिए, मेरे पास तीन राज्यों में से एक में त्वरण होगा: आगे, पीछे या शून्य। आगे और पीछे बराबर परिमाण में होगा, और राज्यों को तुरंत स्विच किया जा सकता है। (त्वरण की कोई क्रमिक रैंपिंग नहीं है)

आप इस समीकरण के साथ किसी निश्चित समय में दिए गए त्वरण के लिए दूरी में परिवर्तन पा सकते हैं:

s = 0.5*a*t^2

यहां तक ​​कि सबसे सरल उपाय यह होगा कि जब तक आप आधे रास्ते तक नहीं पहुंच जाते, तब तक आप बाकी रास्ते से हट जाएं।

हम Pकुल दूरी के रूप में ले जाना चाहते हैं:

s = P/2
P/2 = 0.5*a*t^2
P = a*t^2
t^2 = P/a
t = sqrt(P/a)

तो मूल रूप से:

  1. पर तेजी लाने aके लिए sqrt(P/a)समय की इकाइयों (इकाइयों त्वरण के लिए अपने यूनिटों को बंद आधारित)
  2. उसी परिमाण में एक समान मात्रा में समय के लिए घटाएँ

यह एकमात्र समाधान नहीं है। यह आपको वहां सबसे तेज समय ( 2*sqrt(P/a)) में मिलेगा । लेकिन क्या होगा यदि आप एक अधिक आराम से संस्करण चाहते हैं?

इस मामले में, आप रास्ते के 1 / 3rd को तेज कर सकते हैं, 1 / 3rd के लिए तट को हटा सकते हैं, और बाकी के तीसरे को हटा सकते हैं। या 1 / 4th, 1/2 के लिए तट, 1 / 4th को भी अच्छी तरह से धोना।

या हो सकता है कि आप एक निश्चित समय के लिए तेजी ला सकते हैं, और फिर एक निश्चित समय के लिए कम कर सकते हैं, लेकिन तब तक प्रतीक्षा करें जब तक आप ठीक होने से पहले सटीक स्थिति में नहीं आ जाते।


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

आह; क्षमा करें, मुझे आपका प्रश्न समझ में नहीं आया होगा। मुझे यकीन नहीं है कि मैं आपके इंजन के चश्मे को देखे बिना अधिक अच्छी तरह से उत्तर दे सकता हूं। लेकिन निश्चित रूप से एक निरंतर दिशा में निरंतर टोक़ लगाने का एक तरीका है?
जस्टिन एल।

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