text: 形状直径函数和相应的分割，计算几何网格处理
  作者Ilker O. Yaz 和 Sébastien Loriot图 69.1应用于大象的形状直径函数和相应的分割（使用 6 个簇）。网格分割是将网格分解为更小且有意义的子网格的过程。此过程用于建模、索具、纹理、形状检索、变形等应用程序......我们参考了对不同分割技术的网格分割[3]的综合调查。该包提供了依赖于形状直径函数 [4] (SDF)的算法的实现。给定一个 3D 实体对象的三角形表面网格（以下简称为网格），SDF 为网格的每个面提供局部对象直径的估计（SDF 值）。分割算法首先使用相关的 SDF 值在面上应用软聚类。然后通过图形切割算法获得最终分割，该算法考虑基于表面的特征（二面角和凹度）以及软聚类的结果。该软件包将 SDF 值的计算和网格分割结果作为独立函数提供。这允许将 SDF 的替代实现直接插入到分割算法中，并且还可以使用分割算法的不同参数多次重复使用 SDF 值。形状直径函数提供了表面网格和对向 3D 有界对象的体积之间的连接。更具体地说，SDF 是在网格的小平面上定义的标量值函数，用于测量相应的局部对象直径。SDF 用于通过向刻面添加局部厚度概念来区分薄部件和厚部件。此外，SDF 是姿态不变的：SDF 值在姿态变化后基本不受影响（见图69.2）。图 69.2姿态变化对 SDF 值和分割的影响。对于给定的输入网格，原始 SDF 值是通过逐个处理每个面来计算的。对于每个小平面，在使用小平面的质心作为顶点并以小平面的向内法线作为轴构造的圆锥体中对多条射线进行采样。每条射线都被截断为一段，其端点是圆锥体的顶点和第一个网格面的交点。使用这些截断光线的长度（直观地对应于局部体积采样），通过首先应用离群值去除程序然后取长度的平均值来计算原始 SDF 值。原始 SDF 值通过函数计算sdf_values()，设置postprocess为false。笔记该包还接受带孔的输入网格。在这种情况下，不能被截断成线段的光线，或与第一个相交面的向内法线形成钝角的光线将被忽略。只有没有光线的小平面没有原始 SDF 值在计算出每个面的原始 SDF 值后，分割算法中使用的 SDF 值是几个后处理步骤的结果：大窗口大小在消除噪声方面更有效，但可能会使分段边界上的 SDF 值过于平滑。大范围参数使平滑更接近高斯平滑，也可能导致过度平滑的 SDF 值。可以使用函数将这些后处理步骤应用于原始 SDF 值（或与面关联的一组替代的类似标量值）sdf_values_postprocessing()。给定一个数字kk聚类的软聚类是一个高斯混合模型，它包含拟合kk面的 SDF 值分布的高斯分布。它使用 k-means++[1]初始化，并使用随机种子运行多次。在这些运行中，最好的结果用于初始化期望最大化算法以拟合高斯分布。笔记聚类数（软聚类的参数）和最终的段数之间没有直接关系。直观上，聚类的数量表示通过聚类具有接近 SDF 值的小平面进行分割的级别数，而不考虑它们的连通性。然而，大量的簇很可能导致具有大量段的网格的详细分割，参见图 69.3。图 69.3聚类数量对分割的影响。簇的数量分别设置为 4、3 和 2。此过程的输出是一个矩阵，其中包含每个分面属于每个聚类的概率值。这些概率值用作硬聚类的输入。硬聚类产生输入网格的最终分割，并通过最小化结合上述概率矩阵和几何表面特征的能量函数得到结果。使用 alpha-expansion graph cut algorithm [2]最小化的能量函数定义如下：能量函数的第一项提供软聚类概率的贡献。能量函数的第二项是一个几何准则，当共享尖锐和凹边的两个相邻小平面位于同一簇中时，该准则更大。平滑度参数使这个几何标准或多或少普遍存在。为平滑度参数分配高值会导致段数较少（因为构建段边界会很昂贵）。换句话说，合并放置在不同集群下的方面比分离它们和创建边界更便宜。相反，通过更接近软聚类的结果（注意设置λ = 0λ = 0提供软聚类的结果）。图 69.4描述了平滑参数的影响。图 69.4平滑参数 lambda 对分割的影响（使用 10 个簇）。平滑度参数分别设置为 0.0、0.1、0.25、0.5 和 1.0。着色反映了在将每个连接的组件分配给它自己的段之前的分割结果。硬聚类为每个方面分配一个聚类 ID（见图69.5 (a)）。一个段由同一簇中的一组连接面组成（见图69.5 (b)）。默认情况下，该函数segmentation_from_sdf_values()会为每个方面分配其段的 ID。output_cluster_ids当设置为 时，它会为每个方面分配其集群的 id true。图 69.5集群和段。输入的聚类数设置为 5。(a)硬聚类的结果。(b)从计算的集群中提取片段。提供四个功能：这些函数期望输入一个三角形的表面网格，该网格包围一个 3D 实体对象，具有以下属性：笔记当前的实现在与其中一些属性不匹配的网格上执行良好，但可能会产生不可靠或无意义的分割。SDF 值计算的当前实现依赖于3D 快速相交和距离计算包。当提供的模型具有精确谓词时，此操作是可靠的AABBTraits。CGAL::Exact_predicates_inexact_constructions_kernel推荐作为该算法的几何特征。