GH小学堂之浅析Galapagos运算器与计算机方案模拟优化
作者按:经过这一段时间LAC暑期软件班的直播教学,小编发现除了图纸制作之外,很多童鞋对于软件操作中的一些重点难点仍然存在着较大的障碍,然而软件毕竟是我们制图的基础,因此考虑到众多小伙伴在设计和制图可能存在的软件问题,小编将在LAC制图教室开设一个新的系列教程:软件小学堂。将LAC暑期软件班课程群里面童鞋提出的一些有意思和有难度的问题整理出来进行公开的答疑分享。
那么今天第一篇文章我们将进入GH小学堂,和大家简单聊聊一个非常有趣并且与众不同的运算器:Galapagos运算器。
Part 1
基本介绍
相信大家如果是了解GH的话,肯定会其中的一个运算器印象深刻。
首先不同与其他运算器默认的灰色,这个运算器从外观上就与众不同,呈现出一个靓丽的紫色。
并且虽然它有两个输入端,但是不同于一般GH运算器输入端位于两侧,它有一个输入端竟然是位于下侧,除此之外当大家尝试像其他运算器一样把数值连接到这些输入端的话,童鞋们会吃惊的发现无论我们连接什么数据,这两个接口就像是加了盖子一样的无法连接。
那么这个处处都显得和别人不一样的运算器就是咱们今天课程的主角,位于Prm-util组中的Galapagos运算器。
Part 2
功能与使用
因为Galapagos运算器如此的不同,众多GH新手都对它感到困惑和不解,但是对于熟悉GH的人都知道,这个运算器对于咱们Gh中的方案优化是有着不可代替的重要地位的,所以下面小编就将向大家解析下这个运算器具体的功能和用法。
Galapagos运算器,全名Galapagos Evolutionary Solver运算器。以我自己的看法,它的主要功能是通过遗传算法或者退火算法,根据fitness段输入值的极值设置,通过对于Genome端的值的测试遍历,查找出极值状态下对应的Genome端参数。
当然这样说相信小伙伴们大多会像我之前在流动的美丽:极小曲面的制作一文中介绍极小曲面一样,处于一个懵圈状态。
所以下面,我们通过一个非常简单的案例来帮助大家了解一下Galapagos运算器的基本工作原理和具体使用方法。
我们先在GH中任意绘制一个圆形
重参之后,使用evaluate curve在上面使用0-1变化的slider滑竿,随机提取三个点。
下面我们将这三个点使用polyline(注意C端布尔值要设置为TRUE)连接成一个三角形,使用area运算器求出他的面积。
很明显当我改变三个滑竿数值的时候我们三角形的面积也在变化,那么这个时候如果我们想求得三个滑竿在什么数值下围合成的三角形面积最大该怎么操作了?
虽然如果大家对于基础几何有一定掌握的话应该都知道答案,但是在这咱们能不能通过计算机的操作帮助我们求出解了?按照基本思路,我们需要测试三个滑竿在值改变的时候对应的面积,通过比较来找出最大值(更准确的说我们只需要在一个点不动的情况下测试另外两个点位置的变化,这样才有唯一解,否则会有无数解,最大三角形沿圆转动),但这样毋庸置疑会花费很多很多的时间,并且如果大家没有掌握正确的测试方法的话,测试本身也是很难进行下去的。而这个时候我们的Galapagos运算器就能发挥它的用处了。
大家还记得我之前对于Galapagos运算器功能的总结吗?通过遗传算法或者退火算法,根据fitness段输入值的极值设置,通过对于Genome端的值的测试遍历,查找出极值状态下对应的Genome端参数。
那么对照咱们的测试需求,很明显我们需要的是根据三角形面积的最大值,找出对于两个slider的数值(控制点的位置)。所以我们需要把面积值链接到fitness,而把两个滑竿链接到genome。但是对于Galapagos运算器,大家需要注意的就是,他的链接不是由panel或者slider链接过去,相反大家要先点击Galapagos运算器本身的端口,反向链接到输入端运算器。
链接好了之后,我们就可以双击Galapagos运算器,进入编辑界面。
在这虽然有很多参数,但是最为重要的实际上是Fitness中的极值选择,因为一般对于类似Galapagos运算器这样的优化,我们都会追求一个最大值或者最小值的极值状态。以这个例子为例,我们追求的是三角形面积的最大情况,所以我们选择Maximize.
之后点击solver,我们需要选择我们到底采用那种算法进行优化结算,第一个是遗传算法第二种是退火算法,对于他们具体的区别和适用范围本次教程就不再展开了,假设我们选择退火算法。
点击start solver,大家可以看到,滑竿的数值就开始自行变化进行模拟优化了。并且三角形的形状经过短暂的测试就到了一个近似等边三角形的状态,可以看到退火算法的效率还是相当之高的。
并且我们可以看到解算的时候右下角的数值(三角形面积值)是在不断变化修正的。
经过多次演算优化之后,当大家发现最高数值不再改变之后就可以点击stop solver停止运算。选择最高的那个数值,点击Reinstate.
大家可以发现你的slider滑竿就停留在极值所对应的数值上,你也就在GH中得到了三角形面积最大时所对应的点的位置了。
Part 3
建筑优化
相信通过这个例子,大家对于Galapagos运算器的功能和基本用法已经有了一个大致的大致的了解,但是在实际的设计过程中我们又是如何使用Galapagos运算器来优化我们的建筑方案的了?相信这应该也是大部分学生会感到困惑的事情。
当然在这需要说明一下,真正实际设计过程中的计算机的方案优化是非常复杂并且也是非常占据计算机资源的,并且还涉及到众多复杂的建筑分析,学生阶段的大家无论是软件技能还是计算机硬件基本上是很难企及到的,所以在这,我们通过一个最简单的理想情况下的建筑优化例子给大家说明一下设计过程中的我们如何通过特定的参量对建筑进行优化。
首先说明下限制条件,我们要设计一个200平米的建筑,假设建筑为单层矩形,我们可以改变的参数是建筑的长宽比和建筑的旋转角度。
然后我们要求出在什么样的长宽比和旋转角度下建筑四周墙体的有害太阳辐射最低。
首先我们使用Honeybee的seperate by normal提取我们的墙体。
之后我们使用Ladybug计算我们墙体在冬季和夏季分别的辐射量(这部分涉及到部分Ladybug的基本操作,本次教程就不做展开了)
对于有害辐射的计算我们就简单的使用有害的夏季辐射减去有利的冬季辐射,结果的差值就是我们的有害辐射值,很明显咱们需要通过我们建筑长宽比以及选择角度的调整求出这个差值的最小值。
下面就要用到我们的Galapagos运算器,类似于之前的三角形,我们把这个辐射的差值链接到fitness端。Genome端链接我们可以改变的长宽比和角度值。
最后我们只要双击进入Galapagos运算器,选择最小值。
选择一个解算方法,点击start solver我们就可以根据辐射值进行优化求解了。
虽然就像之前说的,现实项目中计算机方案优化远远比这个复杂很多,但是抛砖引玉,相信通过这两个例子的介绍,大家对于Galapagos运算器的使用和计算机方案优化应该也有了一个大致的了解,这也是本次小学堂想实现的目的。
最后,如果大家在软件学习中遇到什么有意思的问题,也欢迎给我们留言,对于高质量的普遍性问题,小编也会像今天这样进行统一的撰文解答,让大家跟着LAC一起不断进步吧。
原创作品,转载请与我们联系
推荐阅读
更多文章,戳这里👇
制图教室
海外平行课
海外平行课 | 人类纪与人工智能建筑进化论—UCL自适应参数化设计
Workshop
数位设计国际暑期课程 Algorithm-Driven Design and Build Summer Workshop
Negotiated City博弈城市2018 现已启动报名
2018 UCL Slade School of Fine Art官方纯艺夏校
2018 UCL Slade School of Fine Art艺术游学项目已启动,快来参加!
2018 UCL Slade School of Fine Art专业进修课程等你来报名!
名校揭秘
新专业 | 活在盒子中,也能走出一个世界 「无限行走背后的故事」
LAC名校揭秘 | 香港大学(建筑+景观+城市设计)申请秘辛
对话&访谈
Legorreta + Legorreta | 墨西哥国宝建筑师(上)
秀展回顾
AA & Bartlett | 距离暑期建筑盛事还有三天!!
2017 UCL Bartlett Summer Show 完整版!
UCL Bartlett B-Pro Show 2016 回顾
END
官方网站地址
http://www.lac-studio.com
上海工作室地址
上海市虹口区哈尔滨路160号1913老洋行C-101
北京工作室地址
北京市朝阳区金泉广场3-812
联系电话
400-863-5573
联合 Linking | 学术 Academy | 创新 Creation
联合而不仅是连接-我们搭建老师、学生之间沟通的桥梁,更联合优秀的老师和学生,把宝贵的经验与大家互通分享。
学术而不仅是学院-我们不仅提供学院的教学环境,创造活跃,平等的课堂气氛,更注重学术知识的研究、传播。
创新而不仅是创意-我们培养的是学生全面的能力,不仅有好的思想,更有强大的技术,有把创意变为现实的能力。