Normalise orientation between 0 and 360
angle, c#, rotation
Solution
Use modulo arithmetic:
this.orientation += degrees;
this.orientation = this.orientation % 360;
if (this.orientation < 0)
{
this.orientation += 360;
}
Problem
I'm working on a simple rotate routine which normalizes an objects rotation between 0 and 360 degrees. My C# code seems to be working but I'm not entirely happy with it. Can anyone improve on the code below making it a bit more robust? ``` public void Rotate(int degrees) { this.orientation += degrees; if (this.orientation < 0) { while (this.orientation < 0) { this.orientation += 360; } } else if (this.orientation >= 360) { while (this.orientation >= 360) { this.orientation -= 360; } } } ```