【发布时间】:2011-09-16 04:12:39
【问题描述】:
假设我们有导弹 A,带有位置矢量和速度大小(忽略加速度,就像许多游戏一样)和飞船 B,带有位置和速度矢量。现在,这枚导弹,作为一种令人讨厌的寻找导弹,将尝试为宇宙飞船 B 找到最佳拦截。
Missile A 有两个优点:它知道微积分,并且可以计算多项式的根。然而,导弹,或者抽象地说,程序员,还在学习微积分,想知道他是否有正确的方程。 (多项式根将由一个名为 Jenkins-Traub Code Implemented From Netlib 的好人来解决)
也就是说:
mp = 导弹位置
mv = 导弹速度
sp = 飞船位置
sv = 飞船速度
t = 时间
根据程序员的最佳猜测,截距的等式是: tspsv + tspmv - tmpsv - tmpmv
除非我很确定我完全走错了路,因为在那个混乱中可能应该有一些指数;这是解决问题的尝试: (sp-mp)(sv-mv)(t)
我的另一个选择是区分 (sp-mp)(sv-mv)^2,但我想先获得反馈,部分原因是,除非我弄错了,否则 '(sp-mp)' 会解析为 '1' .这似乎......奇怪。 OTOH,该功能的变化速度可能是我正在寻找的。p>
那么 - 我做错了什么,在哪里以及为什么?
谢谢。
Potentially-useful link to first thread.
编辑:
对等式求和:
(a+bx) + (c+ex)
(a+1bx^0) + (c+1ex^0)
(a+1) + (c+1)
无法生存。
方程的乘积:
(a+bx)(c+ex)
ac+aex+cbx+bex^2
不是多项式(无法使用 Jenkins-Traub 求解)并且看起来不太正确。
ac+1aex^0+1cbx^0+2bex^1
ac+ae+cb+2bex
我认为绝对不是那样。
【问题讨论】:
-
你忘了说飞船和导弹能控制什么。他们可以加速还是减速?他们能改变方向吗,...
-
我的评论是总是从一个好的草图开始。一旦您将所有对象和变量放在草图上,解决方案将变得更加明显。当我学习如何使用 BASIC 编程时,你提醒我解决了这个问题(使用重力)。当你自己弄清楚时,你最好学习。
-
什么是未知数?您要计算的数量是多少? “截距方程”是什么意思?
-
啊,对不起。为了:这被忽略了,此时最好的拦截就是所需要的。好吧,是的,我正在尝试自己弄清楚;感谢您提出草图的建议。我试图推导出一个多项式方程,它给出了在给定这一瞬间的值的情况下,导弹可以拦截宇宙飞船的时间。为什么是多项式方程?嗯,一定是某种方程。而且我知道多项式会起作用。
-
没有加速度的方程是线性的。不需要多项式。借助重力,您将获得二阶多边形。