0

我正在尝试计算与屏幕中间相关的点击角度。但也许我对应该如何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

想法?

4

1 回答 1

2

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

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

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

于 2012-06-14T16:05:15.013 回答