Nar*_*use 5 math physics calculus
假设我们有导弹A,具有位置矢量和速度幅度(忽略加速度,就像许多游戏一样)和太空飞船B,具有位置和速度矢量.现在,这种导弹是一个讨厌的寻找导弹,将试图寻找太空船B的最佳拦截.
导弹A有两个优点:它知道微积分,它可以计算多项式的根.然而,导弹,或抽象的,程序员,仍在学习微积分,并想知道他是否有正确的方程式.(多项式根将由一个名为Jenkins-Traub Code的Netclib实现的好人解决)
以机智:
mp =导弹位置
mv =导弹速度
sp =宇宙飞船的位置
sv =宇宙飞船速度
t =时间
根据程序员的最佳猜测,拦截方程为:t sp sv + t sp mv - t mp sv - t mp mv
除了我很确定我完全走错了轨道,因为在这个混乱中应该有一些指数; 这是一个尝试解决:(sp-mp)(sv-mv)(t)
我的另一个选择是区分(sp-mp)(sv-mv)^ 2,但我想首先得到反馈,部分是因为,除非我弄错了,'(sp-mp)'解析为'1'.这似乎......奇怪.OTOH,这个功能正在改变的速度可能就是我正在寻找的.
那么 - 我有什么问题,在哪里以及为什么?
谢谢.
编辑:
方程式求和:
(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
我想,绝对不是这样.
导弹的二维运动方程为(假设从 t=0 开始)
[ mpx(t) = mpx(0) + mvx*t , mpy(t) = mpy(0) + mvy*t ]
Run Code Online (Sandbox Code Playgroud)
宇宙飞船的运动是
[ spx(t) = spx(0) + svx*t , spy(t) = spy(0) + svy*t ]
Run Code Online (Sandbox Code Playgroud)
mpx(0) mpy(0) spx(0) spy(0)初始位置分量在哪里
所以要相交,你必须有mpx(t)=spx(t)和mpy(t)=spy(t)。这是求解两个未知数的两个方程。一是拦截的时间t,二是导弹的方向slope=mvy/mvx。或者它可以是导弹的初始位置mpx(0)和mpy(0),或者给定目标拦截时间的速度分量。
从问题中尚不清楚您要寻找什么。