相关疑难解决方法(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
查看次数

WPF:沿路径查找元素

我还没有标记这个问题.
由于Bounty Time-Limit,当前接受的答案被自动接受


参考我目前正在构建的这个编程游戏.

从上面的链接可以看出,我目前正在构建一个游戏,用户可编程机器人在竞技场中自主战斗.


现在,我需要一种方法来检测机器人是否在特定角度检测到另一个机器人(取决于炮塔可能面对的位置):

替代文字http://img21.imageshack.us/img21/7839/robotdetectionrg5.jpg

从上图中可以看出,我已经绘制了一种坦克的视角,我现在需要在游戏中模拟,以检查其中的每个点以查看是否有其他机器人在视野中.

机器人只是在战斗竞技场(另一个画布)上不断翻译的画布.

我知道炮塔的标题(它将面向当前的方式),并且我需要找到它的路径中是否有任何机器人(并且路径应该以'视点'的方式定义,如图所示)上面的图像以红色"三角形"的形式出现.我希望图像能让我的信息更加清晰.

我希望有人可以指导我实现这个问题所涉及的数学.


[UPDATE]

我已经尝试过你告诉我的计算,但它没有正常工作,因为从图像中可以看出,bot1应该无法看到Bot2.这是一个例子:

替代文字http://img12.imageshack.us/img12/7416/examplebattle2.png

在上面的场景中,Bot 1正在检查他是否可以看到Bot 2.以下是详细信息(根据Waylon Flinn的回答):

angleOfSight = 0.69813170079773179 //in radians (40 degrees)
orientation = 3.3 //Bot1's current heading (191 degrees)

x1 = 518 //Bot1's Center X
y1 = 277 //Bot1's Center Y

x2 = 276 //Bot2's Center X
y2 = 308 //Bot2's Center Y

cx = x2 - x1 = 276 - 518 = -242
cy = y2 - y1 = 308 - …
Run Code Online (Sandbox Code Playgroud)

math wpf 2d

6
推荐指数
1
解决办法
1164
查看次数

标签 统计

math ×2

2d ×1

c++ ×1

trigonometry ×1

wpf ×1