iphone - 在计算角度时避免使用 atan2 - atan2 精度

标签 iphone objective-c c math geometry

我们开发人员经常需要计算角度来执行旋转。通常我们可以使用 atan2() 函数,但有时我们需要更高的精度。那你怎么办?

我知道理论上 atan2 是精确的,但在我的系统 (iOS) 中它不准确,约为 0.05 弧度,因此差异很大。那不只是我的问题。我看到过类似的意见。

最佳答案

atan2 用于从 vector (x,y) 获取角度a。如果您随后使用此角度应用旋转,您将使用 cos(a)sin(a)。您可以通过归一化 (x,y) 来简单地计算 cos 和 sin,并保留它们而不是角度。精度会更高,并且您会节省很多在三角函数中丢失的循环。

编辑。如果你真的想要一个来自 (x,y) 的角度,它可以使用 CORDIC 的变体来计算。达到您需要的精度。

关于iphone - 在计算角度时避免使用 atan2 - atan2 精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769575/

相关文章:

ios - 缩放 UIView 及其所有子项

iphone - UIBarButtonItem 偏移量?

iphone - URLForUbiquityContainerIdentifier 是否为 : return nil when network access is not available?

ios - 在谷歌地图上绘制虚线圆圈 : iOS

c++ - 如何创建节点结构类型的 Min STL priority_queue

c - C 中的二叉树

ios - Swift - 使 UIViewController 可见,同时从 TOP 添加动画的新 ViewController(通过 self.present)

iphone - 检查 NSNumber 是否为空

iphone - 在 ios wifi 网络上查找对等点

c - POSIX 文件锁是否可重入?