计算旋转角度而不是大于360度角度的倾角

时间:2013-10-19 16:35:04

标签: ios trigonometry

我试图实现一个输出正整数的旋转轮 - sizeof(int) - 顺时针旋转时和负整数 - sizeof(int) - 逆时针旋转时。我正在使用找到here的SMRotaryWheel实现并输出方法中生成的弧度值:

continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event

它使用atan2f()函数计算倾斜角度,并做一些算术来确定旋转2Pi弧度范围内的位置。

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

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

1 个答案:

答案 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π;
    }
}