![]() |
1
2
为了简单起见,假设您的车辆的转弯半径r与速度无关。因此,要计算给定初始坐标和时间的新位置:
最后的步骤需要详细说明。 考虑到步骤2中计算出的角度a,如果开始于(0,0),正北航向(即pi/2弧度),并左转,则新位置为:(r CoS(A)- 1,R 罪(a)。 如果您的原始标题不同,假设它是“B”,那么只需相应地旋转新位置,即乘以该旋转矩阵:
最后,添加初始位置,就完成了。现在你只需要发送一个更新,如果你改变速度或转向。 |
![]() |
2
1
嗯,我认为“左转/右转/否”不足以确定位置B——你还需要知道转弯的弧。如果你沿着半径为1的圆形路径左转,你会在一个不同的地方结束,而不是沿着半径为10的圆形路径,即使你的初始位置、速度和转弯方向都是一样的。 如果让客户机发送每个新方向的更新,并将其视为线性段是一个选项,那么这将是一个更容易计算的方法。您可以简单地将来自客户机的每个新报告视为一个向量,并对它们进行合计。计算一组曲线将会更加复杂。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |