王 江,范 伟,郭道夷,杨 阳,赵继龙,董廷路
(1.山东建筑大学 建筑城规学院,山东 济南 250101;2.山东省绿色建筑协同创新中心,山东 济南 250101;3.同济大学建筑设计研究院(集团)有限公司,上海 200092;4.上海栖舍建筑设计事务所有限公司,上海 201800)
我国传统住区本质上是一种经长期多阶段衍生而形成的自组织形态,空间要素在特定规则约束下自发形成一定的秩序.然而,常规的住区设计模式却是基于“蓝图式”、单步骤展开,多强调对单一结果进行自上而下的控制.如何以自上而下的整体设计方法,有效“复制”传统住区的空间形态,一直是困扰建筑师的经典难题.传统住区具有统一、多变的风貌特征,其住宅建筑具有体小、量大的特点,居民的个体化需求和建设参与权是空间衍生的动力.在“大型化、批量化”的建筑工业化时代,很多杰出的建筑师试图从这种“传统智慧”中汲取灵感,对住区或住宅设计开展有益的探索[1].例如,Walter Gropius在德国特尔顿进行的住宅开发实验(1926—1928)中,设计了由3种类型组成的316套住宅;Le Corbusier在法国佩萨克建立的多米诺住宅体系(1926—1929)中,设计了由4种类型组成的200套住宅,每种类型基于不同的室内空间可再次细分;Frank Lloyd Wright在美国设计的47栋传统郊区住宅(1946—1954)中,清晰地阐述了其“住宅随居民不同而不同”的主张;Balkrishna Doshi在印度印多尔的阿兰若项目(1981—1986)中,对其中80套住宅进行示范设计与建造,定义了三种核心住宅类型与一套详细的自助建造规则表[2];Alvaro Siza在葡萄牙的马拉盖拉项目(1977—至今)中,设计了超过35种不同类型的住宅,涵盖了从一居室至五居室[3];Alejandro Aravena在智利金塔蒙罗伊住宅(2004)中,设计了100套由“半成品房子”组成的增量住宅.
以上案例具有四个共同点:其一,设计任务均指向一定数量、具有可承担性的工业化住宅,在面向中低收入群体的住区设计中大规模重复使用;其二,对基础设施和核心住宅进行统一建造,并为居民预留自助建造空间且尽可能降低成本;其三,由于设计结合了居民需求,住宅被注入定向生长的动力,呈现出时空衍生的多元特征;其四,它们是耦合统一建造与自助建造的上佳样本,其中隐藏的衍生规则具有很好的应用潜力.需要指明的是,这些案例均采用常规的设计方法——先根据具体的实际要求形成想法,再设计初步方案草图和蓝图,最后借由工具实现设计结果.这种经由“想法提出—蓝图设计—工具实现”的设计流程,往往以单一状态的形式或模式呈现出最后的设计结果,却难以在有限的设计周期内产生预定义、分阶段的多种设计成果.在应对住区设计中关联“空间与需求”的复杂性问题时,这种“蓝图式”的方法很难将全部规则传达至每一位居民;由于以上规则未能被明确地描述和归纳,其他建筑师难以打开“黑箱”,也很难能继续应用规则;尽管建筑师有能力同时完成多项住区设计任务,但是他们经常依赖标准化设计和经验主义,导致设计成果均质、单调且难以响应所有的空间需求.
基于以上背景,本文尝试利用“定义形式发生的语法规则”取代“定义全局控制的设计蓝图”,着重运用具有更高灵活性的多步骤生成设计方法,并为此定义了一种基于形状语法(Shape Grammar)的AutoCons可持续住区模型——AutoCons是自主(Autonomous)或自动(Automatic)建造(Construction)的缩写——是一个具有需求适应性、持续更新性及阶段可控性的专家模型.通过AutoCons模型的构建逻辑研究,以章丘岳滋新村为例,制定空间生成的语法规则,探索兼顾住区“统一性与多样性”的设计流程.
生成设计的哲学根基源于Gilles Deleuze的生成论思想.他针对工业社会普遍存在的“重复性与差异性”问题提出了创造非标准“可能性”的后现代思维模式,这种模式因为能够兼顾动态生成逻辑与多向交互过程,所以深刻影响了数字建筑设计的发展,促使建筑师更加关注于建筑设计的生成过程.Oxman归纳了五种数字设计模型[4],其中生成设计模型可通过元素或符号的定义并对其施以规则或运算符,进行自动或半自动运算,为复杂性设计任务提供更多具有灵活性的解决方案.Vishal和Ning比较了五种最主要的生成设计方法[5],其中,L系统(L-system)通过定义初始值,模拟具有自然植物特质的生长类模型,将转换为字符串的图形进行重写,通过递归规则“重新映射”出适当的形式,但用于模拟具有规则形体与分类图层特征的建筑模型时,表现出一定的局限性;元胞自动机(Cellular Automata)可将离散空间单元(建筑、场地、街区等)与元胞自动机的网格、单元、状态、领域、规则和时间等要素对应,通过局部运算模拟自组织空间的动态变化,但不易细化和修正规则;多智能体(Swarm Intelligence)一般通过并行计算系统涌现过程而获得设计雏形,与元胞自动机一样适用于行为驱动的设计过程;遗传算法(Genetic Algorithms)多用于设计优化,允许对设计空间进行无方向的随机探索;形状语法是以带符号的形状作为基本要素,使用语法规则进行分析并生成新形状,在设计的推理过程中,逐步将基本语汇重新编译形成完整独立的语法,更适于形式驱动的建筑风格和样式的设计过程.Kwiecinski等比较了分别利用遗传算法和形状语法建立的住宅设计系统:对于要素相对单一的住宅建筑而言,基于形状语法的生成设计系统运算效率更高[6].
形状语法是由加州大学洛杉矶分校的George Stiny和James Gips在1972年提出的[7],它脱胎于通讯科学的符号语言(Formal Language)理论,是由VT(形状的有限集合,Shapes)、VM(符号的有限集合,Symbols)、I(初始形状,Initial Shape)、R(规则的有限集合,Rules)共同构成的四元组(4-tuple)〈VT,VM,R,I〉.其中VT∩VM=Ø;R是一系列由u和v组成的规则集合,使得u是由VT中的形状和VM中的符号组成的标记形状集合;v是由u中的形状组成的衍生形状集合,或由u中的标记形状组成的衍生形状集合,或由u中的标记形状与附加形状组成的衍生形状集合;I同样是由VT中的形状和VM中的符号组成的标记形状[8].形状语法基于初始形状(I),按照规则(R)借由符号(VM)指引对各类形状(VT)进行编码,生成特定的形式语言.当其运用于模型构建时,描述方式和阅读视角的类型与数量取决于建筑师在设计调研时捕获的数据源、建模的目的性以及所期望的细节程度.
形状语法常用于描述和分析经典的历史性建筑语言,使用一组既有的设计作品作为语言或语法素材,推断出语法规则,在新设计的具体应用中测试语法构建的合理性.1978年,George Stiny和William J.Mitchell使用形状语法建立了适用于帕拉第奥别墅平面的语法规则,并将其转译为可用计算机程序生成的具体方法[9].后来,基于相近的目的,许多其它的语法被建构出来,侧重于探讨图形的二维及三维关系,它们的优势在于不仅可以生成不同类型的图形,还能定义与图形匹配的语义,为生成设计赋予特定的使用功能、服务对象与象征意义.
参照模块化程序设计的“三层架构”思想,AutoCons模型可按照交互界面层、业务逻辑层和数据访问层进行构建(图1),三层架构间通过数据的传递和返回进行联系,并通过数据库储存数据.这种分层建模的逻辑因为具有结构清晰、易维护、解耦、标准化、可重复使用和易扩展等优势,所以当三层中任意一层发生变更时,均不会影响其他两层的正常工作,有利于建模任务的同步进行,且容易适应设计任务变更的需求;此外,它能够高效地将建筑师、模型、甚至居民关联在一起,提升各方在交互过程中的满意度.
图1 AutoCons模型的三层架构图Fig.1 Three-layer composition diagram of AutoCons model
该层是AutoCons模型中唯一可见的部分,主要功能有两项:一是接收建筑师的指令,传达和反馈建筑师的需求,为建筑师提供一种交互式操作的界面;二是显示数据进而生成结果.为了提升模型使用的满意度,交互界面层在构建时应尽可能地使设计流程简化并易于导航.具体操作步骤包括:①建筑师输入基本信息,此时系统会自动识别并生成一系列与其需求最相近的可视化方案以供选择;②当建筑师发出不同指令时,界面上会同步显示建筑面积、功能组合和空间形式等信息;③若建筑师对推荐方案不满意,可继续发出指令对方案进行调整,直到满意为止.对具有编程语言知识的建筑师而言,为了便于他们修正规则和修改程序的约束条件,在构建AutoCons模型的过程中,一般会并行使用由高级脚本语言开发的程序和由低级编程语言开发的程序插件.例如,采用面向对象的计算机编程语言Python作为编码工具,并利用具有脚本编辑功能的软件插件输出,建筑师能够在开源环境下独立进行编码并转译图形逻辑,通过多次获取自动派生的可视化脚本,最终输出满足其需求的理想方案.
该层是AutoCons模型的中枢及联系各层数据处理和传递的桥梁,建筑师在界面层发出的指令信息在该层处理后发送至下一层的数据访问层;同时,这一层也是通过制定语法规则对相关数据进行封装保存和删除修正的地方,即“黑箱”.语法规则主要包括图形与代码的定义,图形定义是指借助形状语法,以二维或三维图形作为输入源,定义形式的初始及衍生规则,通过不同层级的图形生成,快速输出设计结果;代码定义是指基于数理逻辑,利用程序语言对图形定义中的规则进行转译,获得数字化软件可读取的代码[10].具体的操作步骤包括:①利用Rhino-Grasshoper、AutoCAD等软件插件将语法规则进行分类与编号;②根据建筑师的需求数据和形状约束规则对图形进行计算和加工,获得若干二维关系的衍生模型和规划布局结构;③根据水平和垂直方向衍生的阈值、日照和覆盖率等进行限制删减,生成三维关系的研究对象实例库和衍生数据集;④最终根据建筑师指令在脚本中进行调用,将生成结果反馈至交互界面层,实现可视化方案的输出.
该层主要管理数据,实现对数据的增添、删除、修改、查找等操作,一方面将交互界面层提交的建筑师指令和需求数据保存,另一方面将业务逻辑层请求的语法规则数据返回至业务逻辑层.其操作步骤主要包括:①数据输入——由初始数据输入、基地布局文件识别和基地布局初始化三个模块构成;②预定义——由建立坐标体系和预定义空间衍生数据两个模块构成;③语法规则——由具体使用功能的空间数据构成,包括研究对象实例库及衍生数据集;④数据输出——由输入总体约束、生成模型数据和模型数据输出三个模块构成,可输出dwg、dxf、scr等多种格式的文件,并反馈至交互界面层.
在以上提出的AutoCons模型中,业务逻辑层的构建是建筑师的主要工作,而其他两层一般是通过界面设计师、软件开发工程师等开发.为此,以下内容将结合岳滋新村的生成设计,重点讨论业务逻辑层的设计实现方法,并对其基本流程进行界定.一方面,结合具体的设计任务,制定宅基地布局及核心住宅的语法规则;基于岳滋村的详细调研,剖析传统住区中与居民生活、生产等需求密切相关的自助建造行为及其典型空间特征,结合居民的个体化需求,为居民参与的定制空间制定语法规则.为了使以上两种语法规则良好衔接,首先应对AutoCons模型的基本模数、规划空间、定制空间、约束条件等进行预定义;而后,为宅基地内住宅衍生的可能性制定语法规则,主要包括规划空间中的核心住宅与其定制空间.
4.1.1 基本模数
根据住宅建筑设计的基本原理,选取较为经济的房间面宽尺寸:卧室3.0 m、厨房1.5 m、卫生间1.5 m、起居室4.0 m、室内楼梯2.0 m等;将1.5 m作为住宅平面的基本模数,在预定义的坐标体系中对应为1个坐标单位.
4.1.2 规划空间
规划空间通过统一建造完成,可保障住区的空间统一性和功能高效性.其设计内容主要包括宅基地的形态特征、规划总平面、路网系统、水电暖等基础服务设施、经济技术指标等,以及核心住宅的初始设计及其与宅基地的相对位置关系.宅基地在东-西向与南-北向进行排列时,其组合数量分别控制为2、2(或3);每个宅基地的长边和短边应分别与另一个宅基地的长边与短边重合;组团之间通过4.5 m宽的道路相连.在核心住宅的可能性设计、宅基地的最适宜比例、定制空间的多阶段衍生等研究中,经过多轮草图比较后,确定了以1.5 m为模数的宅基地网格系统;含有2间卧室、适合三口之家居住的核心住宅形式,其平面比例为4∶4(6∶6 m),面积为每层36 m2;宅基地的平面比例被确定为7∶10(10.5∶15 m),其面积是157.5 m2.
4.1.3 定制空间
定制空间通过自助建造完成,可满足居民的需求异质性和建设参与性.它在构造上属于轻质、可变、易于与核心住宅进行连接与拆解,其功能根据居民入住后可能出现的居住、生产、租住和商业等需求进行定义.所有的定制空间均要以各自的核心住宅为基准点,且应遵循以下三个原则:充分利用各自的宅基地空间,以确保高效性;通过建筑密度等指标对住区建设强度进行监控,以确保约束性;遵守日照标准等约束条件减少对邻域的影响,以确保公平性.此外,核心住宅与定制空间在组合时应尽可能地按照“L”或“U”形进行布局.
4.1.4 约束条件
核心住宅应至少保证有1个居住房间达到大寒日两小时的日照标准,但仅适用于两种情况:(1)在确定核心住宅位置时,南侧宅基地的核心住宅不能遮挡北侧核心住宅的南向房间.(2)该核心住宅的定制空间在衍生初期,南侧宅基地的定制空间不能遮挡北侧的核心住宅;这里存在一种特殊情况,如果同一个宅基地内的定制空间遮挡了自己的核心住宅,那么其南侧宅基地的定制空间对北侧宅基地的核心住宅的影响可以忽略.
4.2.1 图形定义
制定语法规则的首要操作即针对岳滋新村的设计要求进行图形定义.按照形状语法的构成四元组,AutoCons模型的语法四元组定义如下:VT是指核心住宅与定制空间的所有衍生形状,VM是指定制空间衍生时用于标记规则触发点的符号,I是指核心住宅在衍生前的初始形状,R是指各类型空间的具体衍生规则.大多数的衍生规则在应用描述时只需要使用“形状a衍生出形状b”表示,这类规则仅对局部性设计产生影响,它们会在衍生过程中依据特定状态在符号标记处被触发.核心住宅的定位是制定语法规则的起点,而随后出现的定制空间在衍生过程中不断受到其核心住宅的约束.一旦核心住宅的位置被固定,触发点会先根据定制空间的横向衍生情况发生位移;当横向衍生结束后,触发点的位置随即改变,以激活定制空间的纵向衍生.如图2所示,R1.1-1.4描述了核心住宅在宅基地内的相对位置关系;R2.1-2.2描述了核心住宅定位后定制空间沿横向衍生的规则;R3.1.1-3.2.3描述了定制空间沿纵向衍生的规则;R4.1-4.5描述了定制空间沿纵向衍生时不与核心住宅连接的规则.
图2 AutoCons模型的语法四元组Fig.2 Grammar quadruple of AutoCons model
在AutoCons模型的语法树形图中(图3),阶段1-4综合表示了核心住宅与定制空间的衍生次序.字母A-D表示定制空间的形态类型,数字1-4表示同一种形态类型的不同布局形式.阶段1表示核心住宅在宅基地内可能存在的位置关系;阶段2表示定制空间沿横向衍生的情况,尽可能地延长核心住宅的南向展开立面;阶段3表示定制空间沿纵向相邻衍生的情况;阶段4表示定制空间沿纵向分离衍生的情况.通过图4的三维图形定义可以清晰表达出核心住宅和定制空间的相互关系.如图4(1)所示,核心住宅与宅基地的相对位置关系被定义为A1、A2、A3、A4四种基本情况:当相邻宅基地组合时,其东(或西)边界可以重合,而北(或南)边界若不重合,两者之间的距离应≥2个坐标单位(两者北边界重合时除外),即A1模式中仅有前院,而A2、A3、A4模式中可同时有前院和后院.如图4(2)所示,定制空间向北纵向衍生时可以占满北侧整个面宽;向南纵向衍生时,为满足南侧房间采光应避免南侧整个面宽被占满.定制空间基于其与核心住宅的相对位置可分为B、C、D三种情况,根据其形态、数量与位置又可进一步分为更多情况,如图4(3)~(5)所示,对B、C两种情况举例示意.这些情况尽可能地与居民的居住、生产、租住和商业等需求相匹配.
图3 AutoCons模型的语法树形图Fig.3 The grammar tree of AutoCons model
图4 AutoCons模型的三维图形定义Fig.4 3D graph definition of AutoCons model
4.2.2 代码定义
图形定义完成后,按照数理逻辑对其衍生规则进行转译.使用Python编码时应用到的相关函数主要包括:函数UnifiedCons(plot,location,area)将使用宅基地、核心住宅的位置及其面积等参数作为输入值,模拟阶段1和2;函数SelfCons(plot,constraints)将使用宅基地及建筑密度等参数作为输入值,模拟阶段3和4;函数SelfCons(plot,constraints)可进一步分解为Extending(directions)等子函数,它能够根据给定的方向和位置执行自助定制,并检查Consistency(constraints).根据AutoCons模型的数据访问层构建要求,将代码定义的实现方式按照以下步骤执行:
(1)数据输入:初始数据输入——读取预设的建筑密度及宅基地布局的txt文件路径参数;基地布局文件识别——在对参数有效性验证后对宅基地布局文件内容进行读取并解析,识别出宅基地的初始坐标列表;新村基地布局初始化——进行宅基地对象的初始化.
(2)预定义的编译:建立空间坐标值——基于宅基地对象文件与基本模数,定义衍生参照坐标体系;生成规划空间衍生数据——根据定义的宅基地位置关系衍生出规划空间的对象实例.
(3)语法规则的编译:生成核心住宅衍生对象实例;生成定制空间沿横向衍生的对象实例;生成定制空间沿纵向衍生的对象实例;生成定制空间按分离衍生的对象实例.以上规则依次执行,最终控制整体的定制空间.
(4)数据输出:输入总体约束——将规划空间与定制空间的对象实例列表,根据输入的建筑密度参数进行限制、删减,保证实际的建筑密度不超标;生成模型数据——读取删减后的两类空间实例矢量数据,依据AutoCAD软件支持的数据方式对该矢量数据进行解析并生成模型,便于在AutoCAD中可视化;模型数据输出——输出CAD模型脚本scr格式文件.
利用Python根据上述步骤完成语法规则的编码后,获得AutoCons模型的脚本程序.
4.3.1 初步设计
首先,对宅基地的初始坐标(x,y)定义,获得txt格式的宅基地布局文件;其次,在与AutoCons模型程序“CA-global ratio”同级的目录下,新建schemes目录;其三,运行 AutoCons模型程序,在schemes文件夹中得到0.4.scr/0.5.scr/0.6.scr/0.7.scr四个文件,这是基于预设的建筑密度生成的规划空间及定制空间衍生结果;其四,在AutoCAD软件中继续加载上一步生成的文件,对衍生结果进行可视化输出,并对完善后续模型进行下一步操作.
4.3.2 深化设计
将具有二维空间属性的建筑密度,视为衍生过程中进行阶段性控制的关键数据.通过修改AutoCons模型脚本程序中的建筑密度参数,获得不同建筑密度指标下的阶段性住区形态结果(图5).在初始阶段中,从宅基地和核心住宅的衍生结果中随机抽取一个,实现核心住宅的规划生成,该状态的建筑密度为22.9%,容积率0.5,说明其状态较为松散;在生长阶段中,当定制空间集中于核心住宅西(或东)侧时,宅基地的建筑密度和容积率分别上升至37.7%和0.7;而后定制空间随机发生,按照之前定义的语法规则,每一个宅基地中逐渐生成“L”或“U”形的住宅布局,建筑密度达到50%.在饱和状态中,建筑密度增至62.4%,居民的基本需求接近于满足,定制空间的衍生几乎停止.最后,将随机生成的结果导入实际地形,完成住区的生成设计.
图5 单步骤实现的常规设计结果与多步骤实现的生成设计结果比较Fig.5 Comparison of the results between the conventional design of single step implementation and the generative design of multi-step implementation
在AutoCons可持续住区模型中,探索了基于形状语法、可耦合统一建造的规划空间与自助建造的定制空间的设计实现方法,建立了由“预定义—制定语法规则—可视化衍生”等多步骤组成的设计流程,结合章丘岳滋新村的生成设计,验证了该模型的专家模型特征,在需求适应、持续更新及阶段可控等方面具有一定的优势.主要结论如下:
(1)从需求适应的角度来看,形状语法既能够作为一种关联“空间与需求”的生成设计方法,将需求数据与语法规则匹配,基于图形的可视化衍生使规则简明、易懂,也便于建筑师同时开展规则驱动的手动和自动运算,快速生成满足其需求的理想方案;
(2)从持续更新的角度来看,AutoCons模型可对语法规则进行图形及代码定义,使建筑师能够根据需求补充约束条件与更新语法规则,通过实时获取可视化的结果反馈,不断地对模型进行调整和优化,提升生成结果的准确性;
(3)从阶段可控的角度来看,基于“规则”、由多步骤建立的设计流程更易于通过建筑密度、容积率等指标实现对整体空间形态衍生过程的分阶段控制,其生成设计结果具有明显的“统一性与多样性”,因此优于基于“蓝图”、单步骤实现的常规设计结果.