Algorithm 如何计算具有初始速度的物体的轨迹,使其停在给定的点上

Algorithm 如何计算具有初始速度的物体的轨迹,使其停在给定的点上,algorithm,Algorithm,这一主题来自于一个古老的挑战 游戏区域是一个10000x8000单位的矩形 我有一个具有位置(objectX,objectY)和速度向量(speedX,speedY)的对象。 我有一个具有位置(objectX,objectY)和速度向量(speedX,speedY)的对象 要移动此对象,我必须显示推力目标的坐标(推力X,推力Y),后跟推力值(范围从-100到100) 摩擦力:每一步(滴答声),在施加推力之前,先前的速度矢量乘以0.9 我想在坐标为targetX,targetY(具有给定的错误率)

这一主题来自于一个古老的挑战

游戏区域是一个10000x8000单位的矩形

我有一个具有位置(objectXobjectY)和速度向量(speedXspeedY)的对象。 我有一个具有位置(objectXobjectY)和速度向量(speedXspeedY)的对象

要移动此对象,我必须显示推力目标的坐标(推力X推力Y),后跟推力值(范围从-100100

摩擦力:每一步(滴答声),在施加推力之前,先前的速度矢量乘以0.9

我想在坐标为targetXtargetY(具有给定的错误率)的点移动并停止此objet

如何计算targetXtargetY推力值的列表

以下示例使用这些数据:

  • 初始objectX和objectY=10002500
  • 初始速度x和速度=-5001000
  • targetX,targetY=8000,3000
  • 推力x,推力x=targetX,targetY

此表使用以下公式:

  • objectX(步骤)=objectX(步骤1)+speedX(步骤)
  • objectY(步骤)=objectY(步骤1)+speedY(步骤)
  • 速度x(步长)=速度x(步长-1)*0.9+推力x(步长-1)
  • 快速(步)=快速(步-1)*0.9+推力(步-1)
  • 角度(步长)=度(atan2(目标x(步长)-objectX(步长);目标y(步长)-objectY(步长)))
  • 推力x(步进)=cos(弧度(角度(步进))*推力(步进)
  • 推力(阶跃)=正弦(弧度(角度(阶跃))*推力(阶跃)

我想找到一种算法,使我直接到达目标,而不是转身

推力值和推力目的地对物体有何影响?X上的推力加在speedX上,Y上的推力加在SpeedY上。推力始终作用于同一方向的TrustX加速度?提供更多细节。我将编辑帖子:推力可以是负数(从-100到100)物体有质量吗?你知道吗?它是常数吗?