给定两个矩形棱镜的角点,找到重叠矩形棱柱的角点

时间:2015-12-07 21:27:38

标签: algorithm math 3d geometry overlap

如果我给出了3d空间中两个矩形棱镜的角点,其中一个以(0,0,0)为中心,一般来说,这将是一种优雅而有效的方法来寻找重叠矩形棱镜的角点,如果两个矩形棱镜不重叠,则不返回任何内容?

1 个答案:

答案 0 :(得分:1)

我假设“重叠矩形棱镜”是指两个棱镜的交点。另外,我认为它们是轴对齐的。

让棱镜A的下界由[xmina, ymina, zmina]表示,棱镜B的下界由[xminb, yminb, zminb]表示。同样,将上限表示为[xmaxa, ymaxa, zmaxa][xmaxb, ymaxb, zmaxb]

当且仅当max(xmina, xminb) < min(xmaxa, xmaxb) ^ max(ymina, yminb) < min(ymaxa, ymaxb) ^ max(zmina, zminb) < min(zmaxa, zmaxb) ^表示'和'时,交叉点才为空。

然后交叉点的下边界和上边界由max(xmina, xminb)min(xmaxa, xmaxb)给出,类似于y和z。