Determine if angle lies between 2 other angles

后端 未结 12 1557
予麋鹿
予麋鹿 2020-12-15 05:47

I am trying to figure out whether a angle lies between 2 other angles. I have been trying to create a simple function to perform this but none of my techniques will work for

12条回答
  •  感情败类
    2020-12-15 06:22

    If you guys have time, check this one out:

    bool AngleIsBetween(int firstAngle, int secondAngle, int targetAngle)
    {        
        while (firstAngle >= 360)
        firstAngle -= 360;
    
        while (secondAngle >= 360)
        secondAngle -= 360;
    
        while (targetAngle >= 360)
        targetAngle -=360;
    
        while (firstAngle < 0)
        firstAngle += 360;
    
        while (secondAngle < 0)
        secondAngle += 360;
    
        while (targetAngle < 0)
        targetAngle +=360;              
    
        int temp = secondAngle;
    
        if (firstAngle > secondAngle)
        {
        secondAngle = firstAngle;
        firstAngle = temp;       
        }
    
        if ((secondAngle - firstAngle) > 180)
        {
        temp = secondAngle - 360;
        secondAngle = firstAngle;
        firstAngle = temp;
        }
    
        return ((targetAngle >= firstAngle) && (targetAngle <= secondAngle)); 
    }
    

    Change the parameters to float if you need to.

提交回复
热议问题