【问题标题】:How to compute something like the angle between two non-unit vectors如何计算两个非单位向量之间的角度
【发布时间】:2014-06-30 16:17:17
【问题描述】:

我需要按循环顺序对一组向量进行排序。最简单的方法是使用向量和固定轴之间的角度。要获得角度,必须对向量进行归一化,其中包括执行昂贵的平方根计算。

因为我想避免成本并且我不需要特定的角度 - 只是一些给我相同顺序的值 - 我想知道是否有一种方法可以计算不需要的每个向量的值向量被归一化并产生类似角度的值(即if angle(x) > angle(y) then f(x) > f(y))。

【问题讨论】:

  • 我找到了解决方案here。也许我问的方式值得保留这个问题?

标签: vector trigonometry


【解决方案1】:

y 分量与 x 分量的比率应该足以对向量进行排序,而无需对其进行归一化。如果 y:x 比率较大,则角度会更陡。这至少适用于第一象限(0 到 90 度),但总体思路应该足以让您入门。

【讨论】:

  • 谢谢,但我将如何继续使用 > 90 度的角度?我不知道向量的最大长度,所以如果向量更长,第一象限的值可能大于第二象限的值。
  • 对于不在第一象限(0-90 度)的角度,一个或两个分量将为负数。因此,根据哪些组件是负数,您可以找出象限所在的向量,然后应用查看 y:x 比率的相同想法来确定顺序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-20
  • 2011-07-17
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
相关资源
最近更新 更多