APP下载

面向对象模板的特色建筑造型

2010-01-01刘晓平钱晶晶罗月童

图学学报 2010年2期
关键词:面向对象实例部件

刘晓平, 钱晶晶, 余 烨, 罗月童

(合肥工业大学计算机与信息学院可视化与协同计算(VCC)研究室,安徽 合肥 230009)

当前,建筑物造型已成为虚拟现实、3D游戏、计算机仿真等领域的重点研究对象之一,但如何快速建立三维造型,以满足其在这些领域的广泛应用仍是一个问题。目前建筑物的三维造型一般仍采用通用建模软件来实现,如3ds max、Maya等,复杂建筑物的建模往往费时费力。而特色建筑具有统一的风格,建成建筑形象的材料、结构构造、色彩装饰具有地方特色[1]。以徽派建筑为例,建筑一般具有以下特点:在外观上,大多为下矮上高的两层楼房,外用白墙围合,仅开少数漏窗;房屋两端的风火墙基本都为马头墙;外观色调上不用重彩浓色[2]。

因此,对于地域特点鲜明、整体风格统一、局部细节差异的建筑结构,适合采用一种通用的描述方法,而模板就不失为一种很好的选择。它的基本思想是从一组相似的事物中抽象出一种框架型的模式,任何一个类似的事物都可作为以模板为超类派生的类型的实例[3]。对于特色建筑中的共性部分,如塔建筑中的飞檐,可抽象为模板,从而加速建筑设计与建模过程。

本文提出了一种基于面向对象模板的快速构建方法,在分析了特色建筑风格特征的基础上,广泛收集模型所需纹理,建立特色建筑模板库,并将其风格特征抽象为规则,以约束建模过程,从而快速构建特色建筑模型。

1 相关研究

在基于模板的虚拟现实研究中,文献[4]以模板为指导思想,设计并实现了一个面向科技展示的虚拟现实开发平台,对虚拟现实场景模板进行解释,并生成虚拟现实场景。Sun J等针对道路网的生成问题,提出通过输入二维图像,利用归纳出的道路模板和规则系统产生城市的虚拟交通网,并可通过自我调节以避免受限的几何区域或者因城市发展所造成的变化[5]。

在工程应用方面,文献[6]中总结了管道CAD系统中的平剖图的若干标注模板,实现了局部的模板匹配和自动标注。根据工程设计中存在着大量既定模式。文献[7]将模板运用于工程设计中,并将该研究应用于工厂钢结构的系统设计中。雷璐等针对三维建筑构建提出一种描述语言——PCML,并结合EasyStructure软件得到应用[8]。

在协同化产品设计中也有模板技术的研究应用。鉴于约束信息重要性,文献[9]针对协同模板中约束信息的特点,讨论了信息可视化的具体涵义及形式化表述,提出了由约束和谐性、相似性及约束信息可视化技术构成的研究框架。文献[10]提出了一种基于描述设计对象部件的模板设计标记语言TDML,用于协同模板描述设计部件方式,其中描述的部件仅是一种结构,而非面向设计的对象。文献[11]从协同模板功能结构的角度对协同模板进行分类,分为元级,特征级与复合级,并采用面向对象方法表现其层次结构,但文中所提的OO并非真正意义上的OO,只是对模板自顶向下进行分解。

2 面向对象模板

特色建筑具有结构清晰、风格统一、局部差异等特点,在模板设计中应当充分体现。广泛应用于程序设计的OO思想以对象的形式描述一类事物,具有良好的封装性、通用性、继承性,将面向对象思想与模板技术相结合,可以很好地满足特色建筑模板设计的要求。

本文借鉴面向对象思想,针对特色建筑的结构特点和风格特征,提出了以“基模板-结构模板-实例化模板”架构为核心的面向对象模板的思想,并用于特色建筑的快速建模中。其与OO程序设计语言的“属性(基本数据类型)-类-对象”对应关系如图1所示,表明了二者在思想上的一致性。

图 1 面向对象模板与OO设计语言对应关系示意图

2.1 基模板

描述建筑物基本部件的模板称为基模板。建筑物一般由大量基本部件构成,如房屋中的墙、屋顶,亭中的柱子等,这些部件在三维建模中可视为基本的不可再分的结构。本文定义了方体、柱体、球体等基本部件与3ds文件表示的一些基本形体难以表达的结构,如塔建筑中的飞檐,如图2所示。它们附着上不同的纹理即构成基模板。

基模板由模板ID、模板名、基本部件类型、参数列表、纹理ID、包围盒、相对位置、定位点、可见性、组合属性等参数加以描述,以EBNF(扩展的巴科斯范式)表示为:

图 2 飞檐

2.2 结构模板

对于由较多整体结构相似但局部参数不同的部分组成的建筑来说,可以构建一种通用的结构模板。它是一类具有共性结构的建筑物模板,由N(N>0)个结构模板或基模板按照某种排布方式组合而成。它并不细化到建筑物设计的具体参数,仅描述某类建筑物的组成部分、重复结构的排布方式等,其建立在基模板描述的基本部件基础上。结构模板以EBNF表示为:

模板之间的组合不是任意的,需要相应的规则加以约束。根据特色建筑物的营造规则和风格特点,将规则分为尺寸规则和位置规则。前者体现模板中的部件的尺寸特征和部件间的匹配情况;后者则体现部件在整个建筑结构中的布局。其形式化表示如下:

结构模板通过模板组合规则对基模板进行封装,描述了特色建筑的结构,与面向对象中的类通过方法对属性的封装相吻合,成功地将面向对象思想应用于模板架构中。

2.3 实例化模板

实例化模板用于描述建筑物最终的设计结果,通过对结构模板指定参数产生。结构模板描述的只是一类建筑部件的设计架构,并没有生成具体的建筑物,因此需要对结构模板中的参数赋值,实现结构模板的实例化,最终完成建筑物建模。

3 面向对象模板建模方法

在介绍面向对象模板的基本思想的基础上,给出其建模一般流程,如图3 所示。

首先在结构模板库中搜索是否存在相似的设计结构,如果存在,则只需修改部分参数即完成设计;否则按层次进行设计,对于已有结构模板或基模板可直接引用,将重复部分的特点用参数表示;在结构模板基础上,用户通过指定模板的具体参数,形成实例化模板,最后渲染出建筑物;通过扩充纹理库和基模板库,可方便结构模板设计,从而得到不同效果的建筑物。

图3 面向对象模板建模流程示意图

4 应用实例

本文基于面向对象模板的建模方法构建了特色建筑快速建模系统,并利用其进行三维建模,取得较好的效果。下面以塔为实例来展现“基模板―结构模板―实例化模板”架构与建模过程。

设计者在设计之初具有塔的宏观布局,分析其风格特征,建立相应的基模板并构建基本结构模板。根据塔的模板层次结构(如图4 所示)搭建细化的结构模板,逐层指定重复部分的模板的排布方式、宏观数量(一个或多个)及相对位置参照物。在此基础上,进入实例化阶段,通过指定塔的层数为6,且中间部分直线排布间距为0,即可生成6 层塔的实例化模板。如有局部参数与设计要求不同,设计者可对其调整以满足需求,如将最顶层中间部分的层顶可见性设为否,以便与塔顶接合;最后通过渲染得到塔的建筑模型,并将最终设计结果保存。塔结构模板的XML 描述如下,其最终建模效果如图5 所示。

图 4 塔的模板层次结构

图5 塔建模效果图

5 小结与展望

本文介绍了一种基于面向对象模板的特色建筑建模方法,在总结建筑物一般特点和特色建筑营造规则的基础上,借鉴面向对象思想来描述建筑物设计的模板,提出“基模板-结构模板-实例化模板”架构,实现了建筑物模型的快速建模,具有较强的通用性和灵活性。

在本文的基础上,下一步可考虑扩充模板库,总结区域性建筑规则,结合规划信息,构建大规模特色建筑场景,为特色城市建设提供方便。

[1] 张国梅. 浅谈徽州传统民居的环境布局及建筑特色[J]. 安徽建筑, 2002, (1): 32-33.

[2] 周亚琦, 周均清. 徽州民居的建筑类型学研究[J]. 四川建筑, 2007, 27(2): 46-48.

[3] 刘晓平, 韩江洪, 张佑生, 等. 工程CAD 中的模板运算与性质研究[J]. 系统仿真学报, 2000, 12(6): 592-594.

[4] 陈 皓, 刘晓平. 基于模板的虚拟现实平台[J]. 系统仿真学报, 2006, 18(12): 3434-3437.

[5] Sun J, et al. Template-based generation of road networks for virtual city modeling [C]//Proceedings of ACM Virtual Reality Software and Technology (VRST), Hong Kong, 2002: 33-40.

[6] Liu Xiao-ping. An algorithm for feature placement piping CAD system [C]//CAD/Graphics' 97, Beijing: International Academic Press, 1997: 427-432.

[7] 刘晓平, 田景成, 等. 基于模板的工程CAD 设计方法研究[J]. 计算机辅助设计与图形学学报, 1999, 11(4): 296-299.

[8] 雷 璐, 苏 丰, 蔡士杰. 建筑构建参数化建模语言PCML 的设计和应用[J]. 计算机辅助设计与图形学学报, 2006, 18(5): 687-693.

[9] 刘晓平, 石 慧, 毛峥强. 协同模板中的约束信息可视化[J]. 计算机辅助设计与图形学学报, 2005, 17(10): 2334-2338.

[10] 刘晓平, 毛峥强, 石 慧, 等. 面向网络化协同模板技术的模板设计标记语言[J]. 计算机辅助设计与图形学学报, 2006, 18(8): 1224-1230.

[11] 刘晓平, 毛峥强. 面向对象的协同模板分类模型研究[J]. 工程图学学报, 2007, 28(1): 37-41.

猜你喜欢

面向对象实例部件
加工中心若干典型失效部件缺陷的改进
基于Siemens NX和Sinumerik的铣头部件再制造
部件拆分与对外汉字部件教学
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
面向对象的SoS体系结构建模方法及应用
完形填空Ⅱ
完形填空Ⅰ
焦利氏秤各部件的修理和改装