t_cross中文名( 二 )


通过Face Boundaries运算器可提取网格每个面的边缘线,其输出的结果是闭合的Polyline Curve,如果将这些Polyline Curve炸开的话,在面与面相交的位置会有重合的边缘线产生 。
网格应用实例一
创建孔洞表皮是GH中比较常见的操作,多数情况下的习惯是用Nurbs来操作的,可是Nurbs所带来的问题就是一旦所开孔洞数量较多的话,整个程序的运行就会变得非常慢 。为了提高运算效率,可以通过Mesh的做法来优化整个程序 。以下通过一个案例介绍Mesh方法创建孔洞表皮的方法:
(1)为了简化操作可以直接调用曲面,并用Mesh Surface运算器将其转换为网格,U向和V向网格划分的数量可分别设定为32、42 。
(2)通过Face Boundaries运算器提取每个网格面的轮廓线,并用Face Normals运算器找到每个网格面的中心点 。
(3)由List Length运算器测量网格面的数量,并由Subtraction运算器将总数量减去1 。
(4)用Range运算器将0 to 1区间进行等分,等分的段数为网格面的数量减去1 。
(5)调入Graph mapper运算器,并将其函数类型改为Sine函数 。将等分数值赋予Graph mapper运算器,对其进行函数映射 。
(6)由于正弦函数的输出数据区间范围是0 to 1,可通过Bounds、Remap Numbers、Construct Domain三个运算器将函数的输出数据映射到0.2 to 0.8区间范围内 。
(7)通过Scale运算器将网格面边缘线依据中心点进行缩放,缩放的比例因子为映射后的数值 。
(8)由两个Explode运算器将缩放前后的线框同时炸开,为了保证数据路径一一对应,需要通过右键单击Explode运算器的S输出端,选择Graft将两组数据成树形数据 。
(9)通过Flip Curve运算器转换其中一组线的方向,如果不转换方向的话,对应两条线的四个端点的排序就是{0;1;3;2},这样就需要手工修改Face的顶点排序 。
(10)将两组网格面的边缘线继续用Explode运算器炸开,同时右键单击其V输出端,选择Simplify进行路径简化 。
(11)用Merge运算器将两组点数据进行合并,那么其输出结果为每个路径下有四个构成网格面的顶点 。
(12)最后将点赋予Construct Mesh运算器的V输入端,即可依据顶点的排序创建网格 。
Deconstruct Mesh运算器可以确定网格每个顶点的法线方向,Face Normals运算器可以确定每个网格面中心点的法线方向 。网格上点的法线方向遵从右手螺旋定则,两个网格面的顶点排序分别为Q{3,0,2,4}、T{0,1,2},按照右手螺旋定则,此时网格上点对应的法线方向是向上的 。
网格应用实例二
网格上点的法线应用多伴随形体的变化,以下通过一个案例介绍网格顶点法线方向的应用方法:
(1)如图1-59所示,用Mesh Sphere运算器创建一个网格球体,其U、V两个方向网格面的数量可同时设定为30 。
(2)通过Deconstruct Mesh运算器提取网格面的顶点及其对应的法线方向 。
(3)用Deconstruct运算器将网格面的顶点分解为X、Y、Z坐标,并将Z坐标的数值通过Sina运算器进行正弦函数映射 。
(4)为了方便后期调整数据,将正弦函数映射后的数值通过Multiplication运算器乘以一个倍增值 。将该数值赋予Amplitude运算器的A输入端作为网格顶点法线向量的数值 。
(5)将网格顶点通过Move运算器沿着其对应的向量进行移动 。
(6)将移动后的顶点由Construct Mesh运算器重新组成网格,其F输入端的网格顶点排序需要与初始网格的顶点排序保持一致 。
在用Construct Mesh运算器创建网格的时候,可以在其C输入端为网格赋予颜色 。如图1-60所示,网格着色的原理就是顶点着色,如果只输入一种颜色,那么网格就会显示该种颜色;如果将顶点指定多种颜色,那么网格将会依据这些顶点颜色生成过渡的渐变色 。

推荐阅读