哪些是3d凸对象切片算法(哪有复杂性)?

时间:2013-08-06 10:41:25

标签: algorithm

我想知道什么是最快(在O(N))算法中,具有凸三维物体并且其左顶部边界框角位于某个XYZ中可以提供其横截面,其中一些平面由3个点定义三维空间?

1 个答案:

答案 0 :(得分:4)

这是一种可能的算法(假设物体是凸多边形实体):

  1. 计算平面与对象每个边缘之间的交点。如果边缘与平面共面,则假设它在边缘的每个端点处相交。
  2. 按顺时针顺序对交点进行排序。
  3. 就是这样。平面和凸多边形实体之间的交点必须本身是凸多边形,这个简单的算法可以精确地给出多边形的点。

    由于计算平面和边的交点需要恒定的时间,因此时间为O(E + K log K),其中E是实体中的边数,K是数字交点(最终多边形中的点)。在最坏的情况下,K可能会E,因此在最糟糕的情况下总运行时间为O(E log E)