lfg*_*gtm 2 c++ trigonometry angle vector-space atan
在计算两个向量之间的角度时,我传统上使用 acos,但这需要对两个向量进行归一化。atan2 可用于完成相同的(特别是atan2(b.y_, b.x_) - atan2(a.y_, a.x_)),这是否需要归一化向量?
如果 atan2 不需要归一化向量,这是否更好用,因为归一化可能成本高昂且“更多”容易出错,因为它需要 sqrt 操作?
然后我读到 atan2 本身可能比 acos 更昂贵,但更准确?然后我还阅读了其他建议相反的互联网:( 很多相互矛盾的信息,不确定使用 acos 或 atan 计算两个向量之间的角度有什么关系。
推荐哪个?以及每次使用的好处/问题是什么?
任何帮助将不胜感激,谢谢!
不, atan2不需要归一化向量,如果您的向量尚未归一化,则不应预先归一化它们,因为这可能会稍微降低精度。该函数适用于除 (0,0) 以外的任何输入。
你永远不应该使用acos任何东西。
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |