我们回到上节课讲解的Params常用运算器的截图,其中有两个小数,整数的运算器。这两个运算器代表的不仅仅是数据,除此之外它们还包含了数据特征:输入的是小数点类数据,还是整数数据?通过这两个运算器,我们可以强行规定输入值的类型。
我们先来介绍一下后边两个常用运算器,再用这两个运算器来做一个小例子一起来帮助大家理解小数/整数的运算器。
这两个运算器分别叫做Number Slider拉棒,以及Panel显示板。拉棒的作用很简单,就是调整输入端数据。我们双击拉棒可以输入想要的数值,当然这个数值必须在拉棒的范围以内。类似拉棒的功能的运算器还有很多,比如:
我们以拉棒最为常用。右键拉棒,点Edit能看到拉棒的设置菜单:
其中Name是拉棒输入端的名字,通常情况下我们连入运算器后会自动变为被连接的运算器的输入端名称,比如长度l,角度a等。Grip Style则是显示方式,我们不需要更改。接下来的RNEO四个字母分别代表某一类型,R是指实数;N则是代表整数;E则代表偶数,O代表奇数。下方的digits则是代表小数后要有几位,默认是3位也就是上图里的3.下边的Min代表拉棒最小值是多少,Max代表最大值。Range指的是拉棒的范围。
对于拉棒的使用,有很多小技巧。比如当我们需要具体某一个值的时候,我们可以双击拉棒然后输入。
但是!如果我们窗口缩得比较小,双击拉棒将会直接出现上边的Edit菜单让你设置。
其次,如果我们想要缓慢的改变参数来观察变化,我们可以将鼠标放在拉棒最右端然后拖动,将拉棒拉长。这样我们的变化幅度就会缓慢,相对来说能更清晰地观察由于自变量的变化产生的因变量的变化情况。
默认长度
拉长之后
同时,Grasshopper的人性化再次展现:当我们需要输入任何一个数字N的时候,只要双击空白地方,直接敲入数字按回车,就会自动出现一个数值为N的拉棒。
接下来讲一个非常重要的内容,Expression。我们在很多运算器中都可以看到这个英文,叫做函数表达式。它允许你输入一个函数表达式,比如x-1,那么当你输入端是5的时候只会输入4.这一个选项同样在Edit中可以找到。
很重要的是:我知道很多人看的都是很老的Grasshopper教程,当输入端是z的时候我们必须输入z-1,如果输入x-1则会爆红显示运算器错误。但是实际上在0056版本之后运算器函数部分就已经进行了更正,所有运算器,无论他们的输入端是什么,我们输入x-1都是可以的。反而输入z-1或者输入端字母-1会爆红了。因此各位一定要注意,如果你看了某网校的视频发现按照某老师的视频做法运算反而错误了,请记得将函数部分修改。因为这位老师录课程的时候是很早很早的事儿了。
然后说一个大家平时很少用到但是非常有用的面板,Expression设置面板。
这个面板为大家提供了丰富的运算符号,你可以利用这些运算符号组合出复杂的函数表达式来满足个人需要。大家请注意其中的Variables这一项,表明了x:Number。如果一个美女在酒吧含情脉脉问你你是一个人吗?她的意思是想要约你。很多时候Grasshopper告诉我们很多消息和用法,可惜我们不解风情所以学习效率低下。大家要牢记,Variables是变量的意思,也就是说这里能输入什么变量。如果显示了x和y,你输入了z,那么就是错误的因为Grasshopper会不认识z。如果你仅仅输入了x也会报错,因为y没有参与,所以函数不完整。后边的Number的意思是,x的输入端要输入数字。那么给大家一个小思考题,如果这里显示的是x:Number,y:Angle,Daniel:Cool,你们知道变量有几个,都是什么,应该输入什么类型的数据吗?
最后再讲一点关于Expression的小知识,大家请看最下边的Errors。这个提示的是你的错误信息。比如像刚才的截图,显示的是因为我们没有输入函数,所以表达式不充分,因而错误。也有可能显示输入了错误的未知数,比如把x输入成了z。如果输入都正确,会这么显示:
接下来我们再讲一下这个黄色的便签纸一样的运算器。他叫做Panel。这个小东西可是用处非常非常的大了。它可以为我们显示一个运算器输出端的输出结果,供我们进行监视。如图:
也可以用它来进行数据的输入。比如表示的就是3+5=8。输入的方法是,双击黄色panel,然后输入3,点击Grasshopper窗口内空白处即可(不可以按回车,稍后会进行讲解)
大家把鼠标放在Panel的角可以通过拖拽调整大小。
需要注意的是,如果当我们在Panel中输入3之后,Panel输出的是3.如果我们在Panel中输入3之后按了回车,那么实际上Panel内是这样的:
这时候运算器就会报错。因为输入3之后按了回车,整个Panel输出的并不是“数字”3了,而是“文本字符”3.电脑不会把字符当做数字进行运算,即使我们看起来他们都是阿拉伯数字3.
事实上,用Panel输入数字是一个很不讲究的习惯,即使我们输入3没有按回车,3也依然是被当做“字符”识别的。只不过Grasshopper会智能的把“字符”变成“数字”3去进行运算。我曾经在《Grasshopper完全学习手册》中给过一个案例,这个案例中4≠4.0≠4.0,原因实际上就是文本字符不等于数字。有兴趣的同学可以后期查阅下。
我们还可以列举这样一个例子来证明我刚才的理论是正确的。其中A运算器是指字符运算器,如果该Panel是字符则不会报错。大家很容易看出来,不加回车的时候,3是字符,但是也可以被智能转换为数字。一旦加了回车,3就不能转换为数字了。但是我们在3后边加空格是不影响的。
讲Panel输入数据,一定要讲一个小技巧。很多时候我们需要输入多个数据,比如需要输入3,5,7;那么这时候我们单用回车隔开三个数写成三行,系统是不认的。正如我们讲我爱你不能说成我你爱一样,Grasshopper也是有自己的语法的。“字符”是不能充当“数字”作用的。如下图的输入方法就是错的:
那么如果我们需要输入多个数据应该怎么办呢?我们可以右键Panel,会出现这样的一个菜单。
这里面需要大家了解的很少,只有两个。
第一个叫Multiline Data,我在《三分钟Grasshopper小讲堂》系列视频课程中提到过。我把它成为多线数据。大家把它取消后,Panel就从“字符”变成了一个完整的,带有路径名称信息的“数据”集合了。
这时候我们发现虽然Panel还是有“字符”的格式,但是已经可以做数据使用了。
第二个叫Edit Notes,事实上大家如果在很小的Panel上双击(比如上边那个没加回车的3的Panel),也会出现Edit Notes的界面。它是这样子的:
我们可以看到上下左右各有三个图标。他们都是什么意思呢?
左边三个分别是增大字号,改变字体,缩小字号。
中上三个分别是居左,居中,居右。
中下三个分别是我们刚才讲的Mutiline Data,Wrap Items,Special Codes。后两个大家暂时不需要掌握。
右边三个分别是是否显示序号,是否显示路径名称,和改变颜色。
序号和路径名称是属于树形数据的知识,大家耐心看下去就明白它们是干嘛的了。这里先给出路径和序号的位置:
在此图中,蓝色方框内的是路径序号,红色方框内是每项路径下的序号,紫色方块内是每项的数据。
既然讲到Panel,那就要讲精讲透;你们的小黄人君讲课一向是兢兢业业的。我们把鼠标滚轮不停往上滚,放大Panel,不停放大,会发现出现了几个图标。
这些图标你们一定都见过了,对,就在刚才我们的Edit Notes窗口里。那么这里我们就不重复讲了。最后要强调一个非常重要的小技巧,当大家把多个数据连入Panel进行查看的时候(按住Shift),Panel显示的顺序会根据连入顺序而显示先后。如图,同样的输入端,因为连入顺序不一样,所以显示的先后顺序也不同。
Panel这个运算器非常重要,因为他可以实时监视你所需要观察的数据,还能看树形数据的路径信息,等等……这个运算器随着程序越来越复杂,起到的作用也越来越大。很多时候大家程序出错,都可以用它来排查错误。
好了,那么我们讲完这两个运算器,就可以回头看一下刚才我们讲的小数和整数的知识了。我们利用Panel和拉棒对输入,输出数据进行监视:
我们可以看出规律,那就是我们可以强行用整数“7”运算器来对数据进行四舍五入取整。也可以用小数“0.1”运算器对数字进行强行增添小数点后一位的操作。
通过这几天的学习,大家应该已经开始对Grasshopper有了一个理性的认识了吧?再提到Grasshopper或者参数化学习,大家应该第一反应联想到的不再是扎哈,炫酷的表皮,复杂的非线性建筑,而是枯燥无味的数据处理和密密麻麻的电池才对。大家不要担心,我会努力循序渐进把Grasshopper的命令在初级篇给你们讲透,让你们顺利毕业,可以顺利去分析案例,直到后期自己设计案例的!
再说了,就算哪里写的太过晦涩没有很好的理解,咱们不是还可以在群里进行直播讲解呢吗?大家不要怕,你们信任我,我也对大家很有信心的!
爱你们的小黄人君
DanielJin
———————————————————————————————————————————————————————
本文所有内容版权均属于作者所有
欢迎您扫描下方二维码关注小黄人君的微信公众账号