相关疑难解决方法(0)

粒子动力学

我正在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的转换的最小时间并产生其中间位置和速度方向.第二个目标是平滑加速,而不是应用加速度导致混乱.

目前的方法:

  1. 找到从开始P0到结束Pn最长对齐的维度{x,y或z}.这将是关键维度,并将决定总时间.这是相当简单的,我可以写一些这样的效果.

  2. 在所有维度中平滑地插入而没有从P0到Pn的抖动,使得Pn处的速度如预期的那样.我不确定,如何处理这个问题.

任何已经执行此操作的输入/物理引擎都将非常有用.这是一个商业项目,我不能依赖具有限制性许可的大型第三方库.

注意:P0和Pn处的粒子几乎没有加速度.

algorithm game-physics

6
推荐指数
2
解决办法
302
查看次数

宇宙飞船推进力的AI:控制在x = 0和v = 0时降落的力量

我必须编写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,vF.AI也可以缓存它.

我该如何编程AI?

我的解决方案不好

想法1:最后,x应该= 0.

假设这a是不变的: -

(current x) + (current v) * t + 1/2 * a * t …
Run Code Online (Sandbox Code Playgroud)

algorithm physics artificial-intelligence

3
推荐指数
1
解决办法
234
查看次数