gpt4 book ai didi

algorithm - 查找两个重叠长方体的共享体积

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:22 24 4
gpt4 key购买 nike

找到两个重叠立方体对象占用的共享空间的最有效方法是什么?

我不一定要寻找源代码,只是寻找应该如何解决它的一般思路。

为简化起见,该算法不必考虑旋转的立方体。

最佳答案

两个未旋转的立方体的重叠仍然是一个“盒子”。如果盒子 A 的两个角点是 (x,y,z) 和 (x',y',z') (x'>x,y'>y,z'>z) 并且盒子 B 的两个角点是(a,b,c) and (a',b',c') (a'>a,b'>b,c'>c) 那么重叠的体积是

max(min(a',x')-max(a,x),0)
* max(min(b',y')-max(b,y),0)
* max(min(c',z')-max(c,z),0)

如何读取公式:

重叠在 X 轴上两个坐标 x 和 a 的最大值处开始,并在 a' 和 x' 的最小值处结束。如果 a' < x(即 a < a' < x < x')则没有重叠,会发生 max(a,x) = x > min(a',x') = a',所以差异变为负数并且体积为零(因此外部 max(...,0))项。其他两个轴也是如此。

关于algorithm - 查找两个重叠长方体的共享体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com