t_cross中文名( 四 )


泰森多边形构建空间网格
通过GH自带的Voronoi 3D算法与Mesh相关操作可生成圆滑连接的网格结构 。
该案例的主要逻辑构建思路为首先缩放泰森多边形单元体,然后依据对应两个面的边缘线生成曲面,再将曲面转换为最简网格形式,最后通过网格细分将整体结构进行圆滑处理 。以下为该案例的具体做法:
(1)首先创建一个长方体的边界范围,并用Box运算器将其拾取进GH中 。通过Populate 3D运算器在长方体范围内创建一组三维随机点 。
(2)由Voronoi 3D运算器依据随机点生成组泰森多边形结构单元,并将三维随机点的边界长方体赋予Voronoi 3D运算器的B输入端 。
(3)通过Volume运算器提取每个结构单元的中心,并通过Scale运算器将每个结构单元依据其中心点进行缩放 。
(4)将缩放后的结构单元由Deconstruct Brep运算器进行分解,并将其F输出端通过Graft转成树形数据 。
(5)由Deconstruct Brep运算器将缩放前的结构单元进行分解,并用Area运算器提取分解后每个面的中心点 。
(6)用Scale运算器将分解后的面依据其中心点进行缩放,为了保证数据结构对应,需要将Scale运算器的G输出端通过Graft转成树形数据 。
(7)用Loft运算器将内外对应两个面的边缘进行放样,此处将曲面赋予Loft运算器,本质上是提取曲面边缘后再进行放样 。
(8)由于经过放样后的曲面都是由四边面组成的,可直接由Simple Mesh运算器将其转换为最简形式的四边网格 。
(9)将转换后的网格由Mesh Join运算器进行合并,并通过Flatten将所有网格放在一个路径结构内 。
(10)通过Mesh UnifyNormals运算器将组合后的网格顶点统一法线方向,再用Mesh WeldVertices运算器焊接网格顶点 。
(11)由Catmull-Clark Subdivision运算器对焊接后的网格进行细分圆滑处理,可将网格的细分次数改为3 。
(12)由于目前生成的形体并不是闭合的,可通过Mesh Edges运算器提取网格的外露边缘,并用Boundary Surfaces运算器将外露边缘处进行封面 。
(13)最后用Custom Preview运算器为整个形体赋予颜色 。
通过改变随机点的数量、随机种子、以及缩放的比例因子,可创建不同形态的网格结构 。
网格细分桥接
T-Splines插件中有个Bridge命令可以将两个曲面的对应子曲面进行桥接,在GH中同样可以通过网格细分的方法构建桥接效果 。
该案例的主要逻辑构建思路为首先将两个曲面细分相同数目的子曲面,为了产生随机相连的效果,可通过随机数据提取两组索引值不同的子曲面 。将两两对应的子曲面边框通过放样生成连接结构,并将剩余子曲面与连接结构的曲面进行组合,然后将组合后的多重曲面转换成网格,最后通过网格细分生成圆滑的效果 。以下为该案例的详细做法:
(1)首先在Rhino空间中绘制两个多重曲面,并用Suface运算器将两个需要连接的曲面拾取进GH中 。
(2)用Divide Domain2运算器将两个曲面等分二维区间,要保证两个曲面等分二维区间的U向和V向数量保持一致 。
(3)用Isotrim运算器依据等分的二维区间对两个曲面进行分割 。
(4)通过List Length运算器统计细分子曲面的数量,并将该值赋予Random运算器的R输入端,同时将两个Random运算器的N输入端赋予相同的数值,为了产生两组不同的随机数据,可改变其中一组随机数据的随机种子 。
(5)由于Random运算器生成的数值为小数,可通过Round运算器提取其整数部分 。
(6)用List Item运算器提取出随机数据对应索引值的子曲面,并用Cull Index运算器删除掉随机数据对应索引值的子曲面 。

推荐阅读