2012-12-30 16 views
5

मैं एक सिमुलेशन खेल के विकास कर रहा हूँ और मैं बहुत प्राप्त करने चीज़ों निम्नलिखित स्थिति है के विकास तकनीक खेल के लिए नया हूँ:ऐ एजेंट आंदोलन - उठा आंदोलन कोण

enter image description here

कृपया ध्यान दें कि लाल तीर दिशा निर्देश हैं कि एआई एजेंट

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

उदाहरण के लिए: के रूप में चित्र पीला एजेंटों से घिरे काले रंग में एक एजेंट है में देखा, कैसे एजेंट अगले कोण जो यह पीला एजेंटों के रास्ते से बाहर ले जाने और टकराव से बचने के हैं ले सकता है।

तो मैं सुझावों की तलाश में हूं कि मैं इसे कैसे कार्यान्वित कर सकता हूं। मदद की बहुत सराहना की जाती है और अग्रिम धन्यवाद!

नोट एजेंट आंदोलन कोण और गति स्थिरांक से गणना की गई स्थिति को अद्यतन करने के लिए वेग वेक्टर का उपयोग करते हैं।

उत्तर

2

मैं आपको एक विचार दे सकता हूं, मैं इसका कैसे संपर्क करूंगा।

तो सबसे पहले आप रेडियंस में व्यक्त किए गए कोण को चुनने के रूप में एजेंटों की दिशा चुनने के बारे में सोच सकते हैं। तो मान 0 (शामिल) और 2 * पीआई (बहिष्कृत) के बीच होगा - वह है - पूरे सर्कल। अब आप गणना कर सकते हैं कि कौन से दिशानिर्देश अन्य एजेंट हैं (मान लीजिए कि हम केवल एजेंटों के बारे में परवाह करते हैं, जो दिए गए एक्स से कहीं दूर नहीं हैं - जो निर्देशांक के आधार पर गणना करना आसान होना चाहिए)। एक बार हमारे पास प्रश्नों के एजेंटों की सूची हो जाने के बाद, हम मूल एजेंट के संबंध में उनमें से प्रत्येक के कोण को समझ सकते हैं। फिर हम उपलब्ध सर्कल के उस क्षेत्र को "काला" कर सकते हैं - एजेंट जितना बड़ा होगा उतना ही अधिक होगा। यदि आप सभी एजेंटों के लिए दोहराते हैं। अपने सर्कल अब ऐसा ही कुछ देखने के लिए:

---- XXXX --- XXXX ---- XXX -----

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

+0

यह एक बहुत ही साफ विचार है! धन्यवाद, इसे टॉमोरो लागू करने के लिए जाना होगा। – Tohmas

+0

शुभकामनाएं, यदि आपको कंप्यूटिंग कोणों में परेशानी है तो सर्कल के प्रत्येक चौथाई को अलग से संभालने का प्रयास करें, यानी, 1) dx> 0, dy> 0, 2) dx> 0, dy <0, आदि –

+0

एकमात्र मुद्दा अब मैं हूं एजेंट को स्थानांतरित करने वाले सभी कोणों को स्टोर करने का तरीका जानने का प्रयास करना। – Tohmas

संबंधित मुद्दे