美文网首页
Grasshopper趣味教程(Demo)_第三关_数据魔法训练

Grasshopper趣味教程(Demo)_第三关_数据魔法训练

作者: 土冒某只羊 | 来源:发表于2020-11-13 16:48 被阅读0次

    接上回预告:

    Param Viewer老先生要准备传授我们掌控数据森林的魔法了,这时候他呼唤来一个可爱的童子助理 - 小樱桃(Cheery Picker)。

    自绘插图

    小樱桃说:“修炼数据魔法可不是一件简单的事情,你可得做好心理准备啊,我们一共有6个训练场哦,难度是一关大于一关的,做好准备了吗?”

     - .......等等,难道没有轻松学会魔法的方法吗?比如吃一颗聪明果知识就进脑子了!”

    只见小樱桃默默递来一碗鸡汤:“你机器猫看多了吧,这个世界上没有不劳而获的事儿!掌握好了数据魔法,以后GH的世界才能真正为你打开大门。还想不想做炫酷的参数化建筑了?”

    “想.......” 于是,喝完鸡汤的你充满斗志地跟着小樱桃来到修炼场的入口的地图前面。

    自绘插图

    1. 初级训练场(EXP+6) - 树的生长与截断 

    1.1 Graft,1.2 Flatten Tree

    2. 初级训练场 (EXP+12) - 树枝的变换

    2.1 Reverse List,2.2 List Length,2.3 Partition List,2.4 Dispatch,2.5 Shift List,2.6 Flip Matrix

    3. 中级训练场 (EXP+30)  -    特殊魔咒训练 

     {?;x} [ i ]

    4. 中级训练场 (EXP+60)- 魔咒的运用

    4.1 Simplify Tree,4.2 Shift Path,4.3 Tree Branch,4.4 Split Tree,4.5 Explode Tree  4.6 Tree Statistics

    5. 高级训练场 (EXP+120) - 新人劝退者 

    Path Mapper

    6. 隐秘修炼所(EXP+ 200) - 连线大师 

    ???


    初级训练场1 - 树枝的生长与截断 

    开局一条曲线!再把这根曲线细分成10份,再提取曲线上的点,这样我们就有11个点了。再给个Point List,标出每个点的List Index,可以看到曲线点是按照从右到左的顺序排列的:0,1,2,3...9,10。

       (Gif.1)

     Divide Curve的Count输入端默认是10个点

    接下来,我们再让数据开始发个芽看看?Graft准备!

    (Gif.2)

    Graft Tree

    请注意观察Graft以后数据出现的变化,List Indx变成了0,0,0...0,0。同时,运算器之间的连接线也变成虚线了。

    Graft的作用是在每一个末端成员上再增加一个分枝

    (对话)

     - “小樱桃,我有点疑惑,给我们的数据树末端再增加分枝有什么作用呢?把每个点都单独成组有什么作用啊?”

    - “哈哈,待会儿你就知道了!请看下图。”

    (Gif.3)

    Graft前后的对比

    首先我们复制了一份与刚才相同的曲线,同样细分为10份,提取曲线上的11个点。接下来,我们首先上下直接连线,发现它们很老实地按照顺利直接连接起来了,跟栏杆一样。然后再和下端刚才发过芽的点再连接一次...

    ??!!! 啊,为啥是那样的凌乱,发生了什么?

    别慌,我们先把其中一个点提取出来看看?

    一个点与Graft后的每一个点都发生了连接

    没有Graft之前,我们的上下连线是非常规则的,但是graft以后,我们曲线上端的一个点与下端Graft后的曲线上每一个点都发生了连接,这是为啥啊?

    聪明的你注意一定注意到了,下面那一排点在没有Graft之前是0,1,2,3...9,10。但是Graft以后变成了0,0,0,...0,0 。这有什么意义呢?这时候需要知道我们GH的运算规则:当我们再执行两点相连的过程中,我们实际上所做的是两颗数据树彼此之间的List Iindex与List Index之间的相连。

    Index 0 与 Index 0 之间连接 

    所以,当我们在Graft下端曲线点的以后,我们上端的原始曲线点与下端的每一个点都发生了相连。

    (对话)

    “啊,我知道了!当我需要与图形里的每一个点都发生运算的时候,我就需要Graft一下我的数据树!!!”

    “嗯嗯...可以这么说,看来Graft魔法你已经初步懂得了。” 小樱桃带着可爱的微笑回答道。

    “物有相互作用之力,学会了Graft,让我们再看看它的逆向魔法 - Flatten”

    于是小樱桃给刚才graft以后的数据加上了一个Flatten。

    Flatten这个词汇来自于Flat,指的是扁平化,大神口中常说的数据拍平就是它了。执行起来很简单,去掉数据树的枝芽,只剩一个树干,就是把所有的数据合并到一个大组里的意思。

    被砍掉了所有的枝和叶,只剩树干

    如图所示,Flatten以后,所有的点都重新组合到了一个大组中,所以我们的连线又可以恢复之前的模式了。


    小练习(只有自己亲自操做才能获取升级经验值):

    请自己在GH里敲一个Square, 再给个Point List,观察Graft后与Flatten后的数据变化。

    做完 可以得到 EXP+5,同时解锁成就:护林工!!!

    Tree Worker

    (对话)

    - "额?我怎么知道在啥情况下使用数据拍平Flatten呢??"

    -"很简单的,比如你需要计算一颗数据树的到底有多少个list啊,你可以先flatten一下,再给个List Length就行了。"

    - “哦...总量啊...还有呢?”

    -“比如把list都和起来,再按你的需求重新分组啊!”

    - “嗯?还有这样的操作?”

    -“不仅如此,你还可以把树枝们换来换去呢!”

    -“听起来真是神奇,小樱桃,快教教我吧!”


    初级训练场2 - 树枝的转换 

    2.1 Reverse List 反转列表

    (Gif.4)

    Reverse List 反转List的顺序

    非常简单的一个运算器,用上之后我们List的顺序就翻过来了,这个运算器常和List Item一起连用。

    例如下图:

    (Gif.5)

    Reverse List + List Item

    当模型比较复杂,组数太多的情况下可以使用reverse list + List Item的组合快速定位到最后一组数据

    2.2 List Length 列表长度

    与flatten是一个组合

    非常简单的运算器,告诉你一个list有多长,需要与Flatten连用,在后面的关卡中会经常遇到它,现在先在脑子里留个底儿就行。

    2.3 Partition List 隔断分组

    (Gif.6)

    Partition List 把list重新分组

    Partition - 啥意思?在平面系统施工图中不总有个Partition Plan吗?Partition就是隔断的意思,那么Partition List的作用像是在是在一个大组里重新立墙,分为不同的小组。Size就是你想要分组的数量

    2.4 Dispatch 分离

    与Partition List 的功能类似,也可以对List进行分组。

    (Gif.7)

    分组为啥是这样的呢?

    那是Dispatch pattern在搞鬼,这里的pattern是布尔值,输入不同的ture/false对list进行重新分组

    (Gif.8)

    根据Boolean值的设定改变分组模式

    2.5 Shift List 偏移列表

    (Gif.9)

    List往后移了?

    Shift的意思是偏移,那么shift list就是根据你的设置前后偏移List的顺序

    2.6 Flip Matrix 翻转矩阵

    这个名称听上去很高级,但其实用法很简单的。

    请看动图演示:

    (Gif.10)

    Flip Matrix,行列变换了

    Flip Matrix主要用于连线的时候,如果发现自己想连竖线的时候GH里的点却是横着连的,这时候你需要使用它了,别被这个奇怪的名称吓倒了,这货要用的时候自然就会啦!


    小练习(只有自己亲自操做才能获取升级经验值):

    请自己在GH里画一个面,根据第二关的方法进行细分,然后再依次演练一下以上的运算器,每演练一个可以获得EXP+2。

    做完6个可以得到 EXP+12,同时解锁成就:树的魔法!!!

    Tree‘s Magic

    (画外音)

     - “羊,我到底要学多少树的操作才可以建模捏形啊?你这训练场关卡也太多了吧?我只想速通GH。”

    - “打鬼武者是不是要练一闪?打只狼是不是要练弹刀?打黑魂是不是要练盾反?”

    - “。。。。。。。。。”

    - “别问了,快去练吧!想速通是不可能的,除非你是计算机图形学毕业的,了解GH的底层建构逻辑,才能快速掌握它的用法。”

    - "好吧,我去赚经验了。"


    (本关结束,下一关是中级训练场,更多挑战等着你哦!)

    相关文章

      网友评论

          本文标题:Grasshopper趣味教程(Demo)_第三关_数据魔法训练

          本文链接:https://www.haomeiwen.com/subject/izelbktx.html