[发明专利]一种基于形式化的复杂三维场景建模方法有效
申请号: | 201710014945.2 | 申请日: | 2017-01-09 |
公开(公告)号: | CN106709980B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 吕江花;马世龙 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 形式化 复杂 三维 场景 建模 方法 | ||
1.一种基于形式化的复杂三维场景建模方法,其特征在于,包括如下步骤:
步骤1,将三维场景按照场景对象、场景对象模板和场景对象模板属性进行抽象,基于BNF设计场景建模语法规则;BNF为巴科斯范式;
所述场景对象表示构成三维场景的基本单位,所述场景对象模板是将具有相同特征的场景对象的属性进行提取所形成的一种抽象属性集合;所述场景对象模板属性包括键值属性、序列属性和结构体属性;
场景对象模板的形成过程分为两个步骤:(1)将场景中具有相同特征的场景对象进行归类;(2)对同一种类型的场景对象进行属性提取形成场景对象模板;在形成场景对象模板后,要保留每个场景对象特有的属性值;
步骤2,将场景建模语法规则文件与场景资源文件导入建模环境,并通过建模环境提供的操作对目标三维场景进行建模,形成抽象建模结果;
所述的抽象建模结果是指场景建模脚本,是将目标三维场景转化为文本化的描述结果,场景建模脚本中包括变量定义区、场景对象模板定义区和场景构造脚本定义区;其中,变量定义区用于支持场景建模语法规则数据类型中集合和枚举类型的自定义操作,变量定义区中声明的数据类型被场景对象模板中的属性使用;场景对象模板定义区用于描述三维场景中涉及到的所有场景对象,场景对象模板定义区中的每一个场景对象模板通过唯一的标识区分,场景对象模板的内部包括键值属性语句、序列属性语句和结构体属性语句;场景构造脚本定义区将已经定义的场景对象模板进行实例化;
建模环境包含一套场景建模脚本的编辑操作,涵盖场景建模脚本的所有编辑操作,包括变量定义区、场景对象模板定义区以及场景构造脚本定义区的增加、删除、修改、查询操作;
步骤3,根据映射规则将抽象建模结果转化为XML格式的建模结果。
2.根据权利要求1所述的复杂三维场景建模方法,其特征在于,所述的步骤1中,为每个场景对象模板匹配一个默认模板参数,如果场景对象某个属性值与默认模板参数一致则不再保留。
3.根据权利要求1所述的复杂三维场景建模方法,其特征在于,步骤3中所述的映射规则,基于如下9种操作符设计:
1)“(终结符)VAL”,表示一个终结符对应的值;
2)“[非终结符]XML”,表示一个非终结符的XML展开;
3)“[非终结符自然数]XML”,表示一个非终结符的特定XML展开;
4)“%{符号序列}”,表示遍历一个符号序列或集合中的每一个符号,其中%用于表示当前遍历的符号;
5)“|”,表示或连接符,用于连接两个操作符,表示选择第一个合法的操作符行为;
6)“=”,表示条件连接符号,用于连接两个操作符,传递参数,参数参考第一个操作符的定义;
7)“.”,表示成员操作符,用于表示非终结符中的一个成员;
8)“→”,为展开符号,用于连接两个操作符,表示左操作符按照右操作符展开;
9)“${…}”,用于判断XML层次结构中是否存在名为…的节点,不存在则返回正确。
4.根据权利要求1所述的复杂三维场景建模方法,其特征在于,所述的步骤3中,将抽象建模结果转化为XML格式的过程中,将所有场景对象模板中的属性信息进行提取,过滤重复的内容并放置在一个XML文件中存储,将所有场景对象模板中属性值信息提取并存放在另一个XML文件中,属性信息和属性值信息通过属性名称进行关联。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710014945.2/1.html,转载请声明来源钻瓜专利网。