我有一个椭球体的构造实体几何体,它切割一个立方体。我需要计算多孔立方体的体积。我该怎么做?
总有一个愚蠢的近似解。为此,您只需要一个决策函数来判断一个点是否在椭球体内。
保留一个立方体
- 维度(可能只在类外一次,外部维度)
- 填充:带状态:空、填充、混合
- 如果混合8个子立方体
- 有一个最小的块大小
然后用椭球体填充会分裂立方体,混合立方体(有点填充)需要分裂才能进行更精确的计算。
算法本身可能会有所不同。重新缩放到(0,0,0)-(2",2",2")可能是有用的,因为块对空间进行了²log划分。
在这个计算的最后,有一个近似值,甚至知道误差范围(填充的和+混合的和的一半)。
一种方法是从整个立方体中递归,检查与8个子立方体的重叠:
- 当立方体的所有8个角都在椭球体内时,它将被填充,并且不需要进一步递归到最小块大小
- 当所有8个角都在之外并且椭球体的中心不在内部时,它是空的,递归结束