我有一个描述路径的点(x,y坐标)列表。假设{(1,1),(2,2),(5,2)}可以是路径点的列表。
现在,我想告诉我的用户沿着路径移动的方式。例如,在每个点上,将附加一个字符串,用于描述用户如何转到下一个点。它可以是这样的,"向左90度","向右走35度"等
有没有算法或建议的方法呢?
感谢您的支持。如果问题描述的任何部分不可理解,请告诉我。
答案 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)的角度。