在处理过程中用射线进行碰撞检测的最佳方法是什么?

时间:2019-05-10 05:01:38

标签: processing

说我有一组n个线段或圆以及一条具有原点和方向的射线,并且我想知道射线首先会击中这n个对象中的哪一个,或者是否会完全击中它们中的任何一个。天真的,我只能做n次不同的检查。我首先关心的是运行时。我可以做得比O(n)好吗?我的另一个担心是数值错误。如果我试图找到射线与圆的交点,那么将会有一些平方根和除法。如何最好地找到相交点而没有太多错误?如果有帮助,我的最终目标是使这些物体(如镜子)的光线弹起。

1 个答案:

答案 0 :(得分:0)

首先尝试天真的解决方案。我的猜测是,这对于您的目的会很好。

从那里,您可能会研究更高级的数据结构,例如quadtrees,该数据结构仅允许检查形状的子集以查找潜在的碰撞。

但是您可能仍然不需要它们。首先做简单的事情。