多视口虚拟环境显示方法

文档序号:6587419阅读:435来源:国知局
专利名称:多视口虚拟环境显示方法
技术领域
本发明属于计算机虚拟现实和计算机图形学技术领域,尤其是涉及一种计算机多视口虚拟环境显示方法。
为此,本发明采用的技术方案是多视口虚拟环境显示方法,其技术要点是包括创建帧缓存、父通道、子通道、视点和场景虚拟环境资源,将实体对象和环境选项加入到相应的场景中,将视点和场景加入到相对应的子通道中,将父通道加入到帧缓存中的步骤。
环境选项是雾模型或光照模型;虚拟环境资源采用树状结构组织方法;帧缓存包含一个父通道,父通道可以包含多个子通道,每个子通道中都有自己的视点和场景,它们的场景可以相同,也可以不同,每个场景中还有自己的对象实体和环境构成选项;创建虚拟环境资源还包括定义基本图形单元类,常用画图元素类从基本图形单元类继承,多视口中的资源类从常用画图元素类继承等定制资源的步骤。
多视口图形显示方法可以更好地改善虚拟战场环境的显示效果,使图形界面的设置更灵活方便。它还可以使用户方便地对多个场景或场景中的不同地理位置的仿真实体等进行监控,所以可用于虚拟战场环境的三维观察器,同时为观察者提供两个视口,让他们既可对整个虚拟环境进行漫游,还可跟踪某个实体进行局部观察。其有益效果是1.使用本发明,便于一台机器上对多个场景或场景中的不同地理位置的实体等进行监控,这是多视口图形显示工具相对于单视口显示工具的一大突破。2.各个视口彼此独立,控制方便、灵活,添加、去掉某个视口,改变视口大小,交换视口位置等操作均很方便。3.本发明是一种通用工具,可以用于多种实体的仿真,如坦克、飞机、雷达,也可用于对整个虚拟环境的仿真。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细的说明。
参阅

图1,图1是本发明多视口虚拟环境显示方法主流程图,对于一个完整的多视口应用程序,可以按以下步骤来完成先创建一个帧缓存、一个父通道、多个子通道、相应的视点、相应的场景及与每个场景相对应的实体对象、光源和雾模型;接着,使用函数将实体对象、光源模型、雾模型加入到相应的场景中;再将每个视点和场景再加入到相对应的子通道中,最后将所有子通道都加入到父通道中,再将父通道加入到帧缓存中。
参阅图2,首先要创建虚拟环境中的资源并对各种资源进行组织。为了便于数据管理和访问,本发明采用树状结构有层次地组织虚拟环境中的各种数据资源。由虚拟环境的需要决定,在本发明中涉及的主要数据资源为帧缓存、通道、视点、场景、对象集、环境构成选项集等,它们之间存在比较明确的层次关系帧缓存包含一个父通道,父通道可以包含多个子通道,每个子通道中都有自己的视点和场景,它们的场景可以相同,也可以不同,但视点一般不相同,每个场景中还有自己的对象实体和环境构成选项。
将以上主要资源分类后,为了满足设计要求,要定义它们的属性,并且为每种属性编写相应的函数。这样,当属性变化时,只需自动调用相应函数即可。
图3中的数据也是整个虚拟环境的核心数据,因此对虚拟环境的同步更新、访问控制、系统崩溃恢复等功能也是通过维护该树型结构的数据来完成的。
在开发虚拟环境的仿真程序时,初始化都需要大量的数据。为了程序的通用性,这些数据不可能写在程序中,而应将程序和数据分开。但分开后,如果让用户直接输入程序所需的各类数据,对于简单的系统还可以,对于复杂的仿真程序,就需要开发一个资源定制工具,让用户通过这个可视化的工具,很容易、方便、快速地定制出用户所需要的战场环境及其中的各类仿真实体的几何参数和性能参数。
本发明正是考虑仿真的通用性,采用了数据与程序分开的原则。只要将数据输入仿真程序,多视口图形效果会自动产生。为了定制多视口数据,本发明开发了一个资源定制工具,采用可视化的方法生成多视口数据。它作为整个发明的一部分,可进一步方便多视口的应用。
该工具具有画图的基本功能,同时可编辑各资源的数据。在设计中采用了继承思想,先定义基本图形单元类,然后常用画图元素类从它继承,多视口中的资源类又从常用画图元素类继承。如图4所示。
基本图形单元类定义一般图形的基本属性如线色、线型、线宽、填充颜色、图形中心点位置、所在层号等和基本操作如设置线色、线型、线宽、填充颜色、图形绘制等。
从基本图形单元类继承的类有直线类、折线类、曲线类、文本编辑框类、椭圆类、矩形类。
帧缓存、通道、视点、场景、实体、雾模型、光照模型等类分别从椭圆类、矩形类继承,其中每个类都有包含其属性的数据成员。在每个资源类的定义中定义资源的属性,并且为每种属性编写相应的函数。这样,当属性变化时,只需自动调用相应函数即可。各主要资源的定义及属性如下帧缓存。创建帧缓存的目的是为了在软件、图形硬件之间建立联系。每个仿真应用程序都必须创建至少一个帧缓存。还必须向帧缓存之中加入通道,通道通常包括用户定义的场景和相机,以完成软件之间的连接。帧缓存的属性有帧缓存的名称、在该帧缓存中加入的通道名称。
通道。通道是一个计算机图形生成术语,它与帧缓存相连,把视频信号传到物理输出媒介。对于观察者来说,通道代表一个“3D绘图表面”。在大多数的仿真应用程序中,用户必须创建一个通道,在需要的时候,还要设定适当的填涂颜色、视口坐标等,并且应在通道和帧缓存之间建立连接。通道的属性如下通道名称、视点大小、擦除颜色、远剪切面、近剪切面。
视点。视点是眼睛所处的位置,用来控制动态的视图。一般情况下,每个应用程序都有至少一个视点,必须被添加到通道之中。视点的属性有相机名称、指定视角、当前视角、最小视角、最大视角、跟踪位置、指定相机放置在世界坐标系中用户指定的位置。
场景。每个仿真应用程序都需要至少一个场景,其目的是在绘制三维图形时,在一个特定的通道中管理、控制各个实体。在一个场景中,还可以包括其它的资源,例如对象、光源、雾等,每种资源的数目依据用户的需要,可以是一个或者多个。场景属性如下场景名称、场景中的第一个对象、场景中的最后一个对象、场景中的雾、场景中的第一个光源、场景中的最后一个光源。
对象集。对象集是指场景中所有实体对象的集合,包括静态实体对象如地形和动态实体对象如坦克、飞机等,对象集是一个链表结构,包括多个结点,其中每个对象均表示一个实体对象。对象属性如下对象名称、绘制顺序、位置、旋转角度、对象在场景中x、y、z三个坐标轴的比例、坐标系统。
环境构成选项集。为了增进虚拟环境的逼真效果,在场景之中可以加入环境构成选项,用来模拟自然界中雾、光源等特殊效果,但是在用户的应用程序中,这一资源并不是必须的,它们的有无完全取决于程序的需求。为了在程序中加入雾的效果,必须把一个预先定义好的雾模型添加到场景中。为了使程序中具有动态的光照效果,可以在场景中加入一个或多个光源,被加入的光源必须预先定义好。
参阅图4,这是本发明一个实施例一个坦克的多视口显示程序中数据结构图,图中帧缓存与一个父通道相连,再让父通道连接三个子通道,三个子通道中的视点和场景分别是车长、驾驶员、炮长的,它们的场景相同。
先定义帧缓存、通道、视点和场景等资源,再创建帧缓存、父通道、子通道、视点和场景等资源,设置帧缓存、父通道、子通道、视点和场景等资源的名称,向场景中增加的地形,坦克,光源和雾模型,设置通道属性,将图形资源按要求连接起来,将三个子通道加入父通道,将父通道加入帧缓存。
这样,就完成了多视口显示程序的初始化阶段,然后进入仿真循环阶段。在每个仿真循环中,只要以一定顺序依次实时更新各项资源为当前值就可以完成对虚拟环境的多视口显示。
权利要求
1.多视口虚拟环境显示方法,其特征在于该方法包括下述步骤(1)创建帧缓存、父通道、子通道、视点和场景等虚拟环境资源;(2)将实体对象和环境选项加入到相应的场景中;(3)将视点和场景加入到相对应的子通道中;(4)将父通道加入到帧缓存中。
2.根据权利要求1所述的多视口虚拟环境显示方法,其特征在于所说的环境选项是雾模型或光照模型。
3.根据权利要求1所述的多视口虚拟环境显示方法,其特征在于步骤(1)所说的虚拟环境资源采用树状结构组织方法。
4.根据权利要求3所述的多视口虚拟环境显示方法,其特征在于虚拟环境资源采用树状结构组织方法是指帧缓存包含一个父通道,父通道可以包含多个子通道,每个子通道中都有自己的视点和场景,它们的场景可以相同,也可以不同,每个场景中还有自己的对象实体和环境构成选项。
5.根据权利要求1所述的多视口虚拟环境显示方法,其特征在于步骤(1)还包括下述定制资源的步骤(1)定义基本图形单元类;(2)常用画图元素类从基本图形单元类继承;(3)多视口中的资源类从常用画图元素类继承。
全文摘要
本发明属于计算机虚拟现实和计算机图形学技术领域,尤其是涉及一种计算机多视口虚拟环境显示方法。需要解决单视口仿真程序不能满足需求和效率较低的问题。多视口虚拟环境显示方法包括创建帧缓存、父通道、子通道、视点和场景等虚拟环境资源,将实体对象和环境选项加入到相应的场景中,将视点和场景加入到相对应的子通道中,将父通道加入到帧缓存中等步骤。本发明可以更好地改善虚拟环境显示效果,使图形界面的设置更灵活方便,各个视口彼此独立,控制方便、灵活。本发明是一种通用工具,可以用于多种实体的仿真,也可用于对整个虚拟环境的仿真。
文档编号G06F9/455GK1409216SQ0213073
公开日2003年4月9日 申请日期2002年9月18日 优先权日2002年9月18日
发明者沈旭昆, 张景骞, 梁晓辉, 刘思源 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1