gpt4 book ai didi

algorithm - 在坐标系中寻找相反的方向

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

给定的是笛卡尔坐标系和该系统内的一个点(x,y)。例如点 p 的坐标为 (-12,2):

                  |
|
p |
|
------------------+------------------>
|
|
|
|

现在我需要一个函数/算法来计算基于给定点的坐标系中心 (0,0) 的相反“方向”(北、东、南、西)。在我们的示例中,最好选择相反的方向是 EAST,沿着 X 轴向右。

但是,在我的应用程序中的某些情况下,并非所有方向都可以选择,在这种情况下,必须选择次佳方向。在我们的示例中,如果向东不可行,那么下一个最佳方向将是向南(然后向北,然后向西)。

我可以用一些 if 语句来解决这个问题,但这似乎不是很优雅。
还有其他(更好的)想法吗?

最佳答案

使用向量 (x, y) 与沿四个方向的单位向量的点积

(1, 0), (-1, 0), (0, 1), (0, -1).

最小的数字对应你想要的方向。然后是第二小的,依此类推。

这适用于任何方向,而不仅仅是 E、W、S 和 N - 您只需要沿所需方向选择单位向量并比较点积

关于algorithm - 在坐标系中寻找相反的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7351669/

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