iphone - 在 objective-c 中计算直角三角形的角度

标签 iphone objective-c ios

我正在尝试计算与屏幕中间相关的点击角度。但也许我对 atanf 的工作方式感到困惑。

CGPoint pt = [self convertTouchToNodeSpace:[touches anyObject]];
    float adj = pt.x - 512;
    float opposite = pt.y - 384;
    float combined = opposite / adj;
    float tan = atanf(combined);

但是当我尝试使用 NSLog Tan 时,我得到了一些像 0.1253649

这样的大数字

想法?

最佳答案

将向量转换为角度的正确方法是通过atan2 函数:

float angle = atan2f (pt.y - 384, pt.x - 512) * 180 / PI;

PS:你用的是cocos2d引擎吗?它有 ccpToAngle(...) 函数。

关于iphone - 在 objective-c 中计算直角三角形的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036877/

相关文章:

iphone - 如何知道应用程序使用的存储大小?

iphone - 使用 iPhone 加速度计来计算抛在空中时的旋转次数

objective-c - 如何手动创建 UISplitView?

ios - 添加对象到 NSMutableArray

ios - 如何使用 Interface Builder 设置 UIScreenEdgePanGestureRecognizer?

iOS:如何确定相机 View 空闲时间?

iphone - 如何实现具有可互换中心面板的 JASidePanel?

iphone - 为什么使用属性?

ios - 从 "bouncing"垂直停止 UIWebView?

ios - 如何更改 UIAlertController 的背景颜色?