Daniel
Daniel

Reputation: 31579

Unwind angle to 360

How can I unwind an angle to result in an angle in [0, 360)?
I can do this:

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

But I'm pretty sure there is a way to do this without loops. I also tried angle % 360 but that doesn't work for negative angles (-60 % 360 == -60).

Upvotes: 5

Views: 1861

Answers (1)

Lie Ryan
Lie Ryan

Reputation: 64913

Try:

(360 + (angle % 360)) % 360

or:

(angle >= 0 ? 0 : 360) + angle % 360

Upvotes: 11

Related Questions