![]() ![]() ![]() |
![]() |
首页 | Master | 作品 | 招聘 | 招标 | 动态 | 热帖 | 杂志 | 帮助 | 搜索 | 注册 | 登录 | Blog 积分 简历 |
» ABBS 论坛 » 纯粹建筑论坛
» 信息
动态 | 热帖 | 招聘 | 杂志 |
|
![]() |
![]() ![]() ![]() |
算法建筑与参数化设计实践 - Algorithmic and Parametric Design [精华] |
popabczhang
![]() 发贴: 60 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 数字化设计 = 算法设计 + 参数化设计 + ... DIGITAL DESIGN = Algorithmic Design + Parametric Design + ... /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 数字化设计是一个宽泛的概念,只要设计或施工过程中运用了数字化工具,如AutoCAD。但数字化设计可以被运用在设计的各个阶段和各个层面,其中算法设计(Algorithmic Design)和参数化设计(Parametric Design)则较为本质。 参数化设计是指使用特定的编程软件在设计各阶段根据建筑设计意图,构建由多参数控制的数学或几何关系流程。它使设计得以通过完全理性的方式被描述,同时通过修改程式各环节的参数得到成百上千的对比方案并从中作出最优化的选择。参数化设计经常被运用在建筑找形(Form-finding)、复杂立面构造以及结构和建筑物理分析中。 算法设计则更为本质,它是指在概念设计阶段,应用特定的数学、生物学、经济学等领域中基于新科学的算法,解决建筑功能、行为、空间尺度等问题(或其一)。一般算法设计需借助计算机编程语言(Scripting)来实现逻辑演算,并把结果几何描述为建筑形体。往往随后的过程属于参数化设计。 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 分享与学习 SHARING /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 我发这个帖子的主要目的是提供一些我对数字化设计的探索、思考与实践,包括我在工作中的实际项目与学习中的研究项目(不断更新)。我会尽可能的分享源代码,希望有兴趣的朋友们能有机会对此有进一步的认知,从而尝试自己的想法。也欢迎朋友们给我email交流这方面的心得。不过需要申明:本人保留一些我所分享的资源的权利,仅供学习交流而非商业目的使用。 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 项目实践 PROJECT /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 1. 以色列伯沙勒尔美术馆设计 ![]() Link: Perspective Plan and Analysis Link: Video - 080610_Israel_final 本科学习阶段的毕业设计,题目是已经结束的同名国际竞赛,教学以数字化建筑设计为主题。非线性的执行过程设计方法——如何通过脚本的编写解决200多个关系复杂的房间的功能排布问题,以及首次用参数化设计得到形体的尝试。 具体内容贴链接: Link: 以色列伯沙勒尔艺术学校数字化建筑设计 2. 上海东方体育中心 ![]() ![]() (具体内容链接日后随即附上) 3. 迪拜国际竞赛 ![]() (具体内容链接日后随即附上) 4. 浦江D地块详规及建筑单体设计 ![]() (具体内容链接日后随即附上) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 信息、出版与联系方式 INFORMATION, PUBLISH AND CONTACT /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 信息 - info. : 2010年10月,第三届国际数字化建筑峰会将于同济大学建筑系召开 出版 - publish: 《时代建筑 T + A 》 刊登上海东方体育中心(Shanghai Oriental Sports Center)项目专题介绍。其中有关该项目参数化设计介绍节选: Link: T+A 撰文 上海东方体育中心 参数化设计 联系方式 - contact: name: Zhang yan - 张砚 email: popabczhang@gmail.com blog: http://popabczhang.blogspot.com/ ALL RIGHTS RESERVED
popabczhang edited on 2009-11-03 16:28
|
popabczhang
![]() 发贴: 60 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 《时代建筑 T + A 》 刊登上海东方体育中心(Shanghai Oriental Sports Center)项目专题介绍。其中有关该项目参数化设计介绍节选: 上海东方体育中心设计在实际工程中的参数化设计方面的探索和运用取得了显著的成效。 Remarkable results have been achieved on Shanghai Oriental Sports Center Project in exploration and application of parametric design. 参数化设计是指使用特定的编程软件在设计各阶段根据设计意图,构建由多参数控制的数学或几何关系流程。将这种崭新的技术和设计方法运用在建筑设计中优势非常明显,它使设计得以通过完全理性的方式被描述,同时通过修改程式各环节的参数生成成百上千的对比方案并从中作出最优化的选择。 Parametric design can be defined as building a mathematical or geometrical relationship flow by specific scripting software, which is controlled by multi-parameters according the design purpose. This new technology and design method brings considerable advantages for architecture design. It makes the design progress fully logically described. By varying the parameter at any section of the relationship flow, thousands of alternative options are generated for filtering the most optimized. 方案设计阶段,概念往往更为感性、抽象,此时需要较为模糊和富有冗余度的方法来控制(图1)。 In the concept design, the design idea is usually more perceptual and abstract. So a vaguer control method is needed at this stage (1). 随着方案的深入和优化,寻找理性的设计依据是必需的。例如三个体育场馆屋面的找形过程中,决定形体外表面皆为标准几何体(如球体或圆环体)的一部分,以保证几何可描述性,从而保证日后施工的易操作性与经济性(图2、3)。同时,每个场馆的屋顶都是由若干个连续变化的桁架组成,因此需要精确、高效地通过空间轴线得到一系列关键控制点、通过控制点得到几何体、并通过布尔运算得出所需形体(图4)。又例如,在大跨度钢结构设计上,参数化设计提供了这样的可能性——形体在连续的变化中找到同时满足建筑效果与结构需求的平衡点。 With in-depth and optimization program, to find a rational design basis is necessary. For example, In the process of form-finding of three stadium-roofs, all surfaces are decided to be a part of standard geometric solids (e.g. spheres or rings), to ensure the geo-describablity and the ease and economy for future construction (2, 3). Simultaneously, the roofs are composed by a series of consecutive changing trusses. So, an accurate and efficient method is necessary to operate space curved axis, therefore key-points, therefore geometric solids, and finally booleaned forms (4). As another example, for large-span steel structure design, parametric design offers the possibility, the balance point between architectural effect and structural requirement could be reached while the form is continuous changing. 深入到施工图与幕墙招标图阶段的很多方面,承包商会根据其加工工艺、经济性及制图难度提出要求和建议方案。在传统设计过程中,由于技术上的局限性,建筑师往往难以完全控制,而参数化设计的介入帮助建筑师在满足各项条件的同时,借助细部节点修改应用于全局的方法,控制和验证建筑效果(图5-7)。值得一提的是与施工单位的接口,为保证几何形体及数据转换的准确性,信息模型必须通过实体模型(Solid或NURBS)而非三角形网格的方式导入施工单位软件平台,并控制误差范围。 In the Construction Design and Façade Tendering stage, the contractors will make their requirements based on their own manufacture difficulty and economy. In the traditional design process, due to technical limitations, the architect was not always able to control completely, but now we ourselves can control and verify the architectural effect in both detailed and overall sight with the help of parametric method (5-7). It is worth mentioning the interface with the constructors, in order to ensure geometry conversed precisely, none Mesh but Solid or NURBS 3D-model should be import to their software platform, and of course, the tolerance should be limited. 作为国内领先运用参数化设计的重大公共建筑项目的设计单位,为该领域的发展开启了思路,也积累了宝贵经验。 As the designer of the first major public architecture project in China with full use of parametric design, not only enlightens the mind but also accumulates valuable experience in this field. 图释: Pictures: 1 方案阶段的模糊控制Vaguer control in concept design ![]() 2 构建几何关系流程 Build geometrical relationship flow ![]() 3标准几何体布尔运算 Boolean of standard geometric solids ![]() 4 轴线、关键点及形体的连续控制Consecutive control of axis, key-points and final form ![]() 5 立面分缝设计 Cladding division design ![]() 6 幕墙实样 Façade mockup ![]() 7 柱脚节点 Foot-point detail ![]() Link: PDF文件下载 -- Zhang yan ALL RIGHTS RESERVED
popabczhang edited on 2009-11-02 11:04
![]() |
kebilaozi
![]() ![]() ![]() ![]() 发贴: 412 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 恶心
kebilaozi edited on 2009-11-02 08:43
|
tongjiawei1987
![]() 发贴: 13 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 你的参数设计还是很简单的。设计满成熟。不过不知有多少是导师的成分。鼓励一下吧。。 |
popabczhang
![]() 发贴: 60 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() tongjiawei1987 wrote: 实在是不好意思,关键的脚本和设计原理还没来得及放上来,不过我会抓紧,敬请期待咯。 |
xjh
![]() ![]() 发贴: 132 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 不错。期待中。。。 |
33%的碎瓷
![]() ![]() ![]() ![]() ![]() 发贴: 922 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() kebilaozi wrote: 酱紫封建卫道士般滴恐惧偶也有滴 但要么你就学了它的本事再来革了它滴命 要么你就痛痛快快滴专心研究自己滴方盒子如何克服地心引力 别跟这放那些假大空滴形容词,人家看了不高兴的 当人家用计算机花了三个月画了你用手花三辈子也画不出来的图并且把房子踏踏实实建在那儿滴时候 也是我们这些老腐朽们该好好聆听反省滴时候了 |
chenjingfus
![]() ![]() ![]() ![]() 发贴: 771 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 这东西大多都是些学生在瞎搞吧? |
Zimmer107
![]() 发贴: 26 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 很早就关注这个项目, 好奇问问LZ, 上海那边用REVIT吗?这个项目施工图要用什么绘制啊? |
istds
![]() ![]() 发贴: 184 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 加点冷水 有没有人能真正解释(清楚)一下参数化设计? 包括为什么要参数化设计?目的是什么? 参数化设计是手法还是世界观? 是个艰涩难懂的时髦玩意(就像十几年前的解构主义) 还是未来建筑的方向,或者是乌托邦的未来主义的一种新的回潮? 现在80后90后的后生可畏 但不要亦步亦趋学些皮毛 谁独立思考过 多讨论些理论 少些“实例” ... |
istds
![]() ![]() 发贴: 184 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 别拿扎姑的实践和她副手舒马赫的理论吓唬我 扎姑至今还是在建筑形式里打转转 结构形式和建筑细节一点没有创新 或者可以说非常笨拙 |
Zimmer107
![]() 发贴: 26 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 这个也是中国建筑很可悲的地方,发展过程中自己的文化和价值观没有起到什么决定性的作用,当然了,也不一定是坏事。现在的潮流至少过二十年才能正确评价,先试试也无妨,反正在中国拆房子比建房子容易, LOL! |
MoMAfresh25
![]() ![]() 发贴: 150 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Post is deleted
MoMAfresh25 edited on 2009-11-04 15:28
|
popabczhang
![]() 发贴: 60 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 以色列伯沙勒尔艺术学校数字化建筑设计 该设计是本人与另一位同学小组合作在同济大学本科学习阶段的毕业设计,题目是已经结束的同名国际竞赛,教学以数字化建筑设计为主题。以此项目为题是由于功能要求有一定的复杂性,还有丰富的文化、城市关系等影响因素。设计获得了该届的优秀毕业设计。 在此感谢我想感谢一下我的毕业设计导师,他是同济在数字化设计方向研究、教学多年的石永良教授,对此项事业的深刻思考、全心投入与对学生的无私授教让我终身受益。 此方案值得拿出来和大家分享的是,非线性的执行过程设计方法——如何通过脚本的编写解决200多个关系复杂的房间的功能排布问题,以及首次用参数化设计得到形体的尝试。当然当时由于时间关系和编程能力有限,很多方面的控制不够全面,概念设计也不设计太多的构造与细部节点。 感兴趣的朋友请耐心查阅详细介绍,并提出宝贵意见,谢谢。 透视、平立剖及分析图幻灯: ![]() Link: Perspective Plan and Analysis 汇报视频: Link: Video - 080610_Israel_final 项目概况 以色列伯沙勒尔艺术与设计专科学院的迁建项目,总面积为2万平方米左右,位于耶路撒冷市中心,基地被西南侧主教堂的轴线视觉通廊从地面以上分割为东南、西北两块,共同形成向东北旧城俯视开放的广场空间,东北角为唯一机动车行入口。 ![]() 概念 通过任务书,可以得出基地分割的大体策略和形态。狭小的基地与许多错综复杂的用房要求构成伯沙勒尔艺术校院建设条件的特点,于是将方案设计的概念定位于对耶路撒冷更替式积淀的悠久历史和艺术学院多样性交融的开放空间的异质同构认同方面,通过昭示两者内在的复杂关联本质来反映以色列的文化特质。基于这样的认识以及对复杂系统观和设计数字化的认知,从如何建立200多个功能各异又各自关联的房间之间联系这样一种个体性问题群开始入手。 200多个房间也许并没有超出人脑的思维极限,但已经需要借助一些经典的线性归纳、分类方法来使空间的排布适应需求,这一点,从任务书详尽的分类顺序和要求罗列就可以看出。而对计算机而言,只要计算方法合理,在明确定义房间各种属性的前提下,2个房间与2000个房间的排布是一样的。在这样的设计概念之下,不会直接追求塑造建筑空间形态的结果,而是期待通过数字技术解决建筑功能空间问题优化的可能,也就是将对方案的设计,转变为执行计算解答过程的设计。 分析 既然将众多功能不同、大小各异、要求多样的空间建立联系作为方案主要的设计任务,那么分析研究这些空间的属性是非常必要的。通过计算去满足这些功能细分的专用房间及其外部要求,首先要做的,是将每个房间的自身要求用数字化方式描述,以参数的形式作为将来计算模型的部分初始值。在功能空间的关系方面,当把以系部进行归类的空间围成一圈并将各部分关联表达出来,看上去是一个相对简单的线性关系,但不能反映任务要求;然后将学院所有的房间围成一圈并按要求连接各自的关联,这时发现房间之间的关系是相当的复杂,加之需要同时考虑房间的类型性和联系的重要度,则呈现出典型的非线性问题,传统线性设计方法难以应对。而用数字化手段的解决方法是,把每个联系都按要求计权编码后以数组方式描述,让计算机同时考虑,或者说认读处理。因此,在房间的关联信息采集和分析中,就得把错综复杂的要求转译成平等的代码表述,这种均质化处理符合计算要求,从而获得考虑和满足所有联系的方案之前提。 ![]() 作为艺术学院中非常灵活的空间——各种展廊,从技术角度很难将其属性进行代码的平等转译, 于是把它们与走道、过厅一起视作以太空间,作为空间的冗余度,留待将来通过干预进行灵活调整,以加大各系部、楼层之间的交流,丰富空间形态。这个策略可以规避编程中比较棘手的计算量问题,即走道的走向、宽度等大量参数控制。 模型 运用怎样的数字化手段完成该目标,并且搭建能够将结果反映成为空间形态这样一些种技术模型成为关键。Flash是一个优秀的动画、网页和平面设计软件,与此同时,它还包含了一个非常强大的脚本编辑器——Action Script 2.0。这个基于C++语言的脚本环境能做的远远不至制作两个按钮的链接那么简单,它能够编成制作各种自制软件,就运算能力而言,尽管有其自身的循环限制,且运算能力较于C++本身有所下降,但在可视化和图形处理方面的特点,仍然使其成为了编写这次设计程序的首选。事实上,通过Flash编写的自制软件ScriptArchi,能够满足设计需要的执行过程。 ![]() 编码 按不同的功能部分来摘录和简介程序的源代码。首先是初始条件数组的读取与转译代码,即把项目和基地条件进行数字化采集,将数据转换为程序可以操作的信息流的过程。也就是怎样把任务分析列表中提到的考虑因素作为图元属性进行数字化编码,并转译到scriptArchi中。以让执行程序认读进而排布出符合方案要求的关系方案。 第一步,将每个房间编上序号,并为每个房间创建数组(附录1)。除了属性,还需要做一张房间联系及其重要性列表,X轴Y轴都是房间名和序号,格(x,y)中的数字大小或者色块深浅代表这两个房间之间的联系的重要性。不难理解,每两个房间之间的联系的重要性是不同的,由此又得到有关房间联系度的两个数组(附录2)。 ![]() 为避免超出技术模型运算能力的情况出现,将基地不同层分成若干个区域,并对其进行编号,一方面使得房间不会出现在不合理的区域,提高随机方案的优化程度,另一方面留出共享空间、采光井、内院等编入程序中费时费力的元素。用房间可能出现的基地分块来转移这一信息,例如,有些区域没有采光或噪声影响,肯定不适合需要采光或要求安静的房间等等,让这类房间的“出现分块可能性”中不包括这些区域。以三种方式加入共享空间:基地分区的缝隙自然而然的形成共享空间;插入“共享空间”的特殊房间,亦可理解为负空间;判断上下楼层同时存在的非功能性空间,并按一定规则插入负空间。 ![]() 最后,再加上房间本身属性及联系度的考虑,我们得到了“房间出现分块可能性”数组roomPlace(附录3)。 算法 在完成初始条件分析及其代码编制后,进入了最重要的阶段——运算规则的设计。即把方案的设计,具体来说主要是空间关联的过程,运用以判断、循环计算为主的编程语言描述出来,以便执行运算法则。除了技术问题,更重要的是在意识层面上,需要始终坚持和贯彻一个具有延续性的总体法则。包括诸如可调的程序初始参数、可反复输入的项目基地条件、自适应的程序自优化机制等。 亦即,初始条件数组的读取与转译代码这一编程的核心部分。先把整理好的数组导入Flash,以字符串的形式(String)存入缓存,然后根据其事先固定的格式,搜索格式标签,分别提取代表不同对象的字符串,有时候这个过程有嵌套,再把不同对象的字符串转换成数字(Number)导入到重新编号的、可被序列名称表示的数组中,以实现运算部分的调用(Link: Flash源文件)。 接着是在脚本中运用变量参数,其中很多是在试运算中发现值的变化对结果影响巨大,为保持良好的延续性,所以将其作为可调参数放到界面上,以便即时进行调试比对: (1)maxRoomNum 最大房间数量。按任务书要求。 默认范围:默认值——1 ~ 105: 105 (1)maxRoomPuttingTryNum、maxArrangeTryNum 房间排布尝试数、方案排布尝试数。为了兼顾运算速度、循环限制和可能性搜索范围。 默认范围:默认值——100 ~ 1000: 777, 50 ~ 300: 2 (3)gridWidthOrHeight、randomDivideFactor 网格边长、随机采样点分隔密度。网格密度;控制随机可能性,从无极到可能性限制。 默认范围:默认值——4 ~ 10: 100, 1 ~ 100: 20 (4)maxSuccessNum、maxFailedNum 成功排布数;失败排布数。在多次无法成功排布后停止排布,并通知使用者调整参数。 默认范围:默认值——1 ~ 100: 2, 1 ~ 10: 2 (5)hitAreaR/roomR 冗余度。任务书中房间面积所指定的半径与碰撞测试半径之比。可调整方案的疏密、成功机率。 默认范围:默认值——0.5 ~ 0.9: 0.7 (6)dynamicRedundancyBoolean 是否进行动态冗余度调整。 默认范围:默认值——Selected = true (7)failedRRminus、successRRplus 动态冗余度调整增减值。 默认范围:默认值——0.03 ~ 0.2: 0.005, 0.03 ~ 0.2 & < failedRRminus:0.001 (8)totalScale 比例。单位像素代表的毫米数。 默认范围:默认值——200 (mm/pxl) (9)maxLevelNum 层数。根据任务书。 默认范围:默认值——1 ~ 5: 5 (10)linkFactorBetweenLevels 楼层间联系紧密度。控制不同楼层间联系的影响重要性程度。 默认范围:默认值——1 ~ 100 times: 50 检测 关系到空间排布生成部分的编程,主线为不断嵌套的循环和碰撞判断。可以这样理解:首先在任意不规则基地内放置一个房间元件,然后放置第二个,并判断第二个和第一个是否碰撞;如果形成碰撞,则重新放置,如果不碰撞,则继续放置第三个,并和前面任何一个进行碰撞测试。需要控制尝试放置的次数,否则可能造成死循环,其主线为不断嵌套的循环和碰撞判断。以次类推,直到所有房间元件放置成功,从而得到一个符合条件的关系方案(Link: Flash源文件)。 在编写程序的过程中,会遇到很多疑难问题需要攻克,比如规避死循环的产生、自适应优化等等。以下罗列几个比较典型、有意义的要点: (1)自由形基地 为了解决基地的自由形状的问题,以满足碰撞测试的要求,我利用了Flash中点的碰撞测试,在圆的周长上取均分的八个点,如果他们都能在基地内,基本保证了房间自身在基地内。自由形面积的计算,依赖于单元化的思想方法。我用一张密集的方格网和自由形作碰撞测试,然后,所有碰撞到的方格的面积和就是自由形的面积近似值。 (2)碰撞检测:半径法和八点法 除了上述的八点法,半径法是指两个房间的中心距离如果小于其半径和,说明碰撞。 (3)二维半:平面 由于Flash是平面软件,所以要让不同平面间高度上的联系描述成为可能,就得利用“二维半”的方法,即记录每个房间对应于其平面的相对坐标x、y值,其z值则通过其所在平面的高度转换得到。这个思维方式非常重要。 (4)分帧:绕开软件限制 由于Flash本身存在的单脚本循环限制,我不得不把每个(数个)房间的排布分派到不同的帧。以绕开软件限制。此做法为大量房间的排布成为可能。 (5)动态冗余度:自学习 每经过一定量方案的成功或失败排布,程序会自动增减冗余度,以得到最有最紧密的方案,此过程也是一简单的自学习过程。 (6)过大房间的拆分 由于基地分块,抽象成圆形的大房间已经不能再放进基地分块,于是,要把一定面积以上的大房间分为若干个面积和不变、互相交叠联系的小房间。也就是生成了自由形房间。 排布完成后,需要对其进行检验,循环累加有关系的俩两房间的连线距离值,并显示其不同的重要性。还要把每个房间的绝对坐标、相对坐标等属性记录为文本文档。 运算 在全面运算之前,需要设计这些关系方案的图形数字化描述与存储。为了方便记录和存储,每个房间都被转换成一个带有所有信息的数组,同样,每两个房间的关系也是如此。然后以sol文本文档的格式存储在硬盘上,由此获得了一个关系方案的存储数据(附录6)。 为了能够实现用均质化的扁平模型解决本次建筑设计中的非线性问题,解决方法是在大量的可描述并符合条件的样本海中,比对筛选出范围内最优方案。当然,首先要有能力获得一个可描述并符合条件的样本,该样本是从技术层面上论述排布房间、生成关联的相应代码(Link: Flash源文件)。如此这般,就可以检验房间的位置、房间与房间的关系、共享空间及交通空间的可能性。如有需要,还可以进行一定的调整。刚才所得到的关系方案数组后,在下次再要调出来浏览时,有专门编写的“阅读模块”。得到了方案关系图像,由此,我们可以检验房间的位置、房间与房间的关系、共享空间及交通空间的可能性。如有需要,还可以进行一定的调整。 下面的Flash为运算运行界面,请点击图片进入,随后点击红色"play();"按钮以进行一次房间排布 ![]() Link: 080521_scriptArchi_swf 为了方便大家的进一步了解技术细节,该Flash源文件的共享连接(请用Adobe Flash CS4打开): Link: 080521_scriptArchi_v5.0.fla 下图为一次运算的结果截图 ![]() 为了得到优化的关系方案,必须进行海量计算,从大量的关系方案中,挑出最有的关系方案,前面提到过,每个关系方案被存储成sol的文本文档格式,我们经过合并文档、搜索联系总值等过程,得到所有(20000个左右)房间联系总值的文档。最终获得所有关系方案的联系总值数组(附录8)。程序每次生成一个经优化和抽象的、符合其他必备条件的、随机的可能性方案,每个方案都有一个联系紧密度的总值来判断这个方案的优劣,而这个总值等于各有联系房间三维距离乘以重要性系数之和。然后进行海量计算,在硬件和时间的限制下得到了20000多个可能性方案,最后把这些可能性方案进行比对和筛选,得到在不丢失考虑任意一种关系的情况下,空间联系最紧密的优化关系方案。 ![]() 对运算结果,采用Excel进行生序排列并得到最有关系方案的编号。可以看到,最优方案比最差方案的联系紧密度总值小了一半以上! 生成 通过scriptArchi的筛选、比对,已经得到了符合条件的最优关系方案,但是,任何软件都有一定的局限性,三维形态生成自然选用具有强大建模能力的Rhinoceros了。而不同的软件又有不同的语法,解决的具体策略是在Flash中对已有的关系方案根据一定规则进行判断和认读,再处理转换成Rhino犀牛可以运行的Macros代码;要得到成批的Rhino Macros代码,就得先了了解一个构件的做法及其操作代码,然后把这些代码中的参数,如点的位置,用Flash计算出来的变量替换,再输出格式正确的文本(附录9),把这些文本输入Rhino运行,就实现了关系方案形态化的三维建模过程。 ![]() 可是Rhino在直观浏览、调整操作方面却略逊SketchUp一筹,于是还需把生成的非线性关系方案合并倒入到带有基地环境的SketchUp模型中去,对空间关系作很好的检视,同时也有利于将来进行楼板、坡道、电梯、配景和材料生的修改编辑,以适应最终出图要求。 ![]() 干预 尽管运用各种数字化技术获得了满足任务条件的三维形态原型,但其并不是一个完整的建筑方案,需要将其转换成建筑的空间语言。其中有很多很多因素需要考虑,例如结构、材料、美观、形态等。如何选择合适的结构,并且把方案数字化设计的特点传承下来成了这个阶段的关键。 结构选型首先想到的是非线性结构形态,这样不仅可以反映我们前期设计时的思索,在建筑工程方面也有许多证实案例,事实上,从受力的角度来看非线性的结构更为合理,自然界中的动植物就是都不是以线性方式呈现的。分隔围护主要是房间分隔以及整体建筑外围护,包括立面和屋顶。为保持建筑空间的开放性特征,考虑结合结构形态,采用分段的围护,这样大大加强了分隔围护各方面的灵活性。任务中提到材料的文脉要求,为了呼应耶路撒冷市整体的城市肌理,耶路撒冷石的运用被郑重考虑。但方案排除了通常的把石材堆砌或者作为幕墙干挂方式,而是打碎再加工,通过数字喷涂机械混合浇筑到结构表面,如此一来,满足了非线性形势下的石材表达问题。有了大致的结构选型和形态策略,还需要对每个围护的比例、形状以及墙与墙之间的关系和群聚外貌进行调整和修改。最终我们得到有关建筑空间的完整方案。每一片墙都扭转上升,表现的是极富雕塑感的耶路撒冷石的无限生命力。 ![]() -- by Zhang yan ALL RIGHTS RESERVED 附录1 roomNames——房间名称、功能解释 roomName1:Head Fine Arts BA & MA roomName2:Head Jewelry & Fashion roomName3:Head Ceramic & Glass roomName4:Head Industrial Design roomName5:Head Industrial Design MDes roomName6:Head Architecture roomName7:Head Architecture MA …… …… roomName97:Technology roomName98:Student Support of Technology roomName99:Storeroom of Technology roomName100:Maintenance roomName101:Paper Storeroom of Maintenance roomName102:Yard of Maintenance roomName103:Garbage of Maintenance roomName104:Office of Security roomName105:Control of Security roomArea——房间面积大小 roomArea1:76 roomArea2:76 roomArea3:76 roomArea4:70 roomArea5:60 roomArea6:70 roomArea7:60 …… roomArea97:111 roomArea98:10 roomArea99:20 roomArea100:298 roomArea101:220 roomArea102:100 roomArea103:15 roomArea104:10 roomArea105:10 附录2 roomLinks——房间和哪些房间有联系 roomLinks_array1:2,3,4,5,6,7,8,9,10,11,12,26,79,80,81,82,93 roomLinks_array2:1,3,4,5,6,7,8,9,10,11,12,34,79,80,81,82,93 roomLinks_array3:1,2,4,5,6,7,8,9,10,11,12,49,79,80,81,82,93 roomLinks_array4:1,2,3,5,6,7,8,9,10,11,12,53,79,80,81,82,93 roomLinks_array5:1,2,3,4,6,7,8,9,10,11,12,56,79,80,81,82,93 roomLinks_array6:1,2,3,4,5,7,8,9,10,11,12,58,79,80,81,82,93 roomLinks_array7:1,2,3,4,5,6,8,9,10,11,12,59,79,80,81,82,93 …… roomLinks_array97:20,68,81,82,93,99 roomLinks_array98:17,21,22,25,28,29,30,31,32,33,36,37,38,39,40,41,42,43,44,45,46,47,51,55,65,66,67,68,72,73,74,77,78 roomLinks_array99:0 roomLinks_array100:93,101 roomLinks_array101:95,100 roomLinks_array102:0 roomLinks_array103:0 roomLinks_array104:93 roomLinks_array105:0 roomLinkFactors——房间和每个有联系的方间的联系重要性 roomLinkFactors_array1:2,2,2,2,2,2,3,3,2,2,4,3,2,2,2,2,2 roomLinkFactors_array2:2,2,3,2,2,2,2,3,2,2,3,3,2,2,2,2,2 roomLinkFactors_array3:2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2 roomLinkFactors_array4:2,3,2,4,2,2,2,2,2,2,3,4,2,2,2,2,2 roomLinkFactors_array5:2,2,2,4,2,2,2,2,2,2,4,4,2,2,2,2,2 roomLinkFactors_array6:2,2,2,2,2,4,2,2,2,2,3,4,2,2,2,2,2 roomLinkFactors_array7:2,2,2,2,2,4,2,2,2,2,4,4,2,2,2,2,2 …… roomLinkFactors_array97:3,3,3,3,2,4 roomLinkFactors_array98:2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 roomLinkFactors_array99:0 roomLinkFactors_array100:2,4 roomLinkFactors_array101:3,4 roomLinkFactors_array102:0 roomLinkFactors_array103:0 roomLinkFactors_array104:2 roomLinkFactors_array105:0 附录3 房间出现分块可能性数组 roomPlace_array1:14,24,34,44 roomPlace_array2:14,24,34,44 roomPlace_array3:14,24,34,44 roomPlace_array4:14,24,34,44 roomPlace_array5:14,24,34,44 roomPlace_array6:14,24,34,44 roomPlace_array7:14,24,34,44 …… roomPlace_array97:50 roomPlace_array98:50 roomPlace_array99:50 roomPlace_array100:50 roomPlace_array101:50 roomPlace_array102:12,53 roomPlace_array103:12,53 roomPlace_array104:12,53 roomPlace_array105:0 附录6 一个关系方案的存储数据: //以下为房间位置及属性信息: room58_array: 2168.82,221.07,95.7,95.7,0,288,9.57461472963438,7200,47.8730736481719,1440,235.87,221.12,4,46 room61_array: 1921.44,659.79,76.2,76.2,0,182.4,7.61969311979974,4560,38.0984655989987,912,417.24,659.84,3,37 room13_array: 1754.28,180.28,74.2,74.2,0,172.8,7.41646467884524,4320,37.0823233942262,864,250.08,180.33,3,36 …… room68_array: 2321.02,580.62,17.8,17.8,0,10,1.78412411615277,250,8.92062058076386,0,388.07,580.67,4,47 room98_array: 398.67,198.92,17.8,17.8,0,10,1.78412411615277,250,8.92062058076386,0,223.92,198.92,5,50 room104_array: 518.97,48.92,17.8,17.8,0,10,1.78412411615277,250,8.92062058076386,0,344.27,48.92,5,53 room105_array: 633.67,673.92,17.8,17.8,0,10,1.78412411615277,250,8.92062058076386,0,458.92,673.92,5,50 //以下为房间之间的连接信息: D1: (r58~r6) * 4 = 180840.702895451 ,D2: (r58~r13) * 5 = 139477.718299288 ,D3: (r58~r16) * 5 = 9786.45888633612 ,D4: (r58~r17) * 4 = 117865.26264214 ,D5: (r58~r26) * 2 = 260.209901839988 ,D6: (r58~r34) * 2 = 7442.30203487627 ,D7: (r58~r49) * 2 = 7430.06128010228 …… ,D910: (r98~r74) * 2 = 15258.0384120205 ,D911: (r98~r77) * 2 = 7672.58388809496 ,D912: (r98~r78) * 2 = 15399.5375901053 ,D913: (r104~r93) * 2 = 3736.80128622625 //该数值为联系总值(用于判断关系方案优劣): !!! linkDSum = 37116415.8736208 附录8 所有关系方案的联系总值 数组: !!! linkDSum = 78947.8773235205 !!! linkDSum = 79313.9304753146 !!! linkDSum = 79580.8342808854 !!! linkDSum = 79702.8582895724 !!! linkDSum = 81236.2774472445 !!! linkDSum = 82390.692756674 !!! linkDSum = 83378.1894784313 !!! linkDSum = 84569.5024228377 …… !!! linkDSum = 151231.91468088 !!! linkDSum = 151593.234997057 !!! linkDSum = 151594.695037831 !!! linkDSum = 151736.07027841 !!! linkDSum = 152988.461393627 !!! linkDSum = 153497.396184286 !!! linkDSum = 153630.565604707 !!! linkDSum = 154856.158528886 !!! linkDSum = 155546.470689307 !!! linkDSum = 157962.079108812 !!! linkDSum = 164620.620979331 附录9 一段非线性围护生成的Rhino Macros代码(直接粘贴至Rhino命令行即可): _SelNone _Line 85033.453125,-533936.5,5000 85991.9296875,-529095.5,5000 _Line 86964.6015625,-533968.75,10000 87054.8515625,-530003.4375,10000 _Curve 85033.453125,-533936.5,5000 85033.453125,-533936.5,5625 85033.453125,-533936.5,6250 86964.6015625,-533968.75,8750 86964.6015625,-533968.75,9375 86964.6015625,-533968.75,10000 Enter _Curve 85991.9296875,-529095.5,5000 85991.9296875,-529095.5,5625 85991.9296875,-529095.5,6250 87054.8515625,-530003.4375,8750 87054.8515625,-530003.4375,9375 87054.8515625,-530003.4375,10000 Enter _SelCrv _EdgeSrf _Delete _SelLast _OffsetSrf T 1 S 200 _SelLast -_RunScript ( Sub Main() Dim arrObjects arrObjects = Rhino.SelectedObjects() Rhino.ObjectLayer arrObjects, "Layer 05" End Sub Main )
popabczhang edited on 2009-11-03 16:18
|
|
![]() ![]() ![]() |
|
![]() |
![]() |