有效识别给定角度角度的轴四分之一

Efficiently recognize in which axis quarter is a given angle Angle

本文关键字:四分之一 识别 有效      更新时间:2023-10-16

我想识别给定角度的轴四分之一以最有效的方式

第一季度:阿尔法> 0 && 阿尔法 <= 90(度(

第 2 季度:阿尔法> 90 &&阿尔法 <= 180(度(

第 3 季度:阿尔法> 180 && 阿尔法 <= 270 (度(

第 4 季度:阿尔法> 270 && 阿尔法 <= 360(度(

C++代码

FORCEINLINE uint8 MapAngleToQuarter(float angle)
{
    angle = (int)angle % 360;
    float answer = 0;
    if(angle > 0 && angle <= 90)
    {
        answer = 1;
    }
    else if(angle > 90 && angle <= 180)
    {
        answer = 2;
    }
    else if(angle > 180 && angle <= 270)
    {
        answer = 3;
    }
    else if(angle > 270 && angle <= 360)
    {
        answer = 4;
    }
    return answer;
}

我的问题:有没有更好(更有效(的方法来完成上述任务?

角度在

(0...360] 范围内

FORCEINLINE uint8 MapAngleToQuarter(float angle) {
  int a = (int) angle;
  return (a - 1)/90 + 1;
}