Grasshopper极小曲面合集

文摘   其他   2024-10-26 10:24   陕西  

在数学概念中,极小曲面指的是平均曲率为零的曲面。随着计算机图形学的发展,极小曲面以其丰富的形体变化和流动性,被越来越多的应用于不同的设计领域。

极小曲面的形体可通过IsoSurface算法进行模拟,其V值可直接由极小曲面方程式提供,由于极小曲面公式的发现属于数学领域,设计行业可直接使用现有的公式。下面将介绍几种常用的极小曲面:

(一)Gyroid Surface

Gyroid Surface的公式为:cos(x)*sin(y)+cos(y)*sin(z)+sin(x)*cos(z)


该案例的主要逻辑构建思路为,首先在一个Box范围内创建一定数量的三维等分点,并由极小曲面公式确定等值面的范围,再通过Iso Surface算法以网格的形式拟合等值面。最后用椭球体来切割网格,可生成圆滑效果的极小曲面,以下为该案例的具体做法:

1)用Center Box运算器创建一个控制密度的长方体,其XYZ三个输入端分别赋予986。需要注意的是此处创建的长方体并不是极小曲面的边界范围,而是用来控制其密度的参数,可将赋予XYZ三个输入端的数值命名为“密度控制”。

2)用Number Slider运算器创建一个大小为30的数值,并将其赋予Number运算器,将两个运算器同时命名为“网格精度”。为了保证程序界面的简洁性,可将两个运算器的连线隐藏掉。

3)通过Subtraction运算器将名称为“网格精度”的数值减去1,并将结果赋予Range运算器的N输入端。

4)将Range运算器的输出数据通过Cross Reference运算器进行交叉对应,可通过放大运算器单击“+”来增加输入端的数量。

5)将Cross Reference运算器的三个输出端数据分别赋予Evaluate Box运算器的UVW三个输入端。

6)用Deconstruct运算器将三维等分点分解为XYZ坐标。

7)将分解后的XYZ坐标分别赋予Evaluate运算器的xyz输入端,可通过放大运算器单击+来增加z输入端。

8)在Panel面板中输入“cos(x)*sin(y)+cos(y)*sin(z)+sin(x)*cos(z)”,并将其赋予Evaluate运算器的F输入端。

9)用Center Box运算器创建一个边界范围长方体,将654这三个数值分别赋予其XYZ输入端,需要注意的是此处建立的长方体才是极小曲面的边界范围。

10)将边界范围的长方体赋予Iso Surface运算器的Box输入端;将等值面的公式赋予其v输入端;将网格精度值赋予其XresYresZres三个输入端;IsoValue输入端的数值为-0.196178;将True布尔值赋予其Merge输入端,使生成的网格更圆滑。


11)用Smooth Mesh运算器将生成的网格形体进行圆滑处理。

12)由Volume运算器提取边界Box的几何中心点。

13)通过Sphere运算器依据几何中心点创建一个球体。

14)由Scale NU运算器对球体进行三轴缩放,其XYZ三个方向的缩放比例可分别设定为:4.543。此处读者可自行设置缩放比例因子,只要保证其范围不超过极小曲面边界即可。

15)通过Mesh Brep运算器将缩放后的球体转换为网格。

16)通过Mesh Split运算器用球体网格切割极小曲面网格。

17)极小曲面网格被分割后会生成两部分,用List Item运算器提取索引值为1的网格,即可得到非规则形体的极小曲面。

18)如需创建有厚度的网格形体,可将得到的结果BakeRhino空间,用偏移网格命令对其加厚处理。


18)改变名称为“密度控制”中的XYZ变量数值,同时调整IsoValue参数,即可得到不同密度下的极小曲面。


(二)Neovius Surface

由于构建极小曲面的方法是一致的,只需将程序中的公式进行替换,同时需调整密度控制的参数、以及IsoValue的参数。

Neovius Surface的公式为:3*(cos(x)+ cos(y) + cos(z)) + 4*cos(x) * cos(y) * cos(z)。将Gyroid Surface案例中的曲面公式替换为Neovius Surface的公式,同时将密度控制的XYZ三个参数调整为765,即可得到如图所示的结果。


(三)Schwarz P Surface

Schwarz P Surface的公式为:cos(x)+cos(y)+cos(z)。将Gyroid Surface案例中的曲面公式替换为Schwarz P Surface的公式,同时将密度控制的XYZ三个变量调整为976,即可得到如图所示的结果。


(四)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的公式,同时将密度控制的XYZ三个变量调整为754即可得到如图所示的结果。


(五)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的公式,并将密度控制的XYZ三个变量调整为864即可得到如图所示的结果。


(六)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的公式,并将密度控制的XYZ三个变量调整为764,同时需要将IsoValue的参数调整为-0.23即可得到如图所示的结果。


(七)Scherk's  Surface

Scherk's Surface的公式为:4*sin(z)-sin(x)*sinh(y),其中sinh为双曲正弦函数。将Gyroid Surface案例中的曲面公式替换为Scherk's Surface的公式,并将密度控制的XYZ三个变量调整为468即可得到如图所示的结果。


(八)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的公式,并将密度控制的XYZ三个变量调整为666,同时需要将IsoValue的参数调整为-0.9,即可得到如图4-106所示的结果。


极小曲面的形式有很多种,读者可在该网站查找关于极小曲面的公式以及详细信息:http://www.msri.org/publications/sgp/jim/geom/level/library/triper/index.html。同时可尝试改变公式中的一些参数,虽然改变参数后创建的形体并非标准的极小曲面,但是同样可生成具有数学逻辑的结构体,如图4-107所示为改变公式中的一些变量生成的结果。


极小曲面模型的3D打印

3D打印是以可粘合性的塑料、陶瓷、金属等粉墨为材料,通过逐层叠加的方式打印数字模型。3D打印机可识别的标准数字模型格式为STL,其工作原理与普通打印机相似,都是将打印机内的材料一层一层叠加起来,最终将数字文件打印为实物。

将创建的两个极小曲面模型导出为STL模型,然后将模型导入到Cura软件中,通过读取模型的断面信息,用打印材料将这些断面进行逐层叠加。


3D打印机读取模型完毕后,即可开始进行打印。本次打印所选的材料为PLA(聚乳酸),由于PLA是由植物发酵聚合而成,因此其与传统塑料相比,具有更低碳、绿色环保的特点。



长按二维码关注公众号 获取更多内容
www.rhino-grasshopper.com

犀牛参数化云平台
www.rhino-grasshopper.com
 最新文章