【问题标题】:Given the corner points of two rectangular prisms, find the corner points of the overlapping rectangular prism给定两个直角棱柱的角点,求重叠直角棱柱的角点
【发布时间】:2016-03-12 15:28:48
【问题描述】:

如果给定 3d 空间中两个矩形棱柱的角点,其中一个以 (0,0,0) 为中心,一般来说,找到角点的优雅且有效的方法是什么重叠的直角棱镜,或者如果两个直角棱镜不重叠,什么都不返回?

【问题讨论】:

  • 两个棱镜轴对齐吗?

标签: algorithm math 3d geometry overlap


【解决方案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) 其中^ 表示“和”时,交集是非空的。

那么交点的下限和上限 x 由max(xmina, xminb)min(xmaxa, xmaxb) 给出,y 和 z 也是如此。

【讨论】:

    猜你喜欢
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多