1、第 卷第期 年月测绘科学 作者简介:张文元(),男,湖北武汉人,副教授,博士,主要研究方向为文化遗产数字化保护。:收稿日期:基金项目:国家自然科学基金项目();国家文化和旅游科技创新工程项目();滇西北文化生态保护研究中心开放项目()通信作者:刘润桦 硕士 :引文格式:张文元,刘润桦 古建筑三维语义模型转换 方法研究 测绘科学,():(,():):古建筑三维语义模型转换方法研究张文元,刘润桦(华中师范大学 国家文化产业研究中心,武汉 )摘要:针对建筑信息模型()领域古建筑语义模型缺乏建筑物周围环境信息,不利于建筑模型与地形数据的集成、共享、空间分析等问题,该文提出了一种古建筑工业基础类()模型
2、转换为城市地理标记语言()扩展模型的方法。比较分析 和 两种标准在建筑物模型实体语义和几何表达方面的差异,在对 标准定义的建筑物模型进行语义扩展的基础上,从语义映射和几何转换两方面实现古建筑室内外几大类典型构件 模型到 语义扩展模型的转换方法。实验结果证实了该文方法的有效性,该方法能够实现高精度、语义丰富的古建筑 模型快速构建,有利于促进古建筑文化遗产数字化保护。关键词:古建筑;语义扩展;模型转换【中图分类号】【文献标志码】【文章编号】(),(,):,(),()(),:;测绘科学第 卷引言优秀古建筑是珍贵的文化遗产,构建几何和语义信息丰富的三维模型是对古建筑进行数字化保护的一种有效手段。当前,
3、古建筑三维建模主要 采 用 地 理 信 息 系 统(,)和建筑信息模型(,)两类技术。基于 的三维建模偏重几何建模,建筑模型可以在三维 中与周边环境一起展示与分析,但是模型往往缺乏语义信息。基于 构建的三维模型细节和语义丰富,但是一般用于单体建筑管理,且缺乏建筑地理位置表达,难以与其他 数据进行集成管理和应用。与 集成可实现二者优势互补,能够在古建 筑 保 护、工 程 管 理、城 市 规 划、环 境 模拟、室内 外 一 体 化 导 航 等 众 多 领 域 发 挥 重 要作用。在 和 集成融合方面,城市地理标记语言(,)能够作为数据桥梁连接 和 。是开放地理空间信息联盟(,)发布的一种表达城市三
4、维对象的通用语义信息模型,也是 领域的一种国际开放标准,支持多细节层次(,)表达。因此,国外许多学者尝试从 领域的通用标准 工业 基 础 类(,)与 标准出发,研究 与 融合。针对 模型与 模型转换,文献 提出了一种包括语义过滤和几何变换的算法,将 模型成功转换成 模型。文献 基于要素操作引擎(,)商业软件研究了 模型与 和 模型的转换。文献 重点研究 和 在空间和语义两方面的数据处理与转换方法,并提 出 了 一 种 集 成 的 三 维 城 市 数 据 模 型。文献 针对城市综合管廊 模型,采取语义映射和几何对象转换等手段将其转换为 管廊模型。文献 采用统一建模语言(,)实现 和 二者之间的转
5、换。文献 集成历史建筑信息模型(,)和 数据,将与地震脆弱性或风险、危害参数相关的数据直接插入 模型,从而在 环境中分析地 震 对 文 化 遗 产 的 损 害。文 献 基 于 软 件 研 究 了 城 市 现 代 建 筑 模 型 与 模型的转换方法。由于 建筑模 型 语 义 信 息 不 够 丰 富,文 献 基 于 提供的应用领域扩展(,)机 制 设 计 了“”扩 展模型,支持 模型的横梁、立柱、楼梯和围栏等语 义 实 体 向 模 型 转 换。文献 对 进一步扩展,设计了 与 扩展对象之间的语义对象映射规则,并基于软件将 模型转换为 扩展模型。分析发现,上述 模型与 模型之间的集成转换方法主要针对
6、城市现代建筑,且大多借助 等商业软件实现模型数据解析与转换。“”等少量 扩展模型支持的语义对象仍然有限,难以满足构件种类丰富、结构复杂的古建筑三维语义表达。文献 虽然针对明清古建筑也采用了 进行语义扩展,但主要利用 几何模型进行转换实验和多尺度表达,未涉及 模型与 之间的转 换 研 究。为 了 解 决 古 建 筑 模 型 与 模型转换过程中存在几何精度不高、大量语义信息丢失,且依赖商业软件等问题,本文针对基于 机制设计的包含室内外几大类典型构件的古建筑 扩展模型,采用开源算法库从语义映射和几何变换等方面实现 模型转 扩展模型,探讨几何语义一体化的古建筑 模型快速构建方法。和 标准比较 是 领域
7、通用的数据模型标准,其思想是将一个建筑的全生命周期信息整合到一个独立的建筑模型当中。是 领域的一种通用三维模型标准,定义了城市空间对象的三维几何、拓扑、语义和外观信息,旨在实现三维城市模型信息的互操作与共享。与 面向不同应用领域,在建筑物实体语义定义、几何表达方面、参考坐标系、模型外观和应用尺度等多方面具有较大差异。实体语义 语义信息十分丰富,包含大量的建筑细节信息和建筑构件之间的关系信息,共有 多个类,包含 多 个 建 筑 实 体 和 多 个 建 筑 类 型 定义。在语义表达方面,标准定义了各种类型的建筑物实体,每一个实体都包含了丰富的语义信息,使用要素类来描述建筑物构件之间的关系,第期张文
8、元,等 古建筑三维语义模型转换方法研究使用类属性来描述构件的专题信息。模型对一个建筑物的空间架构()描述包含项目()、建筑物()、场地()和建筑楼层()个子类别。建筑物模型包含多层次表达,层次越高,其 表 达 的 建 筑 构 件 越 多,语 义 越 丰 富。标准建筑物模型级 定义如图 所示,表示高度泛化的模型,表示块状模型,增加屋顶样式的显示表达,展示细节最丰富的模型。图 建筑物多细节层次表达 相对于 多尺度表达,仅包含一个 ,但 定义的建筑实体语义远比 丰富。因此,高精度的 模型是构建几何语义一体化 模型的重要数据源。几何表达在 建 筑 物 几 何 表 达 方 面,标 准 采 用 语言进行数
9、据描述,使用局部坐标系,其 几 何 表 达 方 式 有 种:边 界 表 达(,)、构造实体几何(,)表达和扫描体()表达。、和 扫 描 体 几 何 表 达 如 图 所示。定义的建筑物模型采用 表达,几何对象具有依赖空间参考系统的真实坐标位置。通过 文件来存储和交换数据,其几何信息和属性描述都在同一个文件中分类展示。与 在几何表达方面的差异主要体现 在 模 型 支 持 多 种 几 何 表 达 方 式,而 模型所有实体都用 。此 外,模型通过层层嵌套的参考坐标系定位法来间接定义几何对象的空间位置,而 通过首尾相图 、和扫描体几何表达 ,连的坐标串直接表达建筑物各个几何面片的空间坐标。古建筑 模型与
10、 扩展模型转换方法我国古建筑造型优美,结构复杂,构件种类繁多,装饰丰富多彩。古建筑呈三段式特征,由台基、屋身和屋顶组成。台基不仅具有稳固地基和承重等用途,其尺寸也是建筑等级的象征。屋顶造型独特,包含庑殿顶、歇山顶、攒尖顶、悬山顶等多种样式,与现代建筑有较大差异。屋身以木框架结构为主,由梁柱等构件通过卯榫相互连接。此外,古建筑室内外还有许多装饰构件,其结构形态丰富,是古建筑不同景观基因的重要体现。转换流程 相比 具有更丰富的语义类别,因而在数据转换过程中容易造成语义信息丢失。考虑到 主要针对城市现代建筑进行模型表达,其定义的语义实体仅有屋顶()、墙面()、地面()、门()、窗()和附属设施()等
11、常规对象,并未包含台基、立柱、横梁、斗拱和围栏等中国古建筑特色构件的语义信息。为此,前期利用 对 建筑物模型进行了扩展,增加了台基()、柱()、梁()、斗拱()、楼 梯()、围 栏()和 装饰()等几大类典型构件的语义对象,详细扩展模型参见文献 。针对扩展后的古建筑 语义模型,本文重点研究如何将包含室内外 典 型 构 件 的 古 建 筑 模 型 自 动 转 换 为 扩展模型,其转换流程如图所示,包含语义映射和几何转换两个关键环节。测绘科学第 卷图 模型到古建筑 语义扩展模型转换流程 语义映射将 模型转换为 扩展模型需要先分析二者语义实体之间的对应关系,可以通过语义映射机制建立实体联系。二者之间
12、的语义映射规则包含一对一映射()、一对多映射()、多对一映射()和间接映射类。其中,古建筑门()和窗()等对象利用映射 直 接 转 换 为 的 和 对象。对象可以表达古建筑的台基(地板)、天花板和屋顶等多个部分,因此可以采用映射转换为 定义的 、或 等对象。建筑模型定义的 和 均 表 示 墙 面,可 以 采 用映射全部转换为 。与 部分实体之间的详细语义映射关系可参考文献 。由于 与 定义建筑构件的粒度不同,命名也有差别,还存在一些对象无法采用上述某种规则直接映射,此时可以通过这种规则的某些组合并经过几何运算来间接映射。虽然 标准定义的语义实体丰富,但也是针对城市现代建筑。古建筑的梁、柱、台阶
13、、围栏等常规构件在 中可以找到相应的语义实体来 表 达,如 、和 等,只 需 利 用 、等枚举类型根据构件位置和功能设置具体的子类别。但是,仍然存在一些特殊构件在 标准中尚未提供语义定义,如古建筑特有的斗拱、屋顶神兽、彩绘等特殊建筑图元类型。这类构件目前可用 和 等 对 象 来 抽 象 表 达,通过其提供的 等属性自定义语义类 别,再 建 立 与 模 型 之 间 的 语 义映射。几何转换 建筑模型有多种几何表达方式,本文主要研究 边界表达和扫描体两种几何表达模型向 模型转换。由于 使用 表示法,因此解析并转 换 的 几 何 对 象 只 需 按 的 数据组织方式获取语义对象面片边界上的一系列关键
14、坐标点,再按 点连成线、线组成面的几何组织方式写入 文件即可。以 对象为例,模型的 几何表示如图所示。图 几何表示 扫描体表达的 模型不再用一系列简单的点构成几何体的每个面,其先表示二维轮廓,再通过平面拉伸构造三维几何体。以楼梯为例,通第期张文元,等 古建筑三维语义模型转换方法研究过底面拉伸生成几何体的方法,如图所示。因此,解析 扫描体需要先获取几何体的底面,然后按照底面的移动规则获取几何体的顶面,再根据底面、顶面生成三维几何体的各个侧面,最后将各个面的坐标点按一定规则写入 相应语义对象的几何结构。以 对象为例,扫描体几何 表 达 在 文 件 中 的 组 织 方 式 如 图 所示。图 扫描体底
15、面拉伸示意图 图 扫描体几何表示 记录了构成闭合二维轮廓的一系 列 点 坐 标:(,),(,),(,);记 录 拉伸方向(,)。假设拉伸长度为,则可通过式()计算几何体顶面各点坐标:(,)。熿燀燄燅熿燀燄燅熿燀燄燅()得到拉伸体的底面坐标和顶面坐标后,同时遍历两个坐标串,底面和顶面对应相邻的个点按逆时针顺序生成拉伸体的各个侧面 :(,),(,),(,),(,)。最后将拉伸体以几何实体标签 在 中规范化表达,拉伸 体 的 底 面、顶 面 和 侧 面 均 以 :面集合标签写入 文件。几何形状比较规则的古建筑构件采用上述方法可以直接转换,但是古建筑还存在一些几何形状不规则的构件,如曲面屋顶、飞檐、斗
16、拱等。针对这类几何对象,可以对其进行网格化处理,形成三角网或矩形格网表达,然后使用层次分析法将 表面模 型 分 解 为 面 集 合()、面()、构成面的边()、多边形()和点()等一系列对 象,再 将 其 转 换 为 相 应 的 或 对象。由于 领域的三维模型通常使用世界坐标系,即建筑物的坐标在世界坐标系中为绝对坐标,因此 模型各实体对象的坐标需要乘以变换矩阵实现相对坐标到世界坐标的位置转换。模型在 对象中标识关于坐标变换矩阵的向量,矩阵的定义见式()。熿燀燄燅熿燀燄燅()式中:、分别为 中轴方向向量和轴方向向量;轴方向向量为轴和轴两向量的叉积;为 定义坐标系下的坐标原点 。实验与结果分析 实验数据虽然目前已有等少量商业软件同时支持测绘科学第 卷 与 两类模型文件的读写,但是针对构件丰富的古建筑三维模型,上述软件均难以实现高精度转换。为了测试上述古建筑 模型转 扩 展 模 型 方 法 的 有 效 性,本 文 使 用 语言,基 于 开 源 库 进 行 模型的几何和语义信息解析,编程实现古建筑 模型与 扩展模型转换。封装了解析 文件相应的操作,可以对 文件进行修改、编辑等操作,支持 和 等