查阅杂志

算法及数字建模技术在设计中的应用

 李晓岸 徐卫国 Li Xiaoan Xu Weiguo

 

 

摘 要 算法是一系列解决问题的指令集合,通过计算机编程及计算,指令集合可以进行数字建模、生成可视化图形,而这些图形即为建筑设计的雏形。通过案例分析,论述了Circle Packing, Substrate, L-SystemVoronoi等算法在生成村落路网、划分地块、建立景观乃至设计建筑单体过程中的应用,探讨了算法及数字建模技术在建筑设计中应用的潜能。

关键词 算法 数字建模技术 建筑设计

ABSTRACT Algorithm is a series of commands in order to solve problems. By programming and calculating in the computer, commands can make modeling and generate visual images, which could be the prototypes of architectural design. Based on case studies, we discuss how algorithm and digital modeling techniques are applied in architectural design. The algorithms including Circle Packing, Substrate, L-System, Voronoi, etc. are used to generate road networks, blocks, landscape and buildings in the project of Sunhe county. The paper explores the potential of algorithm and digital modeling in the design.

KEY WORDS algorithm, digital modeling technique, architectural design

 

 

算法(algorithm)是一个古老的数学概念,在计算机诞生前早已存在。算法也是一系列解决问题的指令集合,算法中的指令描述的是一个计算,当其运行时能从一个初始状态和初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。算法有很多种类,有的算法得到的结果是一系列几何图形,如计算几何算法,有的算法得到的结果是一系列数据,如检索算法、加密算法。将算法引入到设计中,是以计算机图形学为基础,利用计算机将输入的数据(如日照、声音参数等)或几何图形(如几条曲线、几个立方体等),通过可以生成可视化图形的算法规则生成图形,作为建筑或城市的雏形。

利用算法进行设计时,需要应用计算机语言描述算法规则系统,生成计算机模型。计算机模型可通过不同方式建立:可以使用已有软件菜单命令,如Rhino软件里的放样操作;也可使用已有的参数化设计软件,如Digital ProjectGrasshopper 等建立形态参数模型;或利用已有软件的脚本语言来描述规则,如Maya里的MEL语言或Rhino里的Rhinoscript等;还可利用操作系统平台的语言,如C++, Python, C#, VB等编写程序,建立计算机模型。

与传统的人工设计相比,算法设计利用计算机建立起了一套富有逻辑的规则系统,每一步生形的过程都是可见可控的,不再是人脑黑箱操作过程,特别是涉及数据、技术指标方面的设计,更体现出算法设计的优势。本文就以位于北京第二绿化隔离带内的孙河乡规划设计为例,探讨算法及数字建模技术在建筑设计中的应用。

本项目基于北京孙河乡地区的地段调研、村民访谈等资料分析存在的问题,针对各个问题及规划要求,以产业规划为基本出发点,文化旅游、“手作慢村”、艺术家作坊、家具拓展、泛养老产业等为具体研究方向,选择适应场地基本特征的算法,对功能分区、交通流线、人的活动、开放空间等方面进行设计。

在设计中,可以通过算法设置全局参数(Global Parameters),如建设用地面积、交通用地面积等,采用合适的算法生成多个符合条件的方案,然后通过其他限制条件,如道路最短、绿地面积最大等进行优选。文中涉及的设计案例采用Circle PackingCellular AutomataSubstrateL-SystemVoronoi等算法,生成村落的路网、地块、景观乃至建筑单体,探讨了算法设计的特点及其在乡村景观规划中的具体应用。

 

一 Circle Packing算法在集市规划建筑设计中的应用

Circle Packing(圆覆盖)是一种算法,它的规则是在给定的面上由大小不同或相同的圆填充,圆与圆之间没有重叠,且任何一个圆至少与旁边的一个圆相切。

本设计选址于孙河乡上辛堡村南部一条东西向的街道旁,基于前期调研和孙河乡整体产业规划,我们期望通过研究传统的赶集行为及赶集空间的可能性,创造一个活动中心与集市并存的建筑群,使之在服务于本村人员的同时惠及外来游客,成为上辛堡村的一个商业文化景点。人们在集市中的行为一般是沿着一条线性的路径前进,从而能够逛到每个摊位。但有时有一些特殊行为的摊位如海鲜竞拍等,会形成一个围合的区域。于是,本设计中选择了Circle Packing算法,向心的圆形成围合的空间,相连的圆形边沿形成线性的流线。

设计中Circle Packing算法是通过Rhino(犀牛)软件的可视化编程插件Grasshopper(草蜢)中的Kangaroo(袋鼠)插件实现的。Kangaroo用于模拟动态的力学过程,使得分散各处的圆在牵引力的作用下聚集在一起,彼此接触但不重叠。牵引力大小影响圆和圆之间排列的紧密程度;数量决定了形成多少个圆;初始吸引点可以设置多个,根据场地分析布置;圆的半径根据行为分析和空间需要设置。通过一系列实验,根据圆组成的流线形状及其与周围地段的关系,筛选出较为适合的结果,最后在此基础上深化建筑设计和周围景观设计。

建筑单体深化则是在Circle Packing生成的圆平面的基础上,将建筑分层,将屋顶平台连成一体,建筑内部流线保证有一条是可以走通每个摊位和活动室的。房间所需宽度也根据功能需要进行变化,让空间更加丰富。景观设计也是以算法生成的圆为雏形,设置不同类型的花池、水塘、广场等多种功能,在空间上进行下沉升起等变化,与建筑及周边环境相协调。

 

二 元胞自动机与Substrate算法在村庄规划设计中的应用

元胞自动机(Cellular Automata,简称CA),它不是由严格定义的物理方程或函数确定,而是由一系列模型构造的规则构成。依据确定的局部规则作同步更新,大量元胞通过简单的相互作用而构成动态系统的演化。

……

 

 

更多内容详见2015年第5