Mat*_*ias 5 algorithm math coordinates coordinate-systems
给定是笛卡尔坐标系,从位置A(X/Y)和到位置B(X/Y).我想从A移动到B.但是,我只能移动N,NE,E,SE,S,SW,W,NW八个方向.
我知道我可以计算这些方向的"最佳",从当前位置A通过点积乘以轴的单位矢量(八个方向),其中最大的点积是要采取的方向.但是这种方法导致两个方向之间出现某种"振荡",如果A正好在这两个方向之间.
所以我现在正在寻找一种算法来解决从A到B只有一个或最大的问题.两个方向使用.当然我现在忽略了任何障碍,所以理论上我总是可以从A到B获得最多两个不同的方向.我可以用一堆if语句解决这个问题,但我更喜欢更优雅的解决方案......
我希望这有点可以理解:)
提前感谢任何想法!
亲切的问候,马蒂亚斯
最简单的解决方案是沿"对角线"方向前进,直到与目标位于同一行/列,然后使用水平/垂直方向.
换一种说法:
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |