gpt4 book ai didi

vector - 确定 2D 矢量的总体方向

转载 作者:行者123 更新时间:2023-12-02 08:56:33 26 4
gpt4 key购买 nike

我有一个相当简单的问题要问你..我觉得我早就该找到答案了,但不知何故,我无法集中精力解决这个微不足道的问题。

给定一个向量 v = (x,y) ,我想知道它的“一般”方向。即“上”、“下”、“左”或“右”

如果矢量的方向在 45 到 135 度之间,则矢量的总体方向为“向上”。 “左”角介于 135 度和 225 度之间。 “向下”是指 225 到 315 度之间。 “右”在 315 度到 45 度之间。

我不太关心角度恰好为 45、135、225 或 315 度的情况。

问题是,我不想使用三角学。我很确定有一个简单的解决方案。

我认为一个解决方案可以将整个圆分成八个。这是我到目前为止所拥有的。

if(x > 0 && y > x)
return Up
if(x > 0 && y > 0 && y < x )
return Right

... etc ...

基本上,我知道我可以找到解决方案。我对您解决这个问题的方法更感兴趣。

谢谢!

编辑:使用的向量未标准化。您可以使用一对点来表示任何向量。简单地假设向量的原点是 (0,0)。

最佳答案

确实有办法。你必须意识到的是,如果abs(y)>abs(x),那么方向是垂直的,否则方向是水平的。如果是垂直的,y 上的符号将指示上/下,否则,x 上的符号将指示左/右。所以:

if (abs(y) > abs(x)) {
if (y > 0) up else down
} else {
if (x > 0) right else left
}

45 度左右的角总是向左或向右。

关于vector - 确定 2D 矢量的总体方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016039/

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