跳动的曲面--网壳找形初探
kdymiurf
kdymiurf Lv.2
2021年06月25日 08:42:36
只看楼主

◤01 笔者最近在网上闲逛的时候,偶然间看到了一个很有趣的墨西哥的竹木结构社区公共建筑Luum Temple。该建筑整体呈五星形,竹子之间通过结构三角形网格相互搭接支撑,共同编织成了五面悬链线的结构造型, 这五个悬链线角相互支撑,共同在建筑中心立柱处汇交。为了实现优美顺滑的建筑效果,要求三角形的每部分区域的网格线条尽量规整一致。

◤01


笔者最近在网上闲逛的时候,偶然间看到了一个很有趣的墨西哥的竹木结构社区公共建筑Luum Temple。该建筑整体呈五星形,竹子之间通过结构三角形网格相互搭接支撑,共同编织成了五面悬链线的结构造型, 这五个悬链线角相互支撑,共同在建筑中心立柱处汇交。为了实现优美顺滑的建筑效果,要求三角形的每部分区域的网格线条尽量规整一致。

图片来自网络



那么对于这种异形的空间曲面,如何实现其杆件能够尽量规整均匀呢?怀揣着这样的疑问,笔者开始了在曲面找形方面的实践探索。在之前的文章《探讨空间自由曲面结构找形-以大英博物馆及荷兰航海博物馆为例》中已经大致介绍了自由曲面找形的逻辑理论方法,在今天的这篇文章中,我们来初步探索下grasshopper中的kangaroo的找形应用方法。



◤02


下面笔者根据一个简单的异形三角形网格曲面(见下图),运用grasshopper中的kangaroo插件进行一个简单网格重构的初步摸索学习。

初始网格


首先我们看一下这个网格各构件的尺度,根据length电池可以测出每个网格线的长度,进而求出其平均值。可以看到杆件的长度平均值约在4.02m。每根杆件长度与平均长度之比多在0.88左右,网格的大部分杆件还是比较规整一致的,但还是有一定可以优化的空间。

各杆件初始长度


接下来我们确定一下优化的思路,目标是使三角形网格更加均匀化,即内部的三角形网格各节点在保证曲面尽量不大幅度变动的情况下(这里允许曲面有细微的调整),可以自由地变换。边界条件先初步设定为曲面最外边框保持不变,其内部杆件可以允许改变。


kangaroo的下载及安装教程请见Food4Rhino网站,这里不再赘述。整个kangaroo包括很多种电池以实现各种功能,其中最核心的运算器 – KangarooPhysics,它包括Force objects、AnchorPoints、Gemetry、SimulationReset这几个核心的数据输入端,我们需要将网格模型、约束点、优化目标等全部集中到这个运算器中。


KangarooPhysics运算器


第一步,在GH里读取原始网格之后,使用Mesh Edges这个电池,我们可以提取出这个曲面的边界以及其内部的网格线条。

Mesh Edges运算器


将上方输出的naked edges边界曲线的各点提取出来施加约束—即接入到运算器的AnchorPoints端。将内部曲线interior edges接入到核心运算器的Gemetry作为待优化的模型。


同时需要通过UnaryForce这个电池对折现待优化的曲线交点处施加一个竖直向下的变形力。

施加荷载


考虑到我们的目标是使网格尽量均匀化,下面这个Equalize电池的主要作用就是使输入线段等长,可以帮助我们更好的实现网格均匀化的效果。

Equalize运算器

主要的几个部分如上所述,整个优化找行形的大致流程如下图:

流程图


开始运算得到最终的网格重构结果:

优化后的结果


最后我们以数据的形式输出优化后各网格边的长度:

与未优化前对比一下:



03


可以看到优化后平均值大致是没变化的,但是三角形网格分布更加的均匀了,比例基本都在0.97-1.00之间,而优化前基本是在0.88-1.03左右,优化后各边与平均值的离散程度更小。


由于笔者才刚刚开始学习此部分内容,上述的内容大致只是简单尝试应用kangaroo插件,此案例肯定存在许多不足与未考虑之处,大家若有不同的意见和好想法欢迎讨论交流,共同学习共同进步~

免费打赏

相关推荐

APP内打开