06.输入端运算器

 

今天,终于到了我们认识运算器的时候了。大家是不是和我一样有点小激动呢?其实对运算器的学习是一个非常持久的过程。大家不应该仅有三分钟热度,不然很快你就会被四百多个运算器给打趴下。

 

有人认为Grasshopper的学习应该从案例入手,有人推崇背运算器。在我们的课堂上,我不太推崇从案例入手,因为即使是一个最简单的案例,没有基础的初级班学员也是看不懂的。我推崇大家学习从运算器入手,但是并不是一味的背运算器。大家只需要过一遍运算器,有一个印象,同时根据运算器讲解我所配套的例子进行研究,很快你们就能明白运算器和运算器之间的关系。要知道,Grasshopper的每个运算器背的再熟也不一定就真的会用这个软件。人们常说Dota或者篮球足球不是一个人的游戏,Grasshopper亦是如此,它需要大量的电池相互配合才能达到最终的效果。我们知道了单体运算器的作用,并且简单的了解了那些运算器应该相互配合使用,然后根据我给出的案例得到了若干个单体运算器相互配合能够达到的效果之后,你们的Grasshopper就算完成了初级难度了。在中级的课程部分,也就是建筑篇/城规篇/环艺篇中,根据我们已经学到的运算器之间的搭配所得到的效果(我称为运算器的串联),我们将会进一步学习这些效果应该如何在课程设计中使用,使自己的方案变得更加优秀,客观,有据可循。同时将会配以一些已建成案例的分析,让大家更直观的感受到我们在初级班所学习的运算器知识在真正的设计中发挥左右了以后,设计会变成什么样。

 

在讲解运算器之前,我们首先需要知道一些最基础的操作。比如鼠标左键单击是选择运算器,而按住左键移动鼠标可以移动电池;在空白的地方按住鼠标左键拖动则是框选。其中按住Shift单击是加选,按住Ctrl是减选,和PS一样。右键单击运算器是弹出右键菜单,而按住右键拖动则是拖动窗口,和Rhino一样。鼠标滚轮是放大缩小视窗。

一般来说,每个运算器长得就跟一个电池一样,前边的小半圆形叫做输入端,是用来输入数据的。后边的叫做输出端,是用来输出数据的。中间的电池部分里面其实是一大段脚本命令的打包,因为Grasshopper本来就是脚本可视化的程序。

我们鼠标点击输入端或输出端然后不放手,可以拖出来一根线,我们叫做电线,如果将A运算器的输出端拖出来的线放到B电池上,则他们相连并进行运算。如果想要删除这根线,按着Ctrl再拖一次,鼠标就会变成红色减号,线就会消失。当然还有一种取消连线的方法是,右键输入端或输出端会出现右键菜单,其中有一个Disconnect取消连接,我们可以选择和相连的哪一个运算器取消连接,或者是和所有相连的运算器取消连接。如果我们需要在一个输入端上连上两个数据,我们需要按着Shift再把数据连接上去,否则两个数据会互相替代,因为Grasshopper的默认输入端只能连接一个数据。

 

今天我们要介绍的是Params部分的电池。这一部分电池大家常用的很少。这一部分电池主要是起到一个输入端的作用,比如我们需要把一个方盒子放大,这个方盒子就是属于输入端,放大属于操作手法,放大后的大方盒子则是输出结果。通过上节课如何读Grasshopper程序的讲解,我想大家现在应该已经有了初步印象。当然,Params标签下的电池其实更多的是最基础的电池,牵扯到“操作手法”部分的很少。

首先让我们来看一下Params标签下的电池长什么样子。

图片4

我们来讲解一下最常用的。

图片1

这些便是大家平常最常用到的电池了。左边一列基本都是输入端,从上到下分别是点,圆,曲线,面,立方体,Brep,Mesh,和几何体Geometry。这一类运算器通常的作用是拾取Rhino中的物体,作为联系Rhino和Grasshopper的桥梁;或者是拾取Grasshopper中自己的数据,做一种“身份名片”。右边则是小数和整数。剩余我没有截图列举的,大家请看他们的英文名字就能知道是干嘛的了。当然大家也可以看《Grasshopper完全学习手册》进行了解。我挑大家课设最常用到的命令进行讲解,希望大家能够举一反三。

在Grasshopper中,有一些运算器是有包含关系的。大家可以从下图中进行观察(这是大家常用的一些包含关系)。这张图对于初学者非常重要,因为这张图内有很多很多需要讲的知识点。

图片2

我们可以看到,一个点可以算作一个向量(Vector,最上方箭头符号运算器),也可以算作一个平面(Plane,箭头正下方运算器)。而平面是包含于面(Surface,简称srf)内的。点也可以看做是一个Box,包含于Brep内。

  • 线段(Grasshopper中叫做Line,实际上直译叫做直线。但是其实这个运算器表示的是直线上某范围内的线段,该运算器位于倒数第二行第一个),是属于曲线(Curve,简称crv。他们的包含关系反过来是不成立的)的。而曲线也可以转化为Plane,Surface。同样的,圆Circle也是包含于Curve的。大家可以观察到,包含范围最大的是几何体Geometry,所有东西都可以叫做Geometry。

为了帮助大家理解运算器的关系,我又一次制作了一个运算器的关系图。在这张图中我们可以很快的了解到,Geometry是老大的位置。那么往下就到了Brep。现在我们来简单讲解一下什么是Brep。

图片3

Brep大家可以粗略理解为实体,任何有体积的Nurbs建模产物都可以叫做Brep(这句话如果你没有理解,看一下Mesh就知道了)。所以一个方盒子,一个异形盒子等都可以算作Brep。规矩的方盒子可以分解成平面的元素,平面又可以分解成线段,点。当然后两个因为没有面积是不能算Brep的。如果是异形的盒子,则它可以分解成曲面,曲面必然有曲线元素组成,那么就可以继续分解成圆弧和无数个点。

那么Mesh又是什么呢?Mesh是大家非常少用到,各种教程里很少讲到,但是真的非常非常有用而且做非线性或者说仿生建筑非常常见的元素。它好处太多了,不但节省机器资源,模型很复杂也不会卡;而且易于形变。通过T-splines和Weave Bird软件的配合,大家可以像捏橡皮泥一样做出很多造型丰富的建筑。关于Mesh感性的介绍就是,特别好用然而大家都不太会使用的建模方式;理性的定义大家有兴趣的话可以自行谷歌百度,比较复杂,不必深究。到了中级教大家如何建模的时候会进行丰富的案例讲解,我们初级教程以Nurbs建模为主。Nurbs的概念大家忘了吗?忘了的话可以查看第一讲哦!

我们回头再来看一下最基本构成元素——点。对于点的认识,Grasshopper中的点其实并不是大家数学上学到的点的含义,这也是我在一次和大鹿前辈的探讨中明白的。Grasshopper中的点,其实是一个包含三维信息的综合信息产物,比如(0,1,2)这个三维坐标,它实际上是代表着一个信息,这个信息告诉我们该元素所具有的特征。在xyz坐标系中,(0,1,2)自然代表的是一个点,但是大家一定要提前明白“一个点”这个含义实际上是包含在Grasshopper对(0,1,2)的理解中的。Grasshopper认为(0,1,2)是一种信息,点只是其中的一个具象表述之一。它也可能是一个相量,一个uv值。实际上在我们后期的案例中,大家可以看到用一个点去表达曲面uv坐标的案例。正是因为(0,1,2)不仅仅表达一个点,才让我们上边的点也是相量,也是平面包括后边的uvPoint案例变得可能。当然这是非常理论的知识,如果听不懂,可以放心大胆跳过。随着对Grasshopper理解的加深再回头看这段话,也许哪一天突然就能悟明白了。

 

那么今天我们就暂时讲到这里。如果有精力的朋友欢迎进入下一章内容的学习。提前预警,下一章高能。做好思想准备!

 

爱你们的小黄人君

DanielJin

 

输入端运算器

 

———————————————————————————————————————————————————————

本文所有内容版权均属于作者所有

欢迎您扫描下方二维码关注小黄人君的微信公众账号

二维码新

2 Comments on “06.输入端运算器

  1. 中级的课程部分,也就是建筑篇/城规篇/环艺篇 請問這些課程要去哪裡學習呢? 需要付費嗎?
    你的課程真的很詳細很棒~~

发表评论

邮箱地址不会被公开。 必填项已用*标注