丝路广州分公司 文:叶重托
首先在此感谢上海分公司的同事对我的信任,给予我这个课题。由于时间仓促,未能及时解决,遗憾留存于心。这事再次说明参数化的工作方式不一定是快速出结果的,也很有可能是最耗费时间的,但结果是有质量保证的。
这次与大家分享的是我个人认为比较成熟的一套均匀网格解决方案。如图(附图_01)这是客户还想继续再做调整的模型截图。客户想要菱形网格均匀分布的效果像如图(附图_02、附图_03)这样经纬走向顺滑。图片中的建筑是位于阿布扎比雅思岛上的Yas
Hotel。建筑由众多的菱形LED板包裹着,在晚上发出不停变换的彩色灯光,使整个建筑显得非常梦幻。对比两个建筑网格细节,可以看出所谓菱形网格均匀分布,就是指从每个非边缘顶点出发都有4条边的网格均匀的分布在形体表面。而如图(附图_01)所示,中部区域有两个顶点存在1顶点共5条边的情况。需要改进的工作很明显就是两个,一个是消除共5条边的顶点,一个是网格顶点均匀分布。
http://s12/bmiddle/002dUQjPty6JqNlu5OH9b&690
http://s9/bmiddle/002dUQjPty6JqNlyZhS68&690
http://s12/bmiddle/002dUQjPty6JqNlDwyTeb&690
消除共5条边的顶点,这个比较容易,只需要重新划分曲面和重建曲面。如图(附图_04)所示将客户提供的曲面造型重新划分曲面并重建曲面为非剪切曲面。
http://s16/bmiddle/002dUQjPty6JqNopk3Jcf&690
菱形网格拓扑实际是由十字网格拓扑演变而来的,只需要将十字网格的每4个相邻顶点对角相连就够成了菱形网格拓扑。所以我们先安心来构建十字网格。如图(附图_05)所示将4个曲面作为起始数据输入Grasshopper中曲面转化为网格的电池,得到如图(附图_06)所示的最初的十字网格雏形。仔细观察这个网格走向及疏密分布都是不尽如意的,有扭曲,有疏密。我们先提前看下最终优化的十字网格。如图(附图_07)所示经过Kangaroo动力学引擎解算过的均匀网格分布。对比前后两张图,我们会发现解算的结果还是很给力的。
http://s7/bmiddle/002dUQjPty6JqNr4NGS96&690
http://s8/bmiddle/002dUQjPty6JqNrae9Nd7&690
http://s9/bmiddle/002dUQjPty6JqNsVNri38&690
Kangaroo动力学引擎是通过执行我编制的符合其运算规则的命令来实现运算的,下面就向大家介绍如何驱动Kangaroo动力学引擎。在(附图_07)中那个画有一只跳跃的袋鼠就是装载Kangaroo动力学引擎的电池。在电池左端那一大把输入线就是我给出的指令。
网格分布优化的解算过程实质是点的不断移动的过程,让每个点都重复执行找到合适的位置的命令,就像我们军训时站队列,向右看齐时一样不断微调自己的位置。如图(附图_08)所示将模型下端大开口处的点选取出来,命令这些点都在开口边线上保持距离。(附图_08)所示的是还未执行运算的初始状态,只是把每个点在整个模型中的序号通过筛选运算记录下来。下面各过程图也是如此。
http://s14/bmiddle/002dUQjPty6JqNvxlEhdd&690
如图(附图_09)所示模型上端的两个开口处理比较特殊,既为了保持这个双孔的造型,又为了运算与模型下端开口处的点有着一一对应的关系,我将这个开口转化为(附图_09)Grasshopper界面中虚线所示的等价形式,使2个洞转化为1个洞参加运算。使这些点在虚线示意的轨迹上保持距离。
http://s10/bmiddle/002dUQjPty6JqNzqskNb9&690
处理完边界点的均匀分布命令,就开始处理内部点的均匀分布命令。如图(附图_10)所示在由上开口不断演变为下开口的环形路径上,命令每条路径上的点在所在的路径上保持相等的距离。如图(附图_11)所示在与环形路径垂直的路径上,命令每条路径上的点在所在的路径上保持相等的距离。
http://s2/bmiddle/002dUQjPty6JqNB1jj311&690
http://s8/bmiddle/002dUQjPty6JqNB5jV527&690
看到这你是不是觉得计算机要处理的计算量很大,觉得点在横向竖向都保持相等的距离,网格就均匀了?答案是否定的,对于4边形网格,在结构力学上就已经定义了其不稳定性。我们还需要对结构的力学均衡找到三角支撑,让点在横向竖向保持相等距离的状态能稳定下来。如图(附图_12)所示命令每个4边网格单元内的2条对角线长度相等,也就是构成这张网的每个小“X”的2画相等。你是不是觉得这怎么可能?我们继续往下说更不可能的命令。如图(附图_13)所示命令所有网格单元内的2条对角线所形成的贯通连线相等。
http://s14/bmiddle/002dUQjPty6JqNE18GFcd&690
http://s8/bmiddle/002dUQjPty6JqNE4Y9967&690
看到这里你可能已经无法忍受我对这些3维子物体的法西斯行径了。这里需要说明的一个关键信息就是:基于力学的建模,一切受力都是可以接受的。物体间的相互作用叫力,我们正是利用了力能相互影响、传递、衰减的特点,如果各种受力可以稳定下来,那么点的分布就能得到合理的均衡结果。
值得一提的是再所有命令下达给Kangaroo动力学引擎后,还应该给每个命令一个可调整的力度,通过不断调试各命令的力度才能得到满意的结果。也就是一组力度组合得到一个均匀分布结果。所幸的是Kangaroo动力学引擎解算速度还不错,能够很方便的调试出满意的结果。
说完了网格的均匀分布,其实这事还没真的完,因为这个用来解算的网格是由最初的4个曲面生成的网格合并而来的。如图(附图_14)所示这是连续渐变颜色所形成的视觉效果,颜色分界就在4个曲面生成的网格合并处。如果不对网格进行重排序,很多在网格表皮上的视觉表现形式都无法开展。如图(附图_15)所示菱形网格也是这样颜色有明显分界。
http://s5/bmiddle/002dUQjPty6JqNFWZXmf4&690
http://s6/bmiddle/002dUQjPty6JqNG10QR45&690
如图(附图_16、附图_17)所示经过重排序的十字网格和菱形网格,可以搭载很多颜色分布方案形成非常绚丽的效果。
http://s4/bmiddle/002dUQjPty6JqNJwRAD63&690
http://s9/bmiddle/002dUQjPty6JqNJB8Vy98&690
最后奉上总逻辑图和4个颜色方案。如图(附图_18、附图_19、附图_20、附图_21)
http://s6/bmiddle/002dUQjPty6JqOfGVAV35&690
http://s5/bmiddle/002dUQjPty6JqOfMqzy34&690
http://s4/bmiddle/002dUQjPty6JqOfQD87a3&690
http://s6/bmiddle/002dUQjPty6JqOfVoJn45&690
请尊重原创和知识产权,转载请注明出处。
想了解更多请点击以下网址:
官
网:
http://www.silkroadcg.com/
官方微博:
http://e.weibo.com/silkroadcg
优酷空间:
http://i.youku.com/u/id_UMzQxMDE2MjUy
土豆空间:
http://www.tudou.com/home/Silkroad_CG
56
空间:
http://i.56.com/SilkRoadCG
微
信:
丝路数字视觉微信号(Silkroad_CG)
http://s14/small/002dUQjPty6G0WmvVJH1d&690
加载中,请稍候......