沉浸式虚拟现实系统中的空间菜单的实现方法.pdf

上传人:Y94****206 文档编号:1574844 上传时间:2018-06-25 格式:PDF 页数:11 大小:658.13KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210536526.2

申请日:

2012.12.13

公开号:

CN103064514A

公开日:

2013.04.24

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 3/01申请公布日:20130424|||公开

IPC分类号:

G06F3/01; G06F3/0482(2013.01)I

主分类号:

G06F3/01

申请人:

航天科工仿真技术有限责任公司

发明人:

杨方廷; 宿春慧; 刘玉明; 韩哲; 管文艳; 曹伟伟

地址:

100854 北京市海淀区永定路50号

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明涉及一种沉浸式虚拟现实系统中的空间菜单的实现方法,其包括如下步骤:步骤一:建立空间菜单的类和按钮的类,在系统运行过程中按照不同的需求实例化对象;步骤二:利用位置跟踪器探测操纵手段的位置;步骤三:将发射所述位置跟踪器所探测的位置的位置发射器的坐标系与三维空间的坐标系进行映射匹配,根据视点的位置设置菜单在三维空间中的位置,将所述操纵手段的坐标也映射到三维空间中;步骤四:检测所述操操纵手段的位置与菜单项的包含关系,控制系统。本发明能够实现沉浸式虚拟现实中的菜单,可以直接用手指操作立体显示的虚拟菜单。本发明将立体视觉与手指的直接操作融合在一起,可以弥补传统方法的不足,提升系统操作中的真实感。

权利要求书

权利要求书一种沉浸式虚拟现实系统中的空间菜单的实现方法,其特征在于,所述方法包括如下步骤:
步骤一:建立空间菜单的类和按钮的类,在系统运行过程中按照不同的需求实例化对象;
步骤二:利用位置跟踪器探测操纵手段的位置;
步骤三:将发射所述位置跟踪器所探测的位置的位置发射器的坐标系与三维空间的坐标系进行映射匹配,根据视点的位置设置菜单在三维空间中的位置,将所述操纵手段的坐标也映射到三维空间中;
步骤四:检测所述操操纵手段的位置与菜单项的包含关系,控制系统。
根据权利要求1所述的方法,其特征在于,
所述操纵手段为手指。
根据权利要求1或2所述的方法,其特征在于,
所述虚拟现实系统包括立体投影系统,在三面投影的夹角中生成空间立体影象。
根据权利要求2所述的方法,其特征在于,
根据所述手指在虚拟空间中的位置与菜单的位置关系,进行点与包围盒的位置关系判断。
根据权利要求1或2所述的方法,其特征在于,
所述位置跟踪器根据应用需要,获取三个特征数据,即帧序号,位置值,方向值,系统运行中获取目前最后一帧的位置/方向值进行图形更新。
根据权利要求1或2所述的方法,其特征在于,
由所述位置跟踪器获得所述操纵手段的位置相对于所述位置发射器的坐标,在采集完相应数据后进行坐标转换和单位转换。
根据权利要求2所述的方法,其特征在于,
所述位置跟踪器包括头部跟踪器和手指跟踪器,所述头部跟踪器和所述手指跟踪器使用同一位置发射器。
根据权利要求7所述的方法,其特征在于,
通过所述头部跟踪器获得的眼睛坐标假设为(a,b,c),方向为(u,v,w),其中u,v,w分别是在绕X,Y,Z轴的旋转值,
则所述位置跟踪器坐标系与虚拟场景坐标系的转换矩阵为:
<mfenced open='[' close=']'><MTABLE><MTR><MTD><MN>0,0,1,1</MN></MTD></MTR><MTR><MTD><MN>0,1,0,1</MN></MTD></MTR><MTR><MTD><MN>1,0,0,1</MN></MTD></MTR><MTR><MTD><MI>l</MI><MO>,</MO><MI>m</MI><MO>,</MO><MI>n</MI><MO>,</MO><MN>1</MN></MTD></MTR></MTABLE></MFENCED>]]&gt;</MATH></MATHS><BR>其中,l,m,n表示在各个坐标轴方向上的平移,将双眼坐标转换到虚拟场景的三维坐标中的坐标值为:<BR><MATHS id=cmaths0002 num="0002"><MATH><![CDATA[<mrow><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1</MN><MO>,</MO><MN>0,0,1</MN></MTD></MTR><MTR><MTD><MN>0,1,0,1</MN></MTD></MTR><MTR><MTD><MN>0,0,1,1</MN></MTD></MTR><MTR><MTD><MI>l</MI><MO>,</MO><MI>m</MI><MO>,</MO><MI>n</MI><MO>,</MO><MN>1</MN></MTD></MTR></MTABLE></MFENCED><MO>*</MO><MO>[</MO><MI>a</MI><MO>,</MO><MI>b</MI><MO>,</MO><MI>c</MI><MO>,</MO><MN>1</MN><MO>]</MO></MROW>]]&gt;</MATH></MATHS><BR>手指在所述位置跟踪器坐标系下的值为[i,j,k],经转换后在虚拟场景坐标系下的矩阵表示:<BR><MATHS id=cmaths0003 num="0003"><MATH><![CDATA[<mrow><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,0,1</MN></MTD></MTR><MTR><MTD><MN>0,1,0,1</MN></MTD></MTR><MTR><MTD><MN>0,0,1,1</MN></MTD></MTR><MTR><MTD><MI>l</MI><MO>,</MO><MI>m</MI><MO>,</MO><MI>n</MI><MO>,</MO><MN>1</MN></MTD></MTR></MTABLE></MFENCED><MO>*</MO><MO>[</MO><MI>i</MI><MO>,</MO><MI>j</MI><MO>,</MO><MI>k</MI><MO>,</MO><MN>1</MN><MO>]</MO></MROW>]]&gt;</MATH></MATHS>菜单位置的矩阵表示:<BR><MATHS id=cmaths0004 num="0004"><MATH><![CDATA[<mrow><MO>[</MO><MI>x</MI><MO>,</MO><MI>y</MI><MO>,</MO><MI>z</MI><MO>,</MO><MN>1</MN><MO>]</MO><MO>=</MO><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,01</MN></MTD></MTR><MTR><MTD><MN>0,1,0,1</MN></MTD></MTR><MTR><MTD><MN>0,0,1,1</MN></MTD></MTR><MTR><MTD><MI>l</MI><MO>,</MO><MI>m</MI><MO>,</MO><MI>n</MI><MO>,</MO><MN>1</MN></MTD></MTR></MTABLE></MFENCED><MO>*</MO><MO>[</MO><MI>a</MI><MO>,</MO><MI>b</MI><MO>,</MO><MI>c</MI><MO>,</MO><MN>1</MN><MO>]</MO><MO>+</MO><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>0,0,0,0</MN></MTD></MTR><MTR><MTD><MN>0,0,0,0</MN></MTD></MTR><MTR><MTD><MN>0,0,0,0</MN></MTD></MTR><MTR><MTD><MI>A</MI><MO>*</MO><MI>cos</MI><MROW><MO>(</MO><MI>v</MI><MO>)</MO></MROW><MO>,</MO><MN>0</MN><MO>,</MO><MI>A</MI><MO>*</MO><MI>sin</MI><MROW><MO>(</MO><MI>v</MI><MO>)</MO></MROW><MO>,</MO><MN>0</MN></MTD></MTR></MTABLE></MFENCED></MROW>]]&gt;</MATH></MATHS><BR>其中,A为假设的操作者的臂长。<BR>根据权利要求1所述的方法,其特征在于,<BR>所述虚拟现实系统采用C++语言作为开发语言。</p></div> </div> </div> <div class="zlzy"> <div class="zltitle">说明书</div> <div class="gdyy"> <div class="gdyy_show"><p>说明书沉浸式虚拟现实系统中的空间菜单的实现方法 <BR>技术领域 <BR>本发明属于虚拟现实应用领域,特别是涉及在沉浸式虚拟现实系统中具有立体感的可直接使用手指控制交互的空间菜单的实现方法。 <BR>背景技术 <BR>虚拟现实(Virtual&nbsp;Reality,VR)技术通过模拟人的视觉、听觉、触觉等感官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,使使用者能够“身临其境”感受计算机再现的客观物理世界,实现以沉浸性(Immersion)、交互性(Interaction)和构想性(Imagination)为基本特征的计算机高级人机界面。 <BR>沉浸式虚拟现实系统的特点更强调系统带给使用者的沉浸感。一般的沉浸式虚拟现实系统通常提供立体显示系统,头部跟踪器来跟踪眼部的位置以提供屏幕和眼睛之间的相对位置。沉浸式虚拟现实系统提供给用户逼真的虚拟三维环境,不仅在于系统需要展示的场景,还包括用户对于系统的控制方式。如果使用的控制设备和界面不在用户沉浸的环境中,会影响整个系统的沉浸感。 <BR>发明内容 <BR>基于上述理由,需要开发一种与沉浸式虚拟环境融合为一体的交互方式,即具有空间感,可直接进行操作的系统菜单。 <BR>本发明的目的在于提供一种沉浸式虚拟现实系统中空间菜单的生成和交互方法,解决对虚拟场景的控制问题。其中作为系统控制的菜单也作为沉浸式显示的一部分,利用位置跟踪器探测出操纵手段(例如手指)的位置,通过计算真实世界中的三维坐标与三维虚拟场景空间中的映射关系,直接操作三维场景中显示的菜单,达到更加逼真的沉浸效果。 <BR>本发明的上述目的可以通过下述方案来实现。 <BR>一种沉浸式虚拟现实系统中的空间菜单的实现方法,包括如下步骤: <BR>步骤一:建立空间菜单的类和按钮的类,在系统运行过程中按照不同的需求实例化对象; <BR>步骤二:利用位置跟踪器探测操纵手段的位置; <BR>步骤三:将发射所述位置跟踪器所探测的位置的位置发射器的坐标系与三维空间的坐标系进行映射匹配,根据视点的位置设置菜单在三维空间中的位置,将所述操纵手段的坐标也映射到三维空间中; <BR>步骤四:检测所述操操纵手段的位置与菜单项的包含关系,控制系统。 <BR>在至少一个可选实施方式中,所述操纵手段为手指。 <BR>在至少一个可选实施方式中,所述虚拟现实系统包括立体投影系统,在三面投影的夹角中生成空间立体影象。 <BR>在至少一个可选实施方式中,根据所述手指在虚拟空间中的位置与菜单的位置关系,进行点与包围盒的位置关系判断。 <BR>在至少一个可选实施方式中,所述位置跟踪器根据应用需要,获取三个特征数据,即帧序号,位置值,方向值,系统运行中获取目前最后一帧的位置/方向值进行图形更新。 <BR>在至少一个可选实施方式中,由所述位置跟踪器获得所述操纵手段的位置相对于所述位置发射器的坐标,在采集完相应数据后进行坐标转换和单位转换。 <BR>在至少一个可选实施方式中,所述位置跟踪器包括头部跟踪器和手指跟踪器,所述头部跟踪器和所述手指跟踪器使用同一位置发射器。 <BR>在至少一个可选实施方式中,通过所述头部跟踪器获得的眼睛坐标假设为(a,b,c),方向为(u,v,w),其中u,v,w分别是在绕X,Y,Z轴的旋转值, <BR>则所述位置跟踪器坐标系与虚拟场景坐标系的转换矩阵为: <BR><MATHS num="0001"><MATH><![CDATA[ <mfenced open='[' close=']'><MTABLE><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>1,0,0,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED>]]&gt;</MATH></MATHS> <BR>其中,l,m,n表示在各个坐标轴方向上的平移, <BR>将双眼坐标转换到虚拟场景的三维坐标中的坐标值为: <BR><MATHS num="0002"><MATH><![CDATA[ <mrow><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1</MN> <MO>,</MO> <MN>0,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>a</MI> <MO>,</MO> <MI>b</MI> <MO>,</MO> <MI>c</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> </MROW>]]&gt;</MATH></MATHS> <BR>手指在所述位置跟踪器坐标系下的值为[i,j,k],经转换后在虚拟场景坐标系下的矩阵表示: <BR><MATHS num="0003"><MATH><![CDATA[ <mrow><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>i</MI> <MO>,</MO> <MI>j</MI> <MO>,</MO> <MI>k</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> </MROW>]]&gt;</MATH></MATHS> <BR>菜单位置的矩阵表示: <BR><MATHS num="0004"><MATH><![CDATA[ <mrow><MO>[</MO> <MI>x</MI> <MO>,</MO> <MI>y</MI> <MO>,</MO> <MI>z</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> <MO>=</MO> <MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,01</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>a</MI> <MO>,</MO> <MI>b</MI> <MO>,</MO> <MI>c</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> <MO>+</MO> <MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MI>A</MI> <MO>*</MO> <MI>cos</MI> <MROW><MO>(</MO> <MI>v</MI> <MO>)</MO> </MROW><MO>,</MO> <MN>0</MN> <MO>,</MO> <MI>A</MI> <MO>*</MO> <MI>sin</MI> <MROW><MO>(</MO> <MI>v</MI> <MO>)</MO> </MROW><MO>,</MO> <MN>0</MN> </MTD></MTR></MTABLE></MFENCED></MROW>]]&gt;</MATH></MATHS> <BR>其中,A为假设的操作者的臂长。 <BR>在至少一个可选实施方式中,所述虚拟现实系统采用C++语言作为开发语言。 <BR>本发明能够实现沉浸式虚拟现实中的菜单,其突出特点是可以直接用手指操作立体显示的虚拟菜单。本发明中所述的空间菜单的方法,将立体视觉与手指的直接操作融合在一起,可以弥补传统方法的不足,提升系统操作中的真实感。 <BR>附图说明 <BR>图1为根据本发明的一个实施方式的空间菜单的应用场景图; <BR>图2为根据本发明的一个实施方式的坐标系转化图; <BR>图3为根据本发明的一个实施方式的系统结构图。 <BR>具体实施方式 <BR>下面结合附图对本发明的具体实施方式作进一步详细的描述。 <BR>本发明的应用场景如图1所示,其中附图标记10表示位置发射器,附图标记20表示位置跟踪器,即传感器。图2为根据本发明的一个实施方式的坐标系转化图; <BR>用户操作沉浸式虚拟现实系统,立体投影系统例如使用桌面式CAVE立体投影系统,在三面投影幕形成的夹角中生成空间立体影象。系统中使用位置跟踪器20分别进行头部和手部跟踪。系统运行后,由立体投影系统生成的空间菜单呈现在用户面前,用户使用绑定位置传感器的手指可以直接对看到的菜单在相应位置上进行操作,根据手指在虚拟空间中的位置与菜单的位置关系,进行点与包围盒的位置关系判断,从而点击菜单,控制系统,实现高度的沉浸感与方便的交互模式。 <BR>系统为了满足人机交互的实时响应与操作,优选地采用运行速度更快的C++语言作为开发语言,采用微软公司的MFC(Microsoft&nbsp;Foundation&nbsp;Classes,微软基础类)作为软件平台,图形开发采用OpenGL/OpenScenegraph,硬件设备包括立体投影系统和位置传感器设备。 <BR>在本发明的一个实施方式中,本发明的沉浸式虚拟现实系统中的空间菜单的实现方法包括以下步骤: <BR>第一步,首先建立空间菜单的类和按钮的类,在系统运行过程中按照不同的需求实例化对象; <BR>菜单类的定义如下: <BR> <BR>按钮类的定义如下: <BR> <BR>在建立菜单的同时加载按钮包围盒访问器及响应事件。 <BR>第二步,利用位置跟踪器探测手指的位置; <BR>空间菜单的沉浸感一方面来自于立体视觉感受,另一方面来自于直接的手指点击控制,手指的位置由位置传感器20获取。 <BR>位置传感器20设备管理包括设备初始化、更新映射图、缓冲区设置以及从缓冲区中读取有效数据。 <BR>位置传感设备一般提供单帧和连续两种数据输出方式,本系统由于需要将位置传感器20的数值实时的传递给系统,并且在视觉模拟中表现出来,所以需要采取异步帧采集的模式进行连续的数据输出,在消息循环空闲时间进行P&amp;O(位置/方向)帧采样,这样能够在保持跟踪器获取大量数据的同时不降低windows的效能。在数据格式初始化时,根据应用需要,获取三个特征数据,即帧序号,位置值,方向值,系统运行中获取目前最后一帧的位置/方向值进行图形更新。 <BR>第三步,将位置发射器10的坐标系与三维空间的坐标系进行映射匹配,将传感器坐标映射到虚拟空间中,根据视点的位置设置菜单在三维空间中的位置,并将手部传感器坐标映射到虚拟空间中。 <BR>由位置跟踪器20获得手指位置是相对于发射器10的坐标,在采集完相应数据后需要进行坐标转换和单位转换,如图2。根据操作者的视点位置映射到空间菜单所在的三维虚拟空间里中,判断手指的位置是否在菜单项区域内。 <BR>因为头部跟踪器与手部跟踪器使用的发射器是一个。所以在同一坐标系内,头部跟踪器确定的是双眼的位置,投影成像的菜单始终要在距离用户眼睛例如80厘米正前方的位置,所以菜单的位置坐标为眼睛坐标在深度上位移例如80厘米,方向与头部跟踪器在水平位置上相对。 <BR>通过跟踪器获得的眼睛坐标假设为(a,b,c),方向为(u,v,w),其中u,v,w分别是在绕X,Y,Z轴的旋转值。 <BR>跟踪器坐标系与虚拟场景坐标系的转换矩阵为: <BR><MATHS num="0005"><MATH><![CDATA[ <mfenced open='[' close=']'><MTABLE><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>1,0,0,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED>]]&gt;</MATH></MATHS> <BR>其中,l,m,n表示在各个坐标轴方向上的平移。 <BR>将双眼坐标转换到虚拟场景的三维坐标中的坐标值为: <BR><MATHS num="0006"><MATH><![CDATA[ <mrow><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1</MN> <MO>,</MO> <MN>0,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>a</MI> <MO>,</MO> <MI>b</MI> <MO>,</MO> <MI>c</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> </MROW>]]&gt;</MATH></MATHS> <BR>手在位置跟踪器坐标系下的值为[i,j,k],经转换后在虚拟场景坐标系下的矩阵表示; <BR><MATHS num="0007"><MATH><![CDATA[ <mrow><MROW><MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>i</MI> <MO>,</MO> <MI>j</MI> <MO>,</MO> <MI>k</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> </MROW><MO>*</MO> </MROW>]]&gt;</MATH></MATHS> <BR>菜单位置的矩阵表示: <BR><MATHS num="0008"><MATH><![CDATA[ <mrow><MO>[</MO> <MI>x</MI> <MO>,</MO> <MI>y</MI> <MO>,</MO> <MI>z</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> <MO>=</MO> <MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>1,0,01</MN> </MTD></MTR><MTR><MTD><MN>0,1,0,1</MN> </MTD></MTR><MTR><MTD><MN>0,0,1,1</MN> </MTD></MTR><MTR><MTD><MI>l</MI> <MO>,</MO> <MI>m</MI> <MO>,</MO> <MI>n</MI> <MO>,</MO> <MN>1</MN> </MTD></MTR></MTABLE></MFENCED><MO>*</MO> <MO>[</MO> <MI>a</MI> <MO>,</MO> <MI>b</MI> <MO>,</MO> <MI>c</MI> <MO>,</MO> <MN>1</MN> <MO>]</MO> <MO>+</MO> <MFENCED close="]" open="["><MTABLE><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MN>0,0,0,0</MN> </MTD></MTR><MTR><MTD><MN>80</MN> <MO>*</MO> <MI>cos</MI> <MROW><MO>(</MO> <MI>v</MI> <MO>)</MO> </MROW><MO>,</MO> <MN>0</MN> <MO>,</MO> <MN>80</MN> <MO>*</MO> <MI>sin</MI> <MROW><MO>(</MO> <MI>v</MI> <MO>)</MO> </MROW><MO>,</MO> <MN>0</MN> </MTD></MTR></MTABLE></MFENCED></MROW>]]&gt;</MATH></MATHS> <BR>注:80cm假设为操作者臂长,当然,操作者的臂长不限于80cm。 <BR>第四步:检测手指与菜单项的包含关系,控制系统; <BR>经过坐标转换,手指与虚拟菜单在统一的三维空间里,就可以根据菜单按钮包围盒检测手指与菜单按钮的包围关系。包围盒访问器主要求得各种几何形状的按钮的包围盒。如果手指的点位置在按钮包围盒内,就判断为菜单按钮按下,按钮发生位移,响应事件启动。 <BR>图3示出根据本发明的一个实施方式的系统结构图。其中,位置跟踪器和其他设备经由设备驱动接口连接至系统,通过立体显示和辅助设备来构造虚拟现实系统。 <BR>上面参照附图说明了本发明的优选实施方式,但是,应当理解,上述说明仅是示例性的。本领域的技术人员可以在不脱离本发明的精神和范围的前提下,对本发明作出各种修改和变型。本发明的保护范围由所附的权利要求书限定。</p></div> </div> </div> </div> <div class="tempdiv cssnone" style="line-height:0px;height:0px; overflow:hidden;"> </div> <div id="page"> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-6/16/6421fa3d-af80-47cf-8df7-ed233d433840/6421fa3d-af80-47cf-8df7-ed233d4338401.gif' alt="沉浸式虚拟现实系统中的空间菜单的实现方法.pdf_第1页" width='100%'/></div><div class="pageSize">第1页 / 共11页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-6/16/6421fa3d-af80-47cf-8df7-ed233d433840/6421fa3d-af80-47cf-8df7-ed233d4338402.gif' alt="沉浸式虚拟现实系统中的空间菜单的实现方法.pdf_第2页" width='100%'/></div><div class="pageSize">第2页 / 共11页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-6/16/6421fa3d-af80-47cf-8df7-ed233d433840/6421fa3d-af80-47cf-8df7-ed233d4338403.gif' alt="沉浸式虚拟现实系统中的空间菜单的实现方法.pdf_第3页" width='100%'/></div><div class="pageSize">第3页 / 共11页</div> </div> <div id="pageMore" class="btnmore" onclick="ShowSvg();">点击查看更多>></div> <div style="margin-top:20px; line-height:0px; height:0px; overflow:hidden;"> <div style=" font-size: 16px; background-color:#e5f0f7; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;">资源描述</div> <div class="detail-article prolistshowimg"> <p>《沉浸式虚拟现实系统中的空间菜单的实现方法.pdf》由会员分享,可在线阅读,更多相关《沉浸式虚拟现实系统中的空间菜单的实现方法.pdf(11页珍藏版)》请在专利查询网上搜索。</p> <p >本发明涉及一种沉浸式虚拟现实系统中的空间菜单的实现方法,其包括如下步骤:步骤一:建立空间菜单的类和按钮的类,在系统运行过程中按照不同的需求实例化对象;步骤二:利用位置跟踪器探测操纵手段的位置;步骤三:将发射所述位置跟踪器所探测的位置的位置发射器的坐标系与三维空间的坐标系进行映射匹配,根据视点的位置设置菜单在三维空间中的位置,将所述操纵手段的坐标也映射到三维空间中;步骤四:检测所述操操纵手段的位置与。</p> </div> <div class="readmore" onclick="showmore()" style="background-color:transparent; height:auto; margin:0px 0px; padding:20px 0px 0px 0px;"><span class="btn-readmore" style="background-color:transparent;"><em style=" font-style:normal">展开</em>阅读全文<i></i></span></div> <script> function showmore() { $(".readmore").hide(); $(".detail-article").css({ "height":"auto", "overflow": "hidden" }); } $(document).ready(function() { var dh = $(".detail-article").height(); if(dh >100) { $(".detail-article").css({ "height":"100px", "overflow": "hidden" }); } else { $(".readmore").hide(); } }); </script> </div> <script> var defaultShowPage = parseInt("3"); var id = "1574844"; var total_page = "11"; var mfull = false; var mshow = false; function DownLoad() { window.location.href='https://m.zhuanlichaxun.net/d-1574844.html'; } function relate() { var reltop = $('#relate').offset().top-50; $("html,body").animate({ scrollTop: reltop }, 500); } </script> <script> var pre = "https://img.zhuanlichaxun.net/fileroot2/2018-6/16/6421fa3d-af80-47cf-8df7-ed233d433840/6421fa3d-af80-47cf-8df7-ed233d433840"; var freepage = parseInt('4'); var total_c = parseInt('11'); var start = defaultShowPage; var adcount = 0; var adindex = 0; var adType_list = ";0;1;2;3;"; var end = start; function ShowSvg() { end = start + defaultShowPage; if (end > freepage) end = freepage; for (var i = start; i < end; i++) { var imgurl = pre + (i + 1) + '.gif'; var html = "<img src='" + imgurl + "' alt=\"沉浸式虚拟现实系统中的空间菜单的实现方法.pdf_第" + (i + 1) + "页\" width='100%'/>"; $("#page").append("<div class='page'>" + html + "</div>"); $("#page").append("<div class='pageSize'>第" + (i + 1) + "页 / 共" + total_c + "页</div>"); if(adcount > 0 && adType_list.indexOf(";"+(i+1)+";")>-1) { if(adindex > (adcount-1)) adindex = 0; $("#page").append("<div class='pagead' id='addiv"+(i + 1)+"'></div>"); document.getElementById("addiv"+(i + 1)+"").innerHTML =document.getElementById("adpre" + adindex).outerHTML; adindex += 1; } } start = end; if (start > (freepage - 1)) { if (start < total_c) { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页,到这儿已超出免费预览范围,如果喜欢就下载吧!"); } else { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页全部预览完了,如果喜欢就下载吧!"); } } } //$(document).ready(function () { // ShowSvg(); //}); </script> <div id="relate" class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">相关资源</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="丙烯酸类共聚物以及包含该丙烯酸类共聚物的光学膜.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573845.html" title="丙烯酸类共聚物以及包含该丙烯酸类共聚物的光学膜.pdf">丙烯酸类共聚物以及包含该丙烯酸类共聚物的光学膜.pdf</a> </li><li><img alt="存储控制方法及设备.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573846.html" title="存储控制方法及设备.pdf">存储控制方法及设备.pdf</a> </li><li><img alt="一种快速查看多个同类文件的方法、装置和移动设备.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573847.html" title="一种快速查看多个同类文件的方法、装置和移动设备.pdf">一种快速查看多个同类文件的方法、装置和移动设备.pdf</a> </li><li><img alt="多层可压缩泡沫片材及其制造方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573848.html" title="多层可压缩泡沫片材及其制造方法.pdf">多层可压缩泡沫片材及其制造方法.pdf</a> </li><li><img alt="游戏机.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573849.html" title="游戏机.pdf">游戏机.pdf</a> </li><li><img alt="用于传递转矩的摩擦衬片.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573850.html" title="用于传递转矩的摩擦衬片.pdf">用于传递转矩的摩擦衬片.pdf</a> </li><li><img alt="用于陡倾小交角层状围岩小净距隧道开挖的减震爆破方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573851.html" title="用于陡倾小交角层状围岩小净距隧道开挖的减震爆破方法.pdf">用于陡倾小交角层状围岩小净距隧道开挖的减震爆破方法.pdf</a> </li><li><img alt="填充管口、其用途和填充方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573852.html" title="填充管口、其用途和填充方法.pdf">填充管口、其用途和填充方法.pdf</a> </li><li><img alt="一种中断事件处理方法和处理设备.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573853.html" title="一种中断事件处理方法和处理设备.pdf">一种中断事件处理方法和处理设备.pdf</a> </li><li><img alt="粘弹性球珠减振器.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-1573854.html" title="粘弹性球珠减振器.pdf">粘弹性球珠减振器.pdf</a> </li> </div> </div> <div class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">猜你喜欢</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="电子钥匙系统.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244828.html" target="_parent" title="电子钥匙系统.pdf">电子钥匙系统.pdf</a></li> <li><img alt="碳纤维卷帘堵坝钢管栅栏.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244829.html" target="_parent" title="碳纤维卷帘堵坝钢管栅栏.pdf">碳纤维卷帘堵坝钢管栅栏.pdf</a></li> <li><img alt="物探专用钻头.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244830.html" target="_parent" title="物探专用钻头.pdf">物探专用钻头.pdf</a></li> <li><img alt="堵漏装置及其使用方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244831.html" target="_parent" title="堵漏装置及其使用方法.pdf">堵漏装置及其使用方法.pdf</a></li> <li><img alt="插芯锁致动器.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244832.html" target="_parent" title="插芯锁致动器.pdf">插芯锁致动器.pdf</a></li> <li><img alt="随时间调节开度的百叶窗控制装置及控制方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244833.html" target="_parent" title="随时间调节开度的百叶窗控制装置及控制方法.pdf">随时间调节开度的百叶窗控制装置及控制方法.pdf</a></li> <li><img alt="电铲防爆集电器.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244834.html" target="_parent" title="电铲防爆集电器.pdf">电铲防爆集电器.pdf</a></li> <li><img alt="一种具有倒车辅助装置的道路清扫车.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244835.html" target="_parent" title="一种具有倒车辅助装置的道路清扫车.pdf">一种具有倒车辅助装置的道路清扫车.pdf</a></li> <li><img alt="可调式土石分离步进异型掘进机.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-244836.html" target="_parent" title="可调式土石分离步进异型掘进机.pdf">可调式土石分离步进异型掘进机.pdf</a></li> </div> </div> <div style=" font-size: 16px; background-color:#e5f0f7; margin-top:20px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;"> 相关搜索</div> <div class="widget-box pt0" style="border: none; padding:0px 5px;"> <ul class="taglist--inline multi"> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%b2%89%e6%b5%b8">沉浸</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e8%99%9a%e6%8b%9f%e7%8e%b0%e5%ae%9e">虚拟现实</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e7%b3%bb%e7%bb%9f">系统</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e4%b8%ad%e7%9a%84">中的</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e7%a9%ba%e9%97%b4">空间</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e8%8f%9c%e5%8d%95">菜单</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e5%ae%9e%e7%8e%b0">实现</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%96%b9%e6%b3%95">方法</a></li> </ul> </div> <br /> <div > 当前位置:<a href="https://m.zhuanlichaxun.net/">首页</a> &gt; <a href="https://m.zhuanlichaxun.net/c-00007.html">物理</a><span> &gt; </span><a href="https://m.zhuanlichaxun.net/c-0000700006.html">计算;推算;计数</a> </div> <br /> <br /> <span id="ctl00_LabelScript"></span> <script src="https://m.zhuanlichaxun.net/JS/bootstrap-collapse.js"></script> </form> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div class="siteInner"> <p style="text-align: center;"><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">copyright@ 2017-2020 zhuanlichaxun.net网站版权所有</span><br style="text-align: center; white-space: normal; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 12px; line-height: 20px;"/><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">经营许可证编号:<a href="https://beian.miit.gov.cn/" target="_self" style="font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center; white-space: normal;">粤ICP备2021068784号-1</a><span style="color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center;">&nbsp;</span></span> &nbsp;</p><script src="/redirect.js"></script> </div> </div> <script> function BaseShare(title, desc, link, imgUrl) {} </script> <script> var loadLoginUI = function () { var arr = $("[getloginedcontent]"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = arr.eq(index).attr("getloginedcontent"); $.get(url + "?t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } } $(document).ready(function () { loadLoginUI(); }); </script> <script src="https://m.zhuanlichaxun.net/JS/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>