Algorithm 查找由平面包围的体积面

Algorithm 查找由平面包围的体积面,algorithm,geometry,volume,Algorithm,Geometry,Volume,最后,我想实现一个具有以下规范的算法: 输入:N个三维平面(每个平面的Ax+By+Cz=D) 输出: 顶点列表,以及 边列表E(V中的对),以及 面列表F(从E开始循环),精确绑定由N个平面包围的体积(即,在法线的另一侧) 不能保证每个平面都与面重合,但可以保证体积始终明确存在(即平面具有良好的法线) 我知道这是在计算几何领域,但我试过用谷歌搜索上面的一些术语,但我没有发现任何东西。我认为解决方案应该包括一个二进制空间分区树 到目前为止,我已经尝试过这种简单的方法——只需制作一个巨大的N^2(i

最后,我想实现一个具有以下规范的算法:

输入:N个三维平面(每个平面的Ax+By+Cz=D)

输出:

  • 顶点列表,以及
  • 边列表E(V中的对),以及
  • 面列表F(从E开始循环),精确绑定由N个平面包围的体积(即,在法线的另一侧)
  • 不能保证每个平面都与面重合,但可以保证体积始终明确存在(即平面具有良好的法线)

    我知道这是在计算几何领域,但我试过用谷歌搜索上面的一些术语,但我没有发现任何东西。我认为解决方案应该包括一个二进制空间分区树

    到目前为止,我已经尝试过这种简单的方法——只需制作一个巨大的N^2(ish)列表,列出平面之间的所有切片,然后对照每个平面检查每个切片,并删除至少一个平面错误一侧的切片。这是N^3,当然效率很低,而且它甚至还没有给出边-您仍然需要计算边的起点和端点在切片上的位置


    任何指向CG中算法的帮助都将是非常棒的!谢谢

    有一个O(n logn)-时间算法,因为。它使用极性对偶和有效的3D凸包算法。我肯定有它的实现(可能是qhull?)。

    请注意,一组给定的平面可能包含几个不同的卷。寻找包含原点的体积内部的顶点、边和面是三维凸包问题的对偶;将平面Ax+By+Cz=1映射到点(A,B,C)。感谢对凸包问题有用的钩子,我来看看它!谢谢你,这不是我想要的,就是我想要的!在4.6版本中引入了一个实现。看到和