-1

我有一个描述路径的点列表(x,y 坐标)。假设 {(1,1),(2,2),(5,2)} 可以是路径点的列表。

现在,我想指导我的用户沿路径移动的方式。例如,在每个点,都会附加一个字符串,描述用户如何去下一个点。可以是“左转 90 度”、“右转 35 度”等。

有没有任何算法或建议的方法来做到这一点?

如果问题描述的任何部分无法理解,请告诉我。

4

1 回答 1

0

如果您的用户在点 1 (x1,y1) 并且您希望他去点 2 (x2, y2),那么您计算所谓的位置向量。简短的回答是您计算位置矢量的大小和角度。幅度告诉用户移动多远,角度告诉他方向。所以,

magnitude = sqrt( (x2-x1)^2 + (y2-y1)^2 )
angle = arc tan( (y2-y1)/(x2-x1))

然后您可能希望将角度从弧度转换为角度=角度*(180 / pi)的度数。

于 2014-06-09T04:27:25.477 回答