我有一个相当简单的问题要问你。我觉得我早就应该找到答案,但不知何故我无法解决这个微不足道的问题。
给定一个向量 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)。