在数学概念中,极小曲面指的是平均曲率为零的曲面。随着计算机图形学的发展,极小曲面以其丰富的形体变化和流动性,被越来越多的应用于不同的设计领域。
极小曲面的形体可通过IsoSurface算法进行模拟,其V值可直接由极小曲面方程式提供,由于极小曲面公式的发现属于数学领域,设计行业可直接使用现有的公式。下面将介绍几种常用的极小曲面:
(一)Gyroid Surface
该案例的主要逻辑构建思路为,首先在一个Box范围内创建一定数量的三维等分点,并由极小曲面公式确定等值面的范围,再通过Iso Surface算法以网格的形式拟合等值面。最后用椭球体来切割网格,可生成圆滑效果的极小曲面,以下为该案例的具体做法:
(1)用Center Box运算器创建一个控制密度的长方体,其X、Y、Z三个输入端分别赋予9、8、6。需要注意的是此处创建的长方体并不是极小曲面的边界范围,而是用来控制其密度的参数,可将赋予X、Y、Z三个输入端的数值命名为“密度控制”。
(2)用Number Slider运算器创建一个大小为30的数值,并将其赋予Number运算器,将两个运算器同时命名为“网格精度”。为了保证程序界面的简洁性,可将两个运算器的连线隐藏掉。
(3)通过Subtraction运算器将名称为“网格精度”的数值减去1,并将结果赋予Range运算器的N输入端。
(4)将Range运算器的输出数据通过Cross Reference运算器进行交叉对应,可通过放大运算器单击“+”来增加输入端的数量。
(5)将Cross Reference运算器的三个输出端数据分别赋予Evaluate Box运算器的U、V、W三个输入端。
(6)用Deconstruct运算器将三维等分点分解为X、Y、Z坐标。
(7)将分解后的X、Y、Z坐标分别赋予Evaluate运算器的x、y、z输入端,可通过放大运算器单击+来增加z输入端。
(8)在Panel面板中输入“cos(x)*sin(y)+cos(y)*sin(z)+sin(x)*cos(z)”,并将其赋予Evaluate运算器的F输入端。
(9)用Center Box运算器创建一个边界范围长方体,将6、5、4这三个数值分别赋予其X、Y、Z输入端,需要注意的是此处建立的长方体才是极小曲面的边界范围。
(10)将边界范围的长方体赋予Iso Surface运算器的Box输入端;将等值面的公式赋予其v输入端;将网格精度值赋予其Xres、Yres、Zres三个输入端;IsoValue输入端的数值为-0.196178;将True布尔值赋予其Merge输入端,使生成的网格更圆滑。
(11)用Smooth Mesh运算器将生成的网格形体进行圆滑处理。
(12)由Volume运算器提取边界Box的几何中心点。
(13)通过Sphere运算器依据几何中心点创建一个球体。
(14)由Scale NU运算器对球体进行三轴缩放,其X、Y、Z三个方向的缩放比例可分别设定为:4.5、4、3。此处读者可自行设置缩放比例因子,只要保证其范围不超过极小曲面边界即可。
(15)通过Mesh Brep运算器将缩放后的球体转换为网格。
(16)通过Mesh Split运算器用球体网格切割极小曲面网格。
(17)极小曲面网格被分割后会生成两部分,用List Item运算器提取索引值为1的网格,即可得到非规则形体的极小曲面。
(18)如需创建有厚度的网格形体,可将得到的结果Bake到Rhino空间,用偏移网格命令对其加厚处理。
(18)改变名称为“密度控制”中的X、Y、Z变量数值,同时调整IsoValue参数,即可得到不同密度下的极小曲面。
(二)Neovius Surface
由于构建极小曲面的方法是一致的,只需将程序中的公式进行替换,同时需调整密度控制的参数、以及IsoValue的参数。
Neovius Surface的公式为:3*(cos(x)+ cos(y) + cos(z)) + 4*cos(x) * cos(y) * cos(z)。将Gyroid Surface案例中的曲面公式替换为Neovius Surface的公式,同时将密度控制的X、Y、Z三个参数调整为7、6、5,即可得到如图所示的结果。
(三)Schwarz P Surface
Schwarz P Surface的公式为:cos(x)+cos(y)+cos(z)。将Gyroid Surface案例中的曲面公式替换为Schwarz P Surface的公式,同时将密度控制的X、Y、Z三个变量调整为9、7、6,即可得到如图所示的结果。
(四)Split P Surface
Split P Surface的公式为:1.1*(sin(2*x)*cos(y)*sin(z)+ sin(2*y)*cos(z)*sin(x) + sin(2*z)*cos(x)*sin(y)) - 0.2*(cos(2*x)*cos(2*y) +cos(2*y)*cos(2*z) + cos(2*z)*cos(2*x)) - 0.4*(cos(2*y) + cos(2*z) + cos(2*x))。将Gyroid Surface案例中的曲面公式替换为Split P Surface的公式,同时将密度控制的X、Y、Z三个变量调整为7、5、4,即可得到如图所示的结果。
(五)Lidinoid Surface
Lidinoid Surface的公式为:(sin(x)*cos(y) * sin(z) + sin(y)* cos(z) * sin(x) + sin(z)* cos(x) * sin(y)) -(cos(x)*cos(y) + cos(y)*cos(z) + cos(z)*cos(x)),将Gyroid Surface案例中的曲面公式替换为Lidinoid Surface的公式,并将密度控制的X、Y、Z三个变量调整为8、6、4,即可得到如图所示的结果。
(六)I-WP Surface
I-WP Surface的公式为:cos(x)*cos(y)+ cos(y)*cos(z) + cos(z)*cos(x) - cos(x)*cos(y)*cos(z)。将Gyroid Surface案例中的曲面公式替换为I-WP Surface的公式,并将密度控制的X、Y、Z三个变量调整为7、6、4,同时需要将IsoValue的参数调整为-0.23,即可得到如图所示的结果。
(七)Scherk's Surface
Scherk's Surface的公式为:4*sin(z)-sin(x)*sinh(y),其中sinh为双曲正弦函数。将Gyroid Surface案例中的曲面公式替换为Scherk's Surface的公式,并将密度控制的X、Y、Z三个变量调整为4、6、8,即可得到如图所示的结果。
(八)Skeletal Surface
Skeletal Surface的公式为:cos(x)*cos(y)+ cos(y)*cos(z) + cos(x)*cos(z) - cos (x) - cos (y) - cos (z)。将Gyroid Surface案例中的曲面公式替换为Skeletal Surface的公式,并将密度控制的X、Y、Z三个变量调整为6、6、6,同时需要将IsoValue的参数调整为-0.9,即可得到如图4-106所示的结果。
极小曲面的形式有很多种,读者可在该网站查找关于极小曲面的公式以及详细信息:http://www.msri.org/publications/sgp/jim/geom/level/library/triper/index.html。同时可尝试改变公式中的一些参数,虽然改变参数后创建的形体并非标准的极小曲面,但是同样可生成具有数学逻辑的结构体,如图4-107所示为改变公式中的一些变量生成的结果。
3D打印是以可粘合性的塑料、陶瓷、金属等粉墨为材料,通过逐层叠加的方式打印数字模型。3D打印机可识别的标准数字模型格式为STL,其工作原理与普通打印机相似,都是将打印机内的材料一层一层叠加起来,最终将数字文件打印为实物。
将创建的两个极小曲面模型导出为STL模型,然后将模型导入到Cura软件中,通过读取模型的断面信息,用打印材料将这些断面进行逐层叠加。
3D打印机读取模型完毕后,即可开始进行打印。本次打印所选的材料为PLA(聚乳酸),由于PLA是由植物发酵聚合而成,因此其与传统塑料相比,具有更低碳、绿色环保的特点。