企业库 微信资讯

【主题文章推介】林秋达:分形Packing算法与建筑设计

西部人居环境学刊    2015/2/23  

导读:Packing是一定数量的单元体以叠合规则聚集在一起的一种算法。Packing算法与分形迭代结合不仅在空间优化中具有重要作用,在建筑设计中也具有一定的运用潜力。本文分析了箱型Packing、圆形Packing等不同种类的分形Packing算法的特性,并结合设计案例探讨了分形Packing算法在建筑设计中的运用方式。

DOI:10.13791/j.cnki.hsfwest.20140611

林秋达. 分形Packing算法与建筑设计[J].西部人居环境学刊, 2014, 29(06): 57-63.

分形Packing算法与建筑设计

Fractal Packing Algorithms for Architectural Design

1 空间堆叠(Packing)

Packing,又称为空间堆叠,指的是依据一定的规则在有限的空间范围内尽可能多地放置限定大小和形状的单元体(如盒状物体、圆柱体等)以避免空间浪费。由于空间Packing算法可以xx限度地利用特定范围的空间,因此被大量地运用于空间管理、储存空间优化以及集装箱运输空间优化等领域。

从被堆叠单元体形态的角度划分,Packing可以分为两种不同的类型:一类是非规则几何体的Packing(如石块、沙粒等),另一类是规则几何体的Packing(如圆球、圆柱、方形物体等)(图1)。

赫尔佐格设计的多纳米斯葡萄酒厂(DominusWinery)外墙使用的钢丝笼石块就是一种非规则几何体的堆积。在钢丝笼限定的体积范围内,不规则形状的石块相互堆叠进行空间填充,没有被石块填充的空间成为光的通路,形成了建筑内部的有趣光影(图2)。

虽然Packing生成的积聚形态和粒子系统一样是由数量众多的单元物体构成的,但和粒子系统受明确的外部力场控制不同,控制Packing的规则不是某种特定的力,而是空间填充法则或者令单元体紧密依靠的规则。粒子系统强调的是众多单元体集群运动的动态感,而Packing算法强调的是单元体的静态空间聚合感。在数字空间中,可以设定任意形态的单元体作为Packing的个体,各个单元体之间互相接触但互不重叠,根据预先设定的Packing原则(接触紧密度、角度等)和密度阈值在限定的空间范围内堆积入xx限度数量的个体。如图3所示,椭圆形、六边形、三角形等任意形态都可被紧密叠合到矩形范围框内,形成变化丰富的肌理。

2 方形Packing与分形

以方形形态为基础的Packing可以分为二维的矩形Packing和三维的箱型Packing。箱型Packing(Bin Packing)算法是最为成熟、运用最广泛的Packing算法之一。在形态学上,箱型Packing是一种空间堆积型的分形,各个箱型单元之间以空间占用率最小化的原则进行堆积,并根据空间外部界限自动优化调整填充单元体的位置,使空间中尽可能多地容纳填充单元(图4)。Packing与分形迭代算法结合时,可以生成具有自我相似特征和层级特征的分形packing。例如,在箱型Packing算法中引入迭代机制,在第一次的Packing完成后,可以选取Packing结果中形成的部分箱子作为第二次迭代的边界,进行多层次的迭代运算,最终形成具有自我相似特征的Packing结果。

方形Packing产生的最终形态和某种适应性细分镶嵌类似,例如,多次迭代后的方形Packing的形态从外观上类似于适应性细分镶嵌(Adaptive Subdivision)(图5)。方形Packing与细分虽然外观相似,但在生成规则上却有本质的区别。镶嵌算法的单元体外边界必须连续无缝地填充满整个区域,单元体之间具有严格的连续性。Packing则不可避免地在空间区域中留有各种缝隙,空间单元体并非真正占据了空间中的每一个点。某些特殊类型的Packing也具有镶嵌的特征,但Packing在单元体的定义上比镶嵌更为宽泛,允许任何形态作为基本单元进行空间占用。

方形的各边与边界互相平行是保证空间占有率xx化的先决条件,但是如果允许方形进行旋转则可以产生丰富多样的箱型Packing结果。当空间xx占用率不作为限定因素时,Packing能够形成比镶嵌更为丰富的空间形态。如图6所示,方形区域的旋转形成了更为丰富的图底关系,这种Packing方式显然不是xx化的Packing方式,但为建筑实体与空间的设计提供了更为灵活的转化可能性。

方形Packing是在边界范围内的一种内向型的生长和空间压缩。由于Packing算法要求所有单体互相接触,且除了物体间自然形成的空隙外无多余浪费空间,符合物理上物体相互堆积叠放的原理,因而具有结构稳定性和空间经济性。分形Packing的计算结果可以作为空间布局的图解、建筑的表皮肌理或者结构形式在建筑设计中得到运用。Packing算法在城市设计中具有广泛的现实意义,因为在城市中建筑物的体型往往是被限制于规划条件中的,具有相对局限的空间发展区域,生长型的建筑设计也往往很难突破边界红线的限制。Packing算法以外部的空间界限为条件,进行空间的细分和占用,在有限的空间范围内放置数量尽可能多的空间单元体块,和城市限制条件中的建筑设计更为契合(图7)。

3 圆形Packing(Circle Packing)与分形

在几何学中,圆形Packing指的是用相同或不同半径的圆形相切并且无重叠地填充限定的区域范围(图8)。当圆的半径相同时,六边形方式的堆积所形成的填充密度xx,填充率为0.9069。在三维空间中,同样原理可以扩展为球形Packing(Sphere Packing)。

和分形的方形Packing 类似,圆形Packing的原则可以在不同层次上进行迭代运用,形成分形的圆形Packing。如图9所示,以圆形作为Packing的外边界,在第一层次的运算完成后,以局部某些圆形作为第二次运算的范围输入,进行相同原则的再一次迭代运算,直到达到预先设定的空间细分密度的阈值。

为了形成明显的主从关系和尺度并存关系,必须避免对所有圆形区域不分重点地进行迭代细分。在堆积算法中,每一个层次的边界范围不一定必须是圆形,可以采用不同边界类型(如多边形区域等),根据不同的密度需求进行迭代运算。通过不同的吸引方式(点吸引、场吸引等)也能够控制不同距离范围的圆形填充密度和相应半径,得到具有分形性质和不同区域特性的Packing结果。如图9所示,当吸引点位于圆形中心附近时,不断细分的圆形位于区域中心;反之,利用边界作为吸引要素时,细分的圆形集中于外围,与区域中心的大圆形成了尺度上的对比。除了利用场和区域细分方式控制圆形Packing的密度外,利用已有图像的灰度值直接转换为圆形半径,能够更为直观地控制圆形Packing的生成效果,这为建筑表皮肌理和装饰等方面的运用提供了更多的操作方式(图10)。

4 Packing的建筑运用

从抽象的几何图形Packing算法到建筑空间和形态设计,需要进行相应的转化操作。无论是何种形态的Packing,单元体都可以作为各种尺度的建筑元素进行运用。二维的Packing图形需要扩展成三维化的建筑空间、构件、表皮、建筑结构等建筑语汇。

从二维的圆形Packing 拓展到三维的圆形Packing有多种不同的方式,如空间拉伸(Extrude)、曲面映射(Surface Projection)等。如图11所示,可以将圆形Packing的二维圆形根据与吸引点的不同距离拉伸相应的高度,得出三维空间实体。

2013年“数字渗透”数字建筑展展场设计(王振飞设计)运用的是二维的圆形Packing算法,在751-C2大罐的圆柱形空间中利用圆形Packing形成的天花为不同的展示区域进行了空间区域限定,从地面分布、站台设计、天花吊顶到灯饰都是圆形Packing的变体,创造了统一又富于变化的展厅空间(图12)。

同样利用圆形Packing作为平面空间的围合元素,图13所示案例将圆形Packing图形映射到空间中的不同曲面上,形成不同拉伸高度的圆周,作为庭院空间和建筑空间的限定要素。

除了作为水平平面(曲面)的图解外,Packing还可以作为垂直立面的生成图解。图14所示案例根据空间中的功能关系和人流活动的需求,将空间高度需求、视线需求等数据转化为立面上圆形Packing的相应拉伸高度,形成具有不同深度的建筑表皮和半围合构架。不同大小和深度的圆形构件堆积,形成了多样的空间围合和视觉穿透性,也造成了丰富的光影变化,利用分形尺度变化的原则在近人距离上形成了建筑空间与人类活动的对话。

Future System设计的伯明翰百货公司(SelfridgesDepartment Store)(图15)由碟形单元根据全等圆形Packing原则连续覆盖了建筑的自由曲面形体。在这个案例中,作为外表皮装饰构件的所有圆形的大小都是一样的。BIG建筑事务所设计的上海“人”字形大厦概念方案的外表皮则是不全等二维圆形Packing的结果。在“人”字形大厦中,Packing作为建筑元素具有双重作用:大小不等的圆形在建筑的边界内堆积分布,既形成建筑外表皮,同时也成为建筑的外层结构框架(图16)。

由于圆形Packing中所有的圆形相切且互相挤压,因此二维圆形Packing和球形Packing都具有结构稳定性,可以直接构成空间结构框架。如图17所示,ETH Zurich学生设计并建造的空间装置使用了圆形Packing算法,由409个卡纸切出的环形单元构件根据二维圆形Packing原理互相支撑,构成了多孔的空间结构。运用类似的原理,装置艺术家豪尔赫帕尔多的雕塑作品利用三维球形Packing算法将空间中的每个圆球由不同长度的线牵引到墙上的一个支点,圆球利用重力和相互之间的挤压形成了一个稳定的空间曲面(图18)。

在上述案例中,圆形Packing实际上大多是2.5维的,即是二维图形在空间中拉伸或映射不同高度后得到的结果,圆形仍然作为显性的元素被直接运用到了单元体的构成中。在分形Packing算法基础上可以延伸出一系列不同类型的算法和形态结果,例如,利用圆的切线等其他控制元素可以在圆形Packing的基础上创造出更多运用的可能。如图19所示,分形圆形Packing的切线在形态上类似于分支系统。取不同迭代层次圆形Packing后的所有圆外切线相互连接,可以得到分形分支树。随着迭代次数的增加,分支树的区域密度逐渐增大,产生类似于二维嵌套泰森多边形的分形图案。圆形Packing在这个分支图案中作为隐性的控制元素而存在,最终形态从外观上已经无法直接辨识圆形Packing规则的存在,进而创造了另一个层次的复杂性。

5 结 语

Packing算法是典型的计算机图形求解NP 难度问题,有遗传算法、粒子群算法、分支界限算法等多种方式,通常通过C语言等编程语言实现。随着参数化设计工具的迅速发展,多种类型的二维圆形Packing、箱型Packing、球形Packing等形态求解在Grasshopper 3d等常用三维图形化编程软件中可以快速实现,为Packing算法的建筑学运用提供了更为直观的生成工具。在Packing算法基础上的进一步参数化变异可以产生丰富的形态设计结果,因此Packing算法在建筑设计中的运用潜力仍有待进一步的挖掘。

注释:

①圆形Packing 在数学上是折纸算法(Origami)的理论基础。

参考文献:

[1]Alexander Schiftner, Mathias Hobinger, Johannes Wallner. Packing circles and spheres on surfaces[EB/OL](2012-06-20)[2014-11-01].www.geometrie.tugraz.at/wallner/packing.pdf

[2]何琨, 黄文奇, 金燕. 基于动作空间求解二维矩形Packing问题的高效算法[J]. 软件学报, 2012(05): 1037-1044.

[3]张德富, 韩水华, 叶卫国. 求解矩形Packing问题的砌墙式启发式算法[J]. 计算机学报, 2008(03): 510-515.

[4]康雁, 黄文奇. 求解圆形Packing问题的一个启发式算法[J]. 计算机研究与发展, 2002(04): 410-414.

作者简介:

林秋达:清华大学建筑学院,博士研究生,Qiuda.lin@gmail.com

(更多图片及文章详情,请关注《西部人居环境学刊》2014年第6期杂志,或登陆我们的官网www.hsfwest.com 查询下载。)


感谢您关注《西部人居环境学刊》微信平台:

搜索微信号:hsfwest

查找公众号:西部人居环境学刊

杂志官网:www.hsfwest.com

新浪微博 :@西部人居环境学刊

邮箱:hsfwest@126.com

联系电话:(023)65122667




技术支持:免费b2b网站   [免责申明]   [举报]    立即注册发布信息