相关疑难解决方法(0)

确定角度是否位于其他2个角度之间

我试图弄清楚角度是否位于其他两个角度之间.我一直在尝试创建一个简单的函数来执行此操作,但我的技术都不适用于所有可能的角度值.

你能帮我编辑一下我的功能,以正确判断角度是否位于其他2个角度之间?

在此输入图像描述

在上图中; 我使用绿点作为中心点,然后确定每条线与绿点的角度.然后我计算黑点到绿点的角度.我想检查黑点的角度之间的2线的角度.

注意:在我的情况下; 据说角度(targetAngle)位于2个其他角度之间,如果2个角度之间的差<180度并且目标角度位于由这2个角度构成的空腔中.

下面的代码应该可以工作,但是对于这些代码失败(它们位于角度之间):
- is_angle_between(
150,190,110 )- is_angle_between(3,41,345)

bool is_angle_between(int target, int angle1, int angle2) 
{  
  int rAngle1 = ((iTarget - iAngle1) % 360 + 360) % 360;  
  int rAngle2 = ((iAngle2 - iAngle1) % 360 + 360) % 360;  
  return (0 <= rAngle1 && rAngle1 <= rAngle2);  
}  

// Example usage  
is_angle_between(3, 41, 345);  
Run Code Online (Sandbox Code Playgroud)

我尝试的另一种技术也不起作用:

int is_angle_between(int target, int angle1, int angle2)
{
  int dif1  = angle1-angle2;
  int dif2  = angle2-angle1;
  int uDif1 …
Run Code Online (Sandbox Code Playgroud)

c++ math trigonometry

18
推荐指数
4
解决办法
6848
查看次数

标签 统计

c++ ×1

math ×1

trigonometry ×1