2013-07-12 23 views
5

का उपयोग करके टकराव की भविष्यवाणी मैं दो उत्तल आकारों के बीच टकराव के सटीक बिंदु की भविष्यवाणी करने के लिए मिंकोवस्की योग का उपयोग करना चाहता हूं। मेरी समझ से उस बिंदु पर जहां वेग वेक्टर minkowski sum के साथ छेड़छाड़ करता है वह राशि है जो मुझे अपने ऑब्जेक्ट को वेक्टर के साथ ले जाना है ताकि वे बस स्पर्श करें (मुझे पहले से पता है कि वे टकराएंगे)। यहाँ है कि मैं क्या मतलब (सादगी कारणों के लिए मैं सिर्फ इस्तेमाल किया आयतों) का एक उदाहरण है:मिंकोवस्की योग

enter image description here

मेरा मतलब है मैं सिर्फ उत्तल पतवार के हर लाइन के साथ चौराहे की गणना कर सकते हैं और बस निकटतम का उपयोग, लेकिन वह बुरी तरह लगता है अक्षम। मेरा विचार वेक्टर के सबसे नज़दीकी सरलता की गणना करना था, लेकिन मुझे नहीं पता कि यह कैसे करना है। मुझे एक एल्गोरिदम मिला जो ऑब्जेक्ट्स के बीच सबसे छोटी दूरी की गणना करता है या मिंकोस्की योग से मूल (http://www.codezealot.org/archives/153) तक छोटी दूरी से अधिक सटीक होने के लिए। एल्गोरिदम का एक हिस्सा मूल के सबसे सरलतम को खोजने की कोशिश करता है जो कि मैं क्या करना चाहता हूं। मैंने इसे अपनी जरूरतों में बदलने की कोशिश की लेकिन मैं सफल नहीं था। मेरे लिए ऐसा लगता है कि एक बहुत ही सरल समाधान होना चाहिए लेकिन मैं वेक्टर गणित के साथ अच्छा नहीं हूं।

मुझे लगता है मैं स्पष्ट मेरी समस्या बना सकता है के बाद से मेरी अंग्रेजी बहुत अच्छा नहीं है आशा: डी

+0

आह, मैंने थोड़ी देर में इस समस्या का प्रयास नहीं किया है। निकटतम सरल खोजने में समस्या यह है कि यह गति वेक्टर को ध्यान में नहीं लेता है। जिस समाधान का मैं उपयोग करने का प्रयास कर रहा हूं वह एक किरण (गति का वर्णन) और मिन्कोव्स्की योग (जो, क्योंकि यह एक उत्तल हॉल है, के बीच छेड़छाड़ की गणना करना है, आधा रिक्त स्थान के चौराहे से प्रतिनिधित्व किया जा सकता है - तब समस्या है उन आधे रिक्त स्थान की गणना)। –

+0

हमम ऐसा लगता है कि मुझे कुछ और पढ़ने की जरूरत है: डी – user1566228

उत्तर

0

इस प्रकार आप समस्या को बदल सकता है:

1) विमान बारी बारी से इतना है कि वेग सदिश क्षैतिज हो जाता है

2) एक दूसरे के सामने बहुभुज रूपरेखाओं के भाग पर विचार करें (ये दो उत्तल पॉलिलाइन हैं); अब आपको इन दो पोललाइनों के बीच सबसे छोटी क्षैतिज दूरी

3) पॉलिलाइन में से प्रत्येक के प्रत्येक चरम के माध्यम से, क्षैतिज रेखा खींचें; यह विमान क्षैतिज स्लाइस के एक सेट में

4) एक कतरनी परिवर्तन का उपयोग करके प्रत्येक टुकड़ा को बदल देगा जो दो अक्षरों को क्षैतिज चाल से वाई धुरी पर परिभाषित करता है; यह परिवर्तन क्षैतिज दूरी

5) जबकि पहली पॉलीलाइन एक सीधी रेखा (वाई अक्ष) में परिवर्तित हो जाती है, अन्य पॉलीलाइन को अन्य पॉलीलाइन में बदल दिया जाता है; वाई अक्ष के निकटतम vertex (es) खोजें। यह आपको टकराव वेक्टर की लंबाई देता है।

उप-उत्पाद के रूप में, चरण 2) आपको बताएगा कि क्या बहुभुज टकराव करते हैं, यदि वाई मानों की सीमाएं ओवरलैप होती हैं।