首页> 中国专利> 一种三维模型中模拟人物行走所见的方法

一种三维模型中模拟人物行走所见的方法

摘要

本发明公开了一种三维模型中模拟人物行走所见的方法,所述方法包括以下步骤:S1.准备及获取所需要显示的三维模型的数据;S2.接收程序调用的指令,根据程序实际需要设置人物的初始坐标(x,y,z),以及初始与正北的朝向角度theta,并根据用户机器硬件数据设置最大显示半径R;S3.以任务当前坐标为中心,使用三维图像引擎显示半径为R的人物可视的区域;S4.根据用户输入确定人物移动中心点的坐标;S5.回到步骤S3,否则结束。本发明通过对平面要素层的分块划分以及几何点面间的overlap操作,在三维地理信息系统中可快速高效地模拟三维场景中的人物漫游过程,对三维地理信息系统的开发具有重要的实践意义。

著录项

  • 公开/公告号CN102855651A

    专利类型发明专利

  • 公开/公告日2013-01-02

    原文格式PDF

  • 申请/专利权人 深圳市赛格导航科技股份有限公司;

    申请/专利号CN201210269134.4

  • 发明设计人 曹绪龙;夏明辉;李睿阳;

    申请日2012-07-31

  • 分类号G06T13/20;G06T13/40;

  • 代理机构深圳市顺天达专利商标代理有限公司;

  • 代理人郭伟刚

  • 地址 518019 广东省深圳市南山区高新区市高新技术工业村T2栋B6厂房

  • 入库时间 2024-02-19 17:04:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-01

    授权

    授权

  • 2015-09-02

    实质审查的生效 IPC(主分类):G06T13/20 申请日:20120731

    实质审查的生效

  • 2013-01-02

    公开

    公开

说明书

技术领域

本发明涉及一种三维模型中模拟人物行走所见的方法。

背景技术

相比于二维GIS(地理信息系统),三维GIS的空间信息的展示更为 直观。从人们懂得通过空间信息来认识和改造世界开始,空间信息主要是 以图形化的形式存在的。然而,用二维的图形界面展示空间信息是非常抽 象的,只有专业的人士才懂得使用。相比二维GIS,三维GIS为空间信息 的展示提供了更丰富、逼真的平台,使人们将抽象难懂的空间信息可视化 和直观化,人们结合自己相关的经验就可以理解,从而做出准确而快速的 判断。毫无疑问,三维GIS在可视化方面有着得天独厚的优势。虽然三维 GIS的动态交互可视化功能对计算机图形技术和计算机硬件也提出了特殊 的要求,但是一些先进的图形卡、工作站以及带触摸功能的投影设备的陆 续问世,不仅完全可以满足三维GIS对可视化的要求,还可以带来意想不 到的展示和体验效果。

此外,三维GIS的多维度空间分析功能更加强大。空间信息的分析过 程,往往是复杂、动态和抽象的,在数量繁多、关系复杂的空间信息面前, 二维GIS的空间分析功能常具有一定的局限性,如淹没分析、地质分析、 日照分析、空间扩散分析、通视性分析等高级空间分析功能,二维GIS是 无法实现的。由于三维数据本身可以降维到二维,因此三维GIS自然也能 包容二维GIS的空间分析功能。三维GIS强大的多维度空间分析功能,不 仅是GIS空间分析功能的一次跨越,在更大程度上也充分体现了GIS的特 点和优越性。

发明内容

本发明的目的在于提供一种三维模型中模拟人物行走所见的方法,通过平 面要素层的分块划分和几何点面间的overlap操作,在三维地理信息系统中快 速高效的模拟三维场景中的人物漫游过程。

为了实现发明目的,所述方法包括以下步骤:

S1.准备及获取所需要显示的三维模型的数据,所述数据包括将构造成的 多层带地理属性的面要素层中的每层进行分块而形成的所有面要素文件;

S2.接收程序调用的指令,根据程序实际需要设置人物的初始坐标(x,y, z),以及初始与正北的朝向角度theta,并根据用户机器硬件数据设置最大显 示半径R;

S3.以任务当前坐标为中心,使用三维图像引擎显示半径为R的人物可视 的区域;

S4.根据用户输入确定人物移动中心点的坐标;

S5.回到步骤S3,否则结束;其中,

所述步骤S4进一步包括:

S41.通过外部输入设备接收用户输入信号;

S42.根据所述输入信号更改计算人物可能平面坐标(xt+deltax,yt+deltay);

S43.以(xt+deltax,yt+deltay,z)为中心搜索对应的所述所有面要素文件;

S44.通过overlap方法逐层判断中心坐标(xt+deltax,yt+deltay,z)是否 落在该层面要素上,一旦为是则停止判断;

S45.根据所在面要素的特性更改坐标,将新坐标(xt+deltax’,yt+deltay’, zt+deltaz’)存入人物当前坐标(xt,yt,zt),所述面要素特性对于坐标的影响 需要根据程序定义。

所述步骤S1进一步包括:

S11.获取所需要显示的三维模型及三维图形图像显示引擎;

S12.获取所需显示地区的平面图;

S13.使用所述平面图,根据程序实际需要构建多层带地理信息属性的面要 素层,并添加移动特性字段;

S14.通过拓扑验证要素保证数据间无逻辑错误;

S15.将构建成功的每层带地理信息属性的面要素层进行分块,以其层数与 x、y坐标范围联合作为各块的文件名。

在上述步骤S41中,所述外部输入设备包括鼠标、键盘或其它交互式设备。

在上述步骤S42、S43中,所述deltax与deltay根据程序需要设定。

在所述步骤S13中,所述根据程序实际需要构建多层带地理信息属性的面 要素层,并添加移动特性字段包括:

将第一层构建为阻碍视线层,特性字段为N_vw;将第二层构建为不可移 动层,特性字段为N_Mv;将第三层构建为平面移动层,特性字段为Prll_Mv; 将第四层构建为楼梯移动层,特性字段为Vrtcl_Mv,所述楼梯移动层的特性 字段需要添加竖直移动分量deltaz字段。

本发明通过对平面要素层的分块划分以及几何点面间的overlap操作,在 三维地理信息系统中可快速高效地模拟三维场景中的人物漫游过程,对三维地 理信息系统的开发具有重要的实践意义。

附图说明

图1是本发明一个实施例中在三维模型中模拟人物行走所见的方法流程 图;

图2是本发明另一个实施例中在三维模型中模拟人物行走所见的方法流 程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例 仅仅用以解释本发明,并不用于限定本发明。

图1示出了本发明一个实施例中在三维模型中模拟人物行走所见的方法 流程。该流程包括数据准备和程序处理两大部分。

在步骤S11中,获取需要显示的三维模型以及三维显示引擎,对需要显示 的三维模型的数据进行相关的处理。

在步骤S12中,对初始状态进行设置,包括设备的初始化及场景的初始化, 例如,设置人物的初始坐标,以及显示的最大半径R。

在步骤S13中,接收用户输入信息,并使三维模型和观察状态做相应变换, 主要的输入设备是键盘,利用计算机图形学的图形变换基础,通过坐标变换来 实现前进、后退、仰视、俯视、左转和右转。

在步骤S14中,计算新对象信息,根据当前观察的位置、角度等参量,根 据场景组织本身的特性,提取出渲染的对象并重新计算获得各对象的状态,例 如,在处理山地地形时,利用的是地形单元重复拼接的方法,当视点变化时, 把视点坐标到世界坐标原点的偏移坐标(x,y)对地形单元的宽度求模,即可 得出视点所在位置的地形状态。

在步骤S15中,进行图形渲染处理,将经过处理最终生成的3D对象显示 在计算机屏幕上,采用的是与步骤S14中同样的远原理,将被渲染位置的地形 数据取出,然后贴图处理就可以提交显示了。当视点变化时,距离视点不同距 离的物体应采用LOD自动调整层次,实现图形的高速渲染。

在步骤S15中,若选择是,则进入步骤S16回收系统资源,结束整个系 统的运行,否则系统回到步骤S13进行交互处理,继续运行系统。

图2示出了本发明另一个实施例中在三维模型中模拟人物行走所见的方 法流程。

在步骤S21中,获取所需要显示的三维模型,该三维模型可购买、由工程 设计图构建或自己构建等。

在步骤S22中,购买三维图形图像显示引擎,或自主开发三维图形图像显 示引擎。

在步骤S23中,获取所需显示地区的平面图。

在步骤S24中,使用在步骤S23中获取的平面图,根据程序实际需要构 建多层带地理信息属性的面要素层,并添加移动特性字段。例如,第一层为阻 碍视线层,特性字段为N_vw;第二层为不可移动层,特性字段为N_Mv;第 三层为平面移动层,特性字段为Prll_Mv;第四层为楼梯移动层特性字段为 Vrtcl_Mv,楼梯移动字段需要添加竖直移动分量deltaz字段等。

在步骤S25中,通过拓扑验证要素保证数据间无逻辑错误,将构建成功的 每层带地理信息属性的面要素层进行分块,以其层数与x、y坐标范围联合作 为文件名,例如,x坐标在30-50之间、y坐标为20-40、y坐标为-10-0的第一 层文件命名为“30-50_20-40_-10-00Lyr1”。

在步骤S26中,对程序进行初始化。接收程序调用的指令,根据程序实际 需要设置人物的初始坐标(x,y,z),以及初始与正北的朝向角度theta,并 根据用户机器硬件数据设置最大显示半径R。

在步骤S27中,以人物当前坐标(xt,yt,zt)为中心,使用三维图像引 擎显示半径为R的区域。

在步骤S28中,通过输入设备接收用户输入信号,若用户选择结束,则退 出程序,系统运行结束。否则,根据根据输入信号更改计算人物可能平面坐标 (xt+deltax,yt+deltay),其中,deltax与deltay根据程序需要设定,再以 (xt+deltax,yt+deltay,z)为中心搜索对应的所有面要素文件。

在步骤S29中,通过overlap方法逐层判断中心坐标是否落在该层面要素 上,一旦为是则停止判断。

在步骤S210中,根据所在面要素的特性更改坐标,将新坐标(xt+deltax’, yt+deltay’,zt+deltaz’)存入人物当前坐标(xt,yt,zt),面要素特性对于坐标 影响需要根据程序定义,例如,特性字段为N_mv时,deltax’=deltay’=deltaz’=0; 特性字段为Vrtcl_Mv时,deltax’=deltax,deltay’=deltay,deltaz’为楼梯移动 层中的字段deltaz。

步骤S210完成后,程序回到步骤S27,以新坐标为中心,使用三维图像 引擎显示半径为R的区域,直到在步骤S28收到结束显示的相关指令。

本发明所披露的方法,目前主要应用于三维地理信息系统的开发中,但是 可以预见的是,本发明的应用范围并不限于三维地理信息系统,还可应用于其 它模拟三维场景中的人物漫游过程的方法和系统中。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发 明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明 的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号