2012-06-14 76 views
0

我正试图计算点击的角度,我在关系到屏幕中间。但也许我很困惑如何atanf suppsoed工作。找出角度与直角三角形在objective-c

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的谭,我只是得到了一些巨大的数字,如0.1253649

想法?

+1

数字“1”是什么“巨人”? [文档说](http://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man3/atanf.3.html#//apple_ref/doc/man/3/atanf)返回的值在'[-pi/2,+ pi/2]'范围内。 –

+2

您知道trig函数全部使用弧度,而不是度数? – jrturton

回答

2

矢量转换成角度正确的方法是通过atan2功能:

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

PS:您使用的cocos2d引擎?它有ccpToAngle(...)的功能。