如何计算反棕褐色?

时间:2009-07-20 10:06:39

标签: iphone math

我正在使用UIAcceleration进行轮换。我有相对的一面,相邻的一面,但我想计算tan-1(y / x)反褐色。

3 个答案:

答案 0 :(得分:9)

出于两个原因,始终使用atan2(y,x)而不是atan(y / x)。 David Maymudes提到了一个问题(x = 0的问题)。另一个是atan2()处理从-π到+π的整个范围,而atan()只给出-π/ 2和+π/ 2之间的输出,并且不能区分(x,y)=( 2,2)和(x,y)=( - 2,-2),因为你在进行除法时丢失了符号信息,只将商y / x传递给atan()。

答案 1 :(得分:4)

标准C math.h函数可用:

#include <math.h>

...
float theta = atan2f(y, x);
...

答案 2 :(得分:3)

atan2(y, x)atan(y/x)的内容相同,但它可以正确处理x = 0(即垂直线向上或向下)没有处理正面vs的情况负无穷大。