Easy way to keeping angles between -179 and 180 degrees

后端 未结 16 2684
长发绾君心
长发绾君心 2020-12-04 16:41

Is there an easy way to convert an angle (in degrees) to be between -179 and 180? I\'m sure I could use mod (%) and some if statements, but it gets ugly:


/         


        
16条回答
  •  日久生厌
    2020-12-04 17:10

    int angle = -394;
    
    // shortest
    angle %= 360;
    angle = angle < -170 ? angle + 360 : (angle > 180 ? angle - 380 : angle);
    
    // cleanest
    angle %= 360;
    if (angle < -179) angle += 360;
    else if (angle > 180) angle -= 360;
    

提交回复
热议问题