3d 求两个立方体的交集体积

3d 求两个立方体的交集体积,3d,language-agnostic,shapes,volume,cube,3d,Language Agnostic,Shapes,Volume,Cube,如果我知道两个立方体相交,我有它们的8个顶点,它们都平行于x-y,y-z,z-x平面(或与x,y,z轴对齐)。我有每个立方体的最大/最小x,y,z坐标,如何求它们之间的交集 我试过类似的东西 如果cube1_max.x>cube2_max.x: x_侧=abs(立方1_最大值x-立方2_最大值x) 类似于求y_边,z_边,这是立方体/长方体交集的另外两条边的长度 所以我知道这和找出x,y,每个立方体的z坐标可以得到交点的3个边,这样我就可以乘以,然后得到体积,但我不确定如何进行。有什么相交的标

如果我知道两个立方体相交,我有它们的8个顶点,它们都平行于x-y,y-z,z-x平面(或与x,y,z轴对齐)。我有每个立方体的最大/最小x,y,z坐标,如何求它们之间的交集

我试过类似的东西

如果cube1_max.x>cube2_max.x:
x_侧=abs(立方1_最大值x-立方2_最大值x)
类似于求y_边,z_边,这是立方体/长方体交集的另外两条边的长度


所以我知道这和找出x,y,每个立方体的z坐标可以得到交点的3个边,这样我就可以乘以,然后得到体积,但我不确定如何进行。有什么相交的标准吗,即它们可以以任何角度相交,或者只是垂直和水平相交?我想你们需要得到由多边形创建的多边形的坐标立方体的交集。您应该开始绘制此相交的可能场景的草图。只是垂直和水平,立方体基本上是直的,它们不倾斜,所有边都平行于x-y、y-z、z-x平面。因此相交多边形只能是立方体或长方体。对于相交体积,您需要在每个轴上重叠: