سؤال

ولدي لعبة وأنا أعمل على ذلك وصاروخ موجه في ذلك. في اللحظة التي تتحول فقط نحو هدفهم، والتي تنتج نتيجة البكم بدلا يبحث، مع كل الصواريخ بعد الهدف حولها.

وأريد أن إنشاء نكهة أكثر فتكا من الصواريخ التي من شأنها أن تهدف إلى حيث الهدف "سيكون" في الوقت الذي يحصل هناك، وأنا على الحصول على بعض الشيء عالقا والخلط حول كيفية القيام بذلك.

وأنا على التخمين وسوف تحتاج إلى العمل بها حيث هدفي سيكون في مرحلة ما في المستقبل (تخمين أي حال)، ولكن لا يمكنني الحصول على رأسي حول مدى المقبلة للنظر. فإنه يحتاج إلى أن يقوم على أساس مدى الصاروخ بعيدا عن الهدف، ولكن الهدف هو تتحرك أيضا.

وبلدي الصواريخ لديها التوجه المستمر، جنبا إلى جنب مع قدرة ضعيفة لتحويل. الأمل هو أنها سوف تكون سريعة ومثيرة، ولكن توجيه مثل بقرة (أي سيئة، للجماهير غير هتشكوك هناك).

وعلى أي حال، يبدو وكأنه نوع من مشكلة متعة لتجاوز المكدس لمساعدتي في حل، لذلك أي أفكار أو اقتراحات بشأن صواريخ أفضل أو "أكثر متعة" من شأنه أن يكون كل تلقى بامتنان.

وحتى القادم سيكون AI عن التهرب منها ...

هل كانت مفيدة؟

المحلول

وماذا كنت تشير إلى ما يسمى "إرشادات القيادة" ولكن هناك طريقة أسهل وأفضل.

والطريقة التي الصواريخ الحقيقية تفعل ذلك عموما (وليس كلها على حد سواء) يستخدم نظام يسمى النسبي التنقل. وهذا يعني أن صاروخ "يتحول" في نفس اتجاه خط البصر (LOS) بين الصاروخ والهدف تحويل وبمعدل بدوره "النسبي" لمعدل LOS ... وهذا فعل ما كنت طلب كما هو الحال عندما معدل LOS هو صفر، كنت على مسار تصادمي.

ويمكنك حساب معدل LOS فقط عن طريق المقارنة بين سفوح الخط الفاصل بين misile والهدف من ثانية واحدة إلى أخرى. إذا كان هذا المنحدر لا يتغير، كنت على مسار تصادمي. إذا كان يتغير، وحساب التغيير وتحويل الصاروخ بنسبة الزاوي متناسبة ... يمكنك استخدام أي المقاييس التي تمثل موقف صواريخ والهدف.

وعلى سبيل المثال، إذا كنت تستخدم ثابت التناسب 2، وLOS يتحرك إلى اليمين في 2 درجة / ثانية، وتحويل الصاروخ إلى اليمين عند 4 درجة / ثانية. LOS إلى اليسار في 6 درجة / ثانية، الصاروخ إلى اليسار في 12 درجة / ثانية ...

في 3 د المشكلة هي متطابقة باستثناء "تغيير في لوس تقييم"، (ومعدل بدوره صاروخ الناتجة) هو في حد ذاته ناقلات، أي أن لديها ليس فقط قوته، ولكن الاتجاه (هل أنتقل اليسار صاروخ أو الحق أو أعلى أو لأسفل أو 30 درجة فوق الأفقي إلى اليمين، وما إلى ذلك ؟؟ ... تخيل، كطيار الصواريخ، حيث كنت "تعيين أجنحة" لتطبيق رفع ...

والصواريخ الموجهة الرادار، والتي "تعرف" معدل الإغلاق. ضبط ثابت التناسب بناء على إغلاق (كلما ارتفع إغلاق أسرع يحاول الصاروخ لتحويل)، بحيث الصاروخ سوف تتحول أكثر قوة في سيناريوهات عالية الإغلاق، (عندما يحين الوقت الرحلة أقل)، وأقل عدوانية في إغلاق منخفض (ذيل مطاردات) عندما يحتاج للحفاظ على الطاقة. صواريخ أخرى (مثل التدوير الجانبي)، والتي لا تعرف الإغلاق، تستخدم قيمة التناسب ثابتة محددة سلفا). FWIW، تستخدم عصر فيتنام AIM-9 التدوير الجانبي ثابت التناسب من 4.

نصائح أخرى

ولقد استعملت هذه المادة CodeProject قبل - فقد بعض الرسوم المتحركة لطيف لشرح الرياضيات

.

و"إن الرياضيات من الاستهداف ومحاكاة الصواريخ: من حساب التفاضل والتكامل للفورمولا الدرجة الرابعة": http://www.codeproject.com/KB/recipes/Missile_Guidance_System.aspx

و(أيضا، كانت مخبأة في التعليقات في الجزء السفلي من هذه المادة هو إشارة إلى بعض التعليمات البرمجية C ++ أن تنجز نفس المهمة من ويكي غير واقعي)

ونلقي نظرة على OpenSteer . لديها الرمز إلى حل مشاكل من هذا القبيل. انظروا 'steerForSeek' أو 'steerForPursuit ".

هل تعتبر ردود الفعل السلبية على التغيير الأخير تحمل على تغير الزمن؟

<الصورة> التفاصيل اليسار باعتبارها ممارسة.

والاقتراحات جادة تماما: إذا لم يكن مستهدفا المناورة هذا يجب الحصول على اعتراض الأمثل القريب. ويجب أن تتلاقى حتى لو كان الهدف هو التهرب بنشاط.

وتحتاج المزيد من التفاصيل؟

وحل في فضاء ثنائي الأبعاد لسهولة التدوين. خذ \vec{m} أن يكون موقع صواريخ وناقلات \vec{t} ليكون موقع الهدف. العنوان الحالي في اتجاه الحركة على وحدة زمنية مشاركة: \vec{h} = \bar{\vec{m}_i - \vec{m}_i-1}}. دعونا ص تكون ناقلات normlized بين الصاروخ والهدف: \vec{r} = \bar{\vec{t} - \vec{m}}. حمل هو b = \vec{r} \dot \vec{h} أحسب تحمل في كل القراد الوقت، والتغيير منها، وتغيير التوجه للحد من هذه الكمية.

والرياضيات هي هارير في 3D بسبب الحاجة للعثور على الطائرة من العمل في كل خطوة، ولكن العملية هي نفسها.

وأنت تريد أن أقحم مسار كل من الهدف والصاروخ بوصفها وظيفة من الزمن. ثم ابحث عن العصر الذي إحداثيات الكائنات في بعض الخطأ مقبول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top