![]() |
1
2
为了简单起见,假设您的车辆的转弯半径r与速度无关。因此,要计算给定初始坐标和时间的新位置:
最后的步骤需要详细说明。 考虑到步骤2中计算出的角度a,如果开始于(0,0),正北航向(即pi/2弧度),并左转,则新位置为:(r CoS(A)- 1,R 罪(a)。 如果您的原始标题不同,假设它是“B”,那么只需相应地旋转新位置,即乘以该旋转矩阵:
最后,添加初始位置,就完成了。现在你只需要发送一个更新,如果你改变速度或转向。 |
![]() |
2
1
嗯,我认为“左转/右转/否”不足以确定位置B——你还需要知道转弯的弧。如果你沿着半径为1的圆形路径左转,你会在一个不同的地方结束,而不是沿着半径为10的圆形路径,即使你的初始位置、速度和转弯方向都是一样的。 如果让客户机发送每个新方向的更新,并将其视为线性段是一个选项,那么这将是一个更容易计算的方法。您可以简单地将来自客户机的每个新报告视为一个向量,并对它们进行合计。计算一组曲线将会更加复杂。 |