回溯一些始于Grasshopper(简称Gh)初学时期的思考,给参数化板块暖暖场。本文面向已掌握Gh基本原理的入门者,研究层次大概是饭后闲聊,希望帮助大家在建模构思之初找准方向,“连电池”遇到瓶颈时,能跳脱出来反观建模逻辑的出发点。
“设计师与计算机如何分工”,这个问题的产生和我仅看过一遍Rhino入门教程,建模过度依赖Gh有很大关系。当时Gh应用机会少,要靠帮同学建模获取锻炼机会。
—————————————————————————————————————————— 案例一:波浪表皮图1 波浪表皮的建模意向
第一个独立完成的“参数化”习作是图中的波浪形表皮,一次自己手画电池的体验。该方案后来并未投入使用,作为习作,我尽量增多了可调参数(层数,渐变范围等,总共十个输入端)。图2 波浪表皮的建模过程
构建逻辑分两部分:一是波浪形态,靠三角函数实现。二是渐变效果,当时构建了两种逻辑——直接赋值转角,和根据构件厚度,用三角函数在无碰撞的前提下反推角度(实际并未成功,构件还是打架)。这一过程中几乎没有直接绘制的形态,大部分形态逻辑由数字关系支撑, 导致我对Gh的认知长时间停留在“只需导入结构线,其他的交给数字关系”。
图3 “手绘的电池”与推敲过程
(好怀念当时学习Grasshopper的热忱)
——————————————————————————————————————————
案例二:观景塔
图4 伦佐·皮亚诺的玛丽·吉巴澳文化中心
求职实习期间,被要求参照玛丽·吉巴澳文化中心的表皮,用“双螺旋”结构建造一座观景塔。比起前者,本例在表皮逻辑构建之前,增加了主体形态的设计过程。这部分的建模过程可以看作是50%的计算加50%的人工——先用双螺旋渐开线“算“好基座,然后在一旁绘制两根曲线,通过提取数据间接控制主体形态(当时并未意识到,但这种“间接控制”思路在后续实践与推广中发挥了巨大作用)。
图5 景观塔建模过程
立面形态的设计还是借助了二次函数,表皮的渐变效果采取了随机机制。我所认知的参数化仍被“数字关系”所充斥,数字关系的应用已有刻意之嫌。
—————————————————————————————————————————— 案例三:“鱼鳍”装置图6 装置概念图
真正触动思考的是这个“鱼鳍”装置。建造逻辑是在一条轴线(或曲或直)上等分取点,安装可以在垂线方向左右摆动的、长度可调的伸缩杆件,之间用弹性的膜结构拉接。本例的特征是通过实施建造逻辑反推建模逻辑,建成之后现实空间中可调的参数有两个:杆件转动角度和伸缩长度。但在Gh建模中就出现了问题:十个杆件就需要二十个输入端,这显然不可行。但随机生成的结果又太过不可控制。不怕您笑话,我真就钻了这么一牛角尖。
这里体现了Gh的一个思维难点——只能靠列表实现循环,循环次数(即列表长度)要出现在循环发生之前,很难在循环时终止循环。即使控制了循环次数也无法调整输入端数量。(另一个难点是不等长列表的树形数据,这里不做展开。)这些问题可以通过预先给出长列表,对结果进行判断并打断列表来模拟,或比较直接地用Python脚本解决,但不以搭载算法为目的的Python总是有些“大材小用”,代码的使用模式对大多数人也不够友好。
所以如何用另一种输入方式代替“无数个”输入端?跳出来想一下,人们在使用这一装置时,其实是在轴线上方构建一条空间曲线,这条曲线和轴线之间由拉杆连接。所以我只需要在Rhino中画一条空间曲线、定数等分、建模,在结果中校核模型中的杆件长度与旋转角度是否满足拉杆的设计阈值。之所以遇到这个阻碍,完全是我对Gh的过度依赖让我忽视了手动建模的逻辑。
图7 装置建模过程
图8 控制曲线并检测反馈值
——————————————————————————————————————————
案例四:“荷叶”屋顶
图9 "荷叶"屋顶立面与透视
参加工作后,某投标项目需设计一个荷叶形态的屋顶,通过四条空间曲线放样控制屋顶形态,但由于曲线很长、控制点多,为了保证形态的整体流畅,我中间还是尝试用电池来调整形态,但操作体验极差,总得不到想要的结果。后来领导和我说:“别捣鼓电池了,回犀牛里推敲一下线形。”
将曲线重构,把控制点数量保持在可控范围内,同时用等高线反馈屋顶的坡面形态。一番调整后,终于得到了比较理想的形态。当然这种低级误区大部分原因是我对Rhino的生疏所导致,另一方面也的确反映了“人和计算机分工”的问题。
图10 通过“等高线”检测曲面设计结果
图11 荷叶屋顶轴测与立面
——————————————————————————————————————————
总结与反思
案例很简单,文字也只是笔者实践之外的内心戏,不过归纳之后还是能得到一些Tips:1)尽可能减少操作数量:电池组输入端太多,或者需要手调的原始图形太多、原始图形控制点太多,都会影响操作体验,干扰方案推敲(案例3、4)。手动控制建模太麻烦,就让计算机来做;计算机做起来不直观,就试着手动来做,充分发挥设计师的造型能力和Gh解决重复工作的能力。
2)数据与形态来源要灵活:不要所有东西都从当前模型中操作、获取,要有“间接控制”思维(案例2)。其实道理就是在不同视图、剖面图中推敲方案,但Gh给了我们将平面推敲结果直接关联到模型中并实时反馈的能力。
3)注重数据反馈与阈值检测:数据的来源包括人和计算机,要保证人为生成的数据占比能够有效控制设计结果。人为生成的数据靠计算机来“检测”,计算机生成的形态要靠设计师来“检测”。
无论Gh使用经验多么丰富,在电池组构建之初,或模型进展困难的时候,都可以跳出来想一想:你和计算机该如何分工。不要钻进连电池的牛角尖,炫酷的造型并不都是算出来的,设计师自身的作用也很大。