gpt4 book ai didi

algorithm - 如何在限制转弯的同时沿主要方向在笛卡尔空间内移动?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:46:28 26 4
gpt4 key购买 nike

给定的是笛卡尔坐标系、起始位置 A (X/Y) 和终止位置 B (X/Y)。我想从 A 移动到 B。但是,我只能在 N、NE、E、SE、S、SW、W、NW 八个方向上移动。

我知道我可以通过与轴(八个方向)的单位向量的点积计算从当前位置 A 采取的这些方向中的“最佳”,其中最大的点积是采取的方向.但是这种方法会导致两个方向之间出现某种“振荡”,如果 A 恰好位于这两个方向之间的话。

所以我现在正在寻找一种算法来解决从 A 到 B 只有一个或最大值的问题。两个使用方向。当然我现在忽略了任何障碍,所以理论上我总是可以从 A 到 B,最多有两个不同的方向。我可能可以用一堆 if 语句来解决这个问题,但我更喜欢更优雅的解决方案...

我希望这是可以理解的:)

提前感谢您的任何想法!

亲切的问候,马蒂亚斯

最佳答案

最简单的解决方案是朝“对角线”方向前进,直到与目标位于同一行/列,然后使用水平/垂直方向。

换句话说:

  • 检查您是否水平/垂直对齐。如果是这样,朝那个方向移动并完成。
  • 否则,使用您拥有的方法找到最近的对角线方向。
  • 沿着对角线移动,直到水平或垂直对齐。然后朝那个方向移动并完成。

关于algorithm - 如何在限制转弯的同时沿主要方向在笛卡尔空间内移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7424145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com