人类可读路径方向算法

时间:2014-06-09 04:10:11

标签: algorithm path hci shortest

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

现在,我想告诉我的用户沿着路径移动的方式。例如,在每个点上,将附加一个字符串,用于描述用户如何转到下一个点。它可以是这样的,"向左90度","向右走35度"等

有没有算法或建议的方法呢?

感谢您的支持。如果问题描述的任何部分不可理解,请告诉我。

1 个答案:

答案 0 :(得分:0)

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

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

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