2011-04-13 49 views
0

我有两个3d对象。他们都是长方形prisims。我需要检查两个物体是否相交到任何程度。我知道一个缓慢而烦人的方式(检查左侧,右侧等)。我只需要能够告诉对象何时在另一个内部。比较2个3D对象的位置和大小。 (lua)

如果可以的话,谢谢!任何psuedo代码表示赞赏!

+0

两个物体的边是否与X,Y,Z轴对齐,或者它们可以是任何三角形? – kikito 2011-04-13 14:52:21

+1

为什么是Lua标签? – 2011-04-13 15:05:52

+0

它必须在所有三个角度@Alexander相交,我在lua做这个,我只是想我会提到它。编辑从标题中删除它。 – FreeSnow 2011-04-13 16:42:51

回答

3

我不确定我是否理解你认为是'缓慢而烦人的方式',但它听起来像是一种合理的方法来测试每个面对另一个对象的边界。如果这两个棱镜在空间中任意定向,那么这真的不是一件错误的事情。但是,您可以在此之前做一个快速和肮脏的检查,看看它是否值得通过在棱镜周围描述一个球形边界框(球)并首先进行简单的距离检查 - 如果两个边界框未触及(很容易通过计算分离距离和将两个边界的两个半径相加来确定),则不必检查取向依赖交点。