【发布时间】:2011-02-26 17:25:40
【问题描述】:
这基本上只是一道数学题。
这就是我遇到的麻烦...我很难想出如何表达这个问题,所以请耐心等待。基本上我认为我需要使用一些高级数学来完成这个,但我不知道我需要什么。
我将使用一些插图来说明这一点。 防止垃圾邮件让我无法发布图片...不过,这是一个简单的概念图:http://radleygh.com/images/gimp-2_2011-057-00-57-26-40.bmp
目标:确定多个对象是否位于 2D 平面上的圆锥内
锥体属性: 位置 (x, y) 角度 (0-359) 传播(0-359,又名宽度) 距离(0++)
我可以用一些简单的数学来判断褐色线条:
Angle_A = 角度 + (Spread / 2) Angle_B = 角度 - (Spread / 2) Angle_Target = Point_Direction(origin, object_position)
现在我想用一个简单的 if/then 语句将这些与每个对象的位置进行比较:
如果 (Angle_A > Angle_Target) && (Angle_B Angle_Target 在 A 和 B 之间
这有效...直到 Angle_A 或 Angle_B 通过 0-360 阈值。 0* 介于 45* 和 315* 之间……但上面的 if 语句不起作用。然后我们可以根据圆锥的大小来确定检查哪个方向...
如果圆锥效果大于 180* 圆锥怎么办?
我不确定答案。我很确定我应该使用弧度......但我不明白弧度的概念。如果有人能指出我正确的方向,或许可以在某个地方给我举个例子,那就太好了!
与此同时,我将继续进行自己的研究。
【问题讨论】: