我试图实现一个输出正整数的旋转轮 - sizeof(int) - 顺时针旋转时和负整数 - sizeof(int) - 逆时针旋转时。我正在使用找到here的SMRotaryWheel实现并输出方法中生成的弧度值:
continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
它使用atan2f()
函数计算倾斜角度,并做一些算术来确定旋转2Pi弧度范围内的位置。
我遇到的问题是,由于它只测量倾斜角度,因此输出范围仅在+/- pi范围内。
是否有(trig?)函数 - 或函数 - 计算角度大于360度时的旋转角度而不是倾斜角度?
答案 0 :(得分:0)
假设对于弧度,从(1,0)开始为0,则(0,1)为π/ 2,( - 1,0)为π(0,-1)为3π/ 2,并返回到(1,0)是2π(或0)。
您的设置是,从III到IV的交叉是π到0,从I到II的交叉是0到-π。所以我想将I变为II变为0变为π,然后将III变为IV变为π变为2π,
psuedocode(假设输入θ的范围是{θ|-π<θ<π})
function inclination2rotation(θ)
{
if (θ <= 0)
{
return -θ;
}
if (θ > 0)
{
return -θ+2π;
}
}