在计算建模领域,网格是表示三维几何图形的最普遍形式之一。网格几何图形通常由一组四边形或三角形组成,它可以是使用 NURBS 的轻量级和灵活的替代方案,并且网格用于从渲染和可视化到数字制造和三维打印的所有领域。
Dynamo 使用“面-顶点”数据结构定义网格。在最基本的层次上,此结构只是分组为多边形的点集。网格的点称为“顶点”,而类似曲面的多边形称为“面”。
要创建网格,我们需要一列顶点和将这些顶点分组为面的系统(称为“索引组”)。
顶点列表
用于定义面的索引组列表
Dynamo 的网格功能可通过安装“Mesh Toolkit”软件包进行扩展。Dynamo Mesh Toolkit 包提供了多种工具,可从外部文件格式输入网格、从 Dynamo 几何图形对象创建网格,以及按顶点和索引手动构建网格。
该库还提供了一些工具,可用于修改网格、修复网格或提取水平切片以在制造中使用。
例如,有关使用此软件包的信息,请访问 Mesh Toolkit 案例研究。
网格是表示曲面或实体几何图形的四边形和三角形的集合。像实体一样,网格对象的结构包括顶点、边和面。还有一些使网络独一无二的特性,例如法线。
网格顶点
网格边 *仅具有一个邻接面的边称为“裸边”。 所有其他边均为“装饰边”
网格面
网格的顶点只是一列点。在构建网格或获取网格结构的相关信息时,顶点的索引非常重要。对于每个顶点,还有一个相应的顶点法线(向量),它描述了附加面的平均方向,并帮助我们了解网格的“入”和“出”方向。
顶点
顶点法线
面是由三个或四个顶点组成的有序列表。因此,根据要建立索引的顶点位置,网格面的“曲面”表示处于隐含状态。我们已经拥有构成网格的顶点列表,因此无需提供单独的点来定义面,只需使用顶点的索引即可。这样,我们还可以在多个面中使用同一顶点。
使用索引 0、1、2 和 3 创建的四边形面
使用索引 1、4 和 2 创建的三角形面 请注意,索引组可以按其顺序移动 - 只要该顺序按逆时针顺序排序,相应面将正确定义
网格几何图形与 NURBS 几何图形有何不同?何时可能要使用其中一个而不是另一个?
在前一章中,我们看到 NURBS 曲面由一系列沿两个方向的 NURBS 曲线进行定义。这些方向标有 U
和 V
,并允许根据二维曲面域对 NURBS 曲面进行参数化。曲线本身作为方程存储在计算机中,从而允许将生成的曲面计算为任意小的精度。但是,将多个 NURBS 曲面组合在一起可能会非常困难。连接两个 NURBS 曲面将生成多重曲面,其中几何图形的不同部分将具有不同的 UV 参数和曲线定义。
曲面
等参(等参线)曲线
曲面控制点
曲面控制多边形
等参点
曲面框架
网格
裸边
网格网络
网格边
顶点法线
网格面/网格面法线
另一方面,网格由许多离散的精确定义的顶点和面组成。顶点网络通常无法通过简单的 UV
坐标进行定义;由于面是离散的,因此精度量内置到网格中,并只能通过优化网格和添加更多面来进行更改。由于缺少数学描述,因此网格可以更灵活地处理单个网格内的复杂几何图形。
另一个重要区别是网格或 NURBS 几何图形中的局部更改影响整个形状的程度。移动网格的一个顶点只会影响与该顶点相邻的面。在 NURBS 曲面中,影响范围更加复杂,具体取决于曲面的阶数以及控制点的权重和结。但通常,在 NURBS 曲面中移动单个控制点会在几何图形中产生更平滑、更广泛的更改。
NURBS 曲面 - 移动控制点具有延伸到形状上的影响
网格几何图形 - 移动顶点仅对相邻图元有影响
一个可能有用的类比是将向量图像(由直线和曲线组成)与光栅图像(由各个像素组成)进行比较。如果放大向量图像,曲线将保持清晰明了,而放大光栅图像的结果是看到各个像素变大。在此类比中,可以将 NURBS 曲面与向量图像进行比较,因为存在平滑的数学关系,而网格的行为与具有设定分辨率的光栅图像类似。