我正在尝试实现一个旋转轮,该轮输出顺时针旋转时输出正整数-sizeof(int)-逆时针旋转时输出负整数-sizeof(int)。我正在使用SMRotaryWheel实现找到here并输出在方法中生成的弧度值:
continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
它使用atan2f()函数来计算倾斜角度,并执行一些算法来确定2Pi弧度范围内的旋转角度。

我遇到的问题是,由于它仅测量倾斜角度,因此输出范围仅在+/- pi范围内。

是否有一个(trig?)函数-或多个函数-可以计算大于360度的角度的旋转角度而不是倾斜角度?

最佳答案

编辑:我误解了原始说明。

假设对于弧度,从(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π,

伪代码(假设输入θ的范围为{θ|-π

function inclination2rotation(θ)
{
    if (θ <= 0)
    {
        return -θ;
    }
    if (θ > 0)
    {
        return -θ+2π;
    }
}

关于ios - 计算大于360度的旋转角度而不是倾斜角度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19468371/

10-13 07:29