我正在3D空间中建模一个粒子.

{0}粒子在时间t0从具有速度V0的已知位置P0开始.使用其在t-1处的已知先前P-1位置来计算速度.
{1}粒子的目标是在t1以P1的已知速度进入P1.
{..}粒子尽可能快地移动,没有抖动(C1连续)由一组约束限制,这些约束独立地沿x,y和z钳制加速度.沿x,y和z的最大加速度/减速度是已知的,并且是Xa,Ya和Za.沿x,y和z的最大加速度变化率由Xr,Yr和Zr定义.
{n}在未知的时间步长之后,它在某个时间(比如tn)以速度Vn到达Pn.
{n + 1}它在tn + 1处移动到Pn + 1.
我的问题是计算从P0到Pn的转换的最小时间并产生其中间位置和速度方向.第二个目标是平滑加速,而不是应用加速度导致混乱.
找到从开始P0到结束Pn最长对齐的维度{x,y或z}.这将是关键维度,并将决定总时间.这是相当简单的,我可以写一些这样的效果.
在所有维度中平滑地插入而没有从P0到Pn的抖动,使得Pn处的速度如预期的那样.我不确定,如何处理这个问题.
任何已经执行此操作的输入/物理引擎都将非常有用.这是一个商业项目,我不能依赖具有限制性许可的大型第三方库.
注意:P0和Pn处的粒子几乎没有加速度.
我必须编写AI来控制游戏中太空船的许多推进喷气机.
为简单起见: -
让空间为1D.
宇宙飞船是一个点,只有一架喷气机.
让x,v并且a是太空船的位置,速度,加速度.
让我们F成为适用于船舶的喷气式飞机的力量.
我知道m宇宙飞船的质量,让我们说m= 1.
以下是摘要: -
acceleration = F/m;
v = vOld + acceleration*timestep;
x = xOld + v*timestep;
Run Code Online (Sandbox Code Playgroud)
目标是使船舶以0速度降落在某个位置: - x= 0且v= 0.
AI可以"加速"或"减速"喷气机: -
F+=flexibility;
or
F-=flexibility;
Run Code Online (Sandbox Code Playgroud)
AI可以访问电流x,v和F.AI也可以缓存它.
我该如何编程AI?
想法1:最后,x应该= 0.
假设这a是不变的: -
(current x) + (current v) * t + 1/2 * a * t …Run Code Online (Sandbox Code Playgroud)