【发布时间】:2016-06-07 00:49:17
【问题描述】:
我一直在寻找一种算法,它可以告诉我一个点是否在一个盒子里,但我仍然没有找到我要找的东西。
基本上我有一个 2D 矩形 [Upper_X, Lower_X, Upper_Y and Lower_Y] 在 3D 世界中平移和旋转(我有世界和方向矩阵),我想从这个矩形构建一个盒子(为了考虑某种检查时的 epsilon 边距)并检查点 P 是否在其中。
我怎样才能做到这一点?真的很抱歉,请耐心等待我在代数和几何方面不是很好,所以写一个c ++示例代码我会更容易理解。
【问题讨论】:
-
如果你擅长代数,那么不要只检查盒子的所有 6 个平面并检查 point in front of the plane (或平面背面......取决于你如何获得平面信息)。
-
顺便说一句,如果您有转换矩阵,请将框转换回原点(因此框与轴对齐).. 以相同的方式转换点,然后检查该点是否在内部带有simple if 的框。
-
如果box由OX,OY,OZ定义,你的点是P,可以勾选0
-
我投票结束这个问题,因为它是关于几何的。