如何在Grasshopper中绘制三元函数图形?

Shaper3d论坛的一个讨论题目“这样一个函数 (x ^ 2 + (9 / 4) * y ^ 2 + z ^ 2 – 1) ^ 3 – x ^ 2 * z ^ 3 – ((9 / 80) * y ^ 2 * z ^ 3) = 0 在grasshopper里应该怎么绘出它的图形啊?”这种几何图像,只要知道 表达方程式,在在matlab里面好像做起来还是挺方便的,效果如下

QQ截图未命名.jpg

Grasshopper 中不能直接套用这个方程式,需要讲 表达式解析为 带变量的参数方程。 这个方程解析起来有一定难度, 特别是数学丢了很久的筒子来说,有点无从下手。 Grasshopper 中其实可以使用另外的办法来做这个方程,只是能做到半 方程式的参数化, 读起来有些拗口:), 大概思路是这样, 先建立2D心型图案当作轨迹线, 然后建立一条截面线,这样我们就可以使用 RailRevolve 运算器来建立这个参数模型(Rhino中的案例可以参考这里的教程http://bbs.rhino3d.asia/thread-3515-1-1.html)。 详情如下

1 在GH中 建立 2D“心型”的参数方程式,效果如下

01.png

GH “电路图”
021.png

2 然后再建立一条截面线,加上RailRevolve 运算器,就可以得到这个参数化的模型了。效果如下

Heart01.png

GH “电路图”(另存后可以放大1:1 观看详情)
Heart02.png

上图中蓝色Group的部分,是为了让轨迹线能在心型的下端得到G2的衔接关系。如果你不介意,也可以不用考虑这样处理,直接将 Point运算器的Pt端直接连接到 IntCrv 运算器的V输入端,如下图
15.png

可以比较一下不同的效果, 下图中顶部的造型是做过轨迹线连续处理的结果。
02.png

参数调试效果
heart.gif

心型还有一种简单的几何画法就是两个椭圆的叠加,绿色的线会叠加的结果,如下图
h2.png

GH“电路图”(可以另存后 1:1 查看高清图片:))
h23.png

也能实现参数化调试
heart2d.gif

如果你对上面的步骤有疑问,或需要下载此案例的 GHX文件,烦请登陆论坛参与讨论。

http://bbs.rhino3d.asia/thread-12082-1-2.html

Shaper3d 教学网』原创教程 ,转载请注明来源与作者。

此条目发表在Grasshopper, 案例教学分类目录,贴了, 标签。将固定链接加入收藏夹。