展开角度为360

时间:2011-09-03 00:01:45

标签: c++ angle

如何展开角度以在[0,360]中产生角度?
我可以这样做:

int unwind(int angle)
{
    while(angle < 0) angle += 360;
    while(angle >= 360) angle -= 360;
}

但我很确定有一种方法可以在没有循环的情况下做到这一点。我也尝试了angle % 360,但这对负角度(-60 % 360 == -60)无效。

1 个答案:

答案 0 :(得分:11)

尝试:

(360 + (angle % 360)) % 360

或:

(angle >= 0 ? 0 : 360) + angle % 360
相关问题