वक्र के साथ स्थानांतरित करने के लिए मुझे एआई एजेंट कैसे मिलेंगे?


12

वर्तमान में मेरे बहुत ही बुनियादी एआई ढांचे में एजेंट हैं जो अंकों की एक श्रृंखला से बने एक दांतेदार पथ के साथ चलते हैं।

नव पथ

वे बस एक बिंदु से दूसरे तक अपनी स्थिति को आगे बढ़ाते हुए ऐसा करते हैं। जब वे अगले बिंदु पर पहुंचते हैं तो वे अगले और इसी तरह आगे बढ़ते हैं। मैं इसे कैसे बदल सकता हूं ताकि वे रास्ते के घुमावदार संस्करण के साथ आसानी से आगे बढ़ें, और मैं वक्र कैसे उत्पन्न करूं?


वे अगले बिंदु का चयन कैसे करते हैं?
FxIII

@FxIII क्षमा करें, मैंने यह टिप्पणी पहले नहीं देखी थी - क्या आपका मतलब यह है कि उन्होंने एक नया खोज लक्ष्य कैसे चुना या उन्होंने खोज में अगला बिंदु कैसे चुना?
सिरयाकोट

जवाबों:


4

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

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

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


7

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

ये साइटें एक शानदार स्पष्टीकरण और नमूना कोड प्रदान करती हैं जो आपको शुरू करना चाहिए:

पॉल बॉर्के इंटरपोलेशन मेथड्स

सोल :: ट्यूटोरियल - इंटरपोलेशन ट्रिक्स


खैर, क्या होगा अगर उत्पन्न वक्र अचानक एक बाधा को मारता है?
बंमज़ैक

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

@bummzack यह एक अच्छा बिंदु है, और इसका उत्तर एक नेविगेशन जाल का उपयोग करना है और तदनुसार अपने घटता को चिकना करना है, लेकिन अभी के लिए मैं बस एक सरल नौसेना ग्राफ के साथ यह काम करने जा रहा हूं और इसलिए मैं इसे केवल चौरसाई द्वारा हल करूंगा। पथ थोड़ा सा।
सिरियाकलोट

@ बम्ज़ैक: घुमावदार पथ उत्पन्न करने वाले एल्गोरिथ्म के शीर्ष पर बाधा से बचाव के लिए कुछ स्टीयरिंग व्यवहार जोड़ें।
9

0

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

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

नकारात्मक पक्ष यह है कि आंदोलन उप-इष्टतम दिखाई देगा। ऑब्जेक्ट हमेशा एक ही तरह से अगले रास्ते पर सबसे सीधा रास्ता ले जाएगा, जिसका अर्थ है, एक तख़्ता के साथ विपरीत, वह 3 के रास्ते की ओर मुड़ना शुरू नहीं करेगा, जब तक कि वह पहले से ही रास्ता नहीं दे चुका है। 2. आपकी स्थिति के आधार पर, यह हो सकता है या नहीं अपने तरीके (यदि यह भी एक समस्या है) को समायोजित करके ठीक किया जा सकता है।


1
यह अनिवार्य रूप से एक सीक व्यवहार होगा जो मैंने सुझाया था।
रे डे

0

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

मैं यहां कुछ समाधान पोस्ट करूंगा यदि मुझे इसके बारे में गहराई से सोचने के लिए एक पल मिल सकता है, लेकिन मुझे लगता है कि यह जाने का रास्ता है।

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