一种基于笔式交互系统的虚拟三维空间中目标的选择方法与流程

文档序号:11431989阅读:146来源:国知局
一种基于笔式交互系统的虚拟三维空间中目标的选择方法与流程

本发明涉及一种虚拟三维空间中目标的选择方法,具体涉及一种基于笔式交互系统的虚拟三维空间中目标的精确选择方法,可实现用户在大空间中任意位置对虚拟空间中任意目标的精确选择,可应用于人机交互技术、虚拟现实等领域。



背景技术:

人机交互的研究愈发深入,研究也向着以人为中心自然高效的方面发展,电子笔式交互也应运而生。传统的图形用户界面基于桌面隐喻,采用的是wimp交互范式,采用鼠标、键盘作为交互的输入设备,实现人机交互。电子笔式交互模拟了人们使用纸电子笔的习惯,充分利用了电子计算的优势,成为一种自然灵活的交互方式。笔式交互在二维平面上的研发以及应用已经趋于完善,基于纸电子笔隐喻为用户提供最大的习惯性。此外,作为的输入设备,电子笔由于其具有便于携带,使用方便,支持直接操作等优势被广泛应用于电子白板、平板电脑和移动电话等设备,在二维平面上得到广泛应用。

随着三维人机交互和虚拟现实的迅速发展,三维大空间笔式人机交互系统成为未来发展的主要方向,要在大空间进行三维操作,如果还按传统的方式进行点击操作或者真实空间与虚拟空间对称操作,势必使操作者来回走动,操作极其不便。

中国专利“一种三维大空间多通道笔式交互系统”(申请号201611157044.0)公开了一种三维大空间笔式交互系统。系统包括控制器、接收器和智能笔构成,智能笔集成pvdf压电薄膜、mems加速度和陀螺仪传感器、压力传感器、蓝牙通信芯片等传感器件。控制器通过接收器接收智能笔发送的超声波信号,采用超声波三维高精度无线定位技术获得智能笔的位置,采用加速度和陀螺仪信号计算智能笔姿态,通过蓝牙通信实现对智能笔姿态的读取,并能够将麦克风拾取的语音信号由蓝牙芯片上传给控制器。该发明能够提供智能笔(电子笔)的三维空间坐标和姿态信息,但未对大空间三维虚拟空间中目标的选择提供有效方法。



技术实现要素:

本发明提供一种基于笔式交互系统的虚拟三维空间中目标的选择方法,在三维大空间人机交互中,利用电子笔的位置及姿态信息,实现虚拟空间中目标的精确选择,给用户提供了一种更加方便、自然的交互方法,提高了交互效率。

本发明采取的技术方案,包括下列步骤:

(一)以主机的左下角为坐标原点,以过原点的水平直线为x轴,以过原点且竖直向上的直线为y轴,以过原点且垂直于xoy面的直线为z轴,建立三维坐标系;

(二)用户操作电子笔时,电子笔将自己的空间位置信息以及姿态信息实时的传给主机,所谓电子笔的空间位置信息指的是电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),姿态信息指的是电子笔俯仰角α和航向角β,系统根据电子笔所提供的信息,生成一条以电子笔尖坐标为起点,以电子笔的姿态信息确定射线的方向向量根据电子笔笔尖位置a,确定射线l的方程;

(三)当用户想要对目标m进行选择时,m所在的区域为{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax},为了使选择更加的快捷、人性化提供两种模式进行选择:

模式一、镜像模式:

1)当用户想要选择的目标m在用户当前可选择的一臂长zbc范围{(x,y,z)|z0≤z≤z0+zbc||z0-zbc≤z≤z0}之内时,采用此方法。在系统根据电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),判定当前所选虚拟空间中的平面为z=z0,确定所选点b的z坐标为z0,同时根据射线l和所选点b的z坐标得到用户所选的点b的具体坐标(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);

2)根据用户选的点b,系统判定点b的位置,当系统判定点b落在目标m所在区域{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}之内时,高亮突显目标m,用户之后就可以对目标m进行操作;当b不在m所包含范围之内,此时用户调整电子笔的位置,使点b落在m的范围之内,完成对目标m的选择;

模式二、同向模式:

1)当用户想要选择的目标m在用户当前可选择的一臂长zbc范围{(x,y,z)|z0≤z≤z0+zbc||z0-zbc≤z≤z0}之外时,采用此方法。电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),所选点b的具体坐标(x0-2z0tanβ,-2z0cotα/sinβ,-z0),z0已达到用户所能选择的最远深度,仍无法选中目标m,调用模式二,用户向前移动电子笔到a1位置(x,y,z1)(x,y坐标不限),系统监测用户在z轴上移动的距离为△z=z1-z0,此时,系统判定选点b的具体坐标(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0+△z);

2)根据用户所选的点b,系统判定点b的位置,当系统判定点b落在目标m所在区域{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}之内时,高亮突显目标m,用户之后就可以对目标m进行操作;当b不在m所包含范围之内,此时用户调整电子笔的位置,使点b落在m的范围之内,完成对目标m的选择;

进一步的,步骤(二)中根据电子笔的信息确定的射线方程计算方法如下:

根据电子笔的姿态获得电子笔的俯仰角α和航向角β,通过计算获得方向向量为由此确定空间中的射线l的方程为:

其中α为俯仰角,即指电子笔与y轴正方向所成的角,β为航向角,即电子笔在xoz面上的投影与x轴正方向所成的角;

进一步的,步骤(三)所提m所在区域:

{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}的具体算法如下:

区域中xmin和xmax分别是指目标m所占区域在x轴方向上的最小和最大坐标,ymin和ymax分别是指目标m所占区域在y轴方向上的最小和最大坐标,zmin和zmax分别是指目标m所占区域在z轴方向上的最小和最大坐标,六个值构成一个区域,当点b落在区域内时,系统高亮突显该目标;

进一步的,步骤(三)中模式一1)所提确定用户所选点b的坐标的确定方法如下:

当电子笔尖笔尖位置a在实际空间中的坐标为(x0,y0,z0)时,此时电子笔的俯仰角为α和航向角β,那么系统此时确定用户所选点b的z坐标为-z0,根据射线方程求得点b的横、纵坐标,由此平面和射线方程相交得到用户所选的点b的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);根据用户所选的点b的坐标,系统通过判定点b落在目标所属区域来选中该区域表表示的目标;

进一步的,步骤(三)所提两种工作模式来完成对目标m的选择的具体实施方法如下:

当工作在模式一时,当用户将电子笔移动到位置a(x0,y0,z0)时,确定用户选择的点b的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);当工作在模式二时,在用户启动模式二时选择的点b基础之上,根据电子笔在z坐标上的变化量△z=z1-z0,确定用户新选择的点b′的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0+△z)。两种模式相互切换可以实现用户在不动的情况下实现z坐标范围为两倍臂长的范围内的目标的精确快速选择。当用户想选择目标m在此范围之外时,也只需用户移动很小的距离就能实现对目标m的精确选择。

本发明的优点在于:将电子笔的姿态信息与位置信息用于虚拟三维空间中目标的选择,实现了虚拟三维空间中目标的远距离选择,解除了大空间对用户的限制,使得交互更加便捷、自然,不仅可以直接选择虚拟空间中容易被选择的目标,对被遮挡以及体积较小的目标的选择也有了较易实现的方式,两种选择方式的结合,充分利用了三维大空间中笔式交互的优势,使得虚拟空间中目标的选择更加人性化,提高了目标选择的效率,尤其当用户在大空间中进行操作时,此种方法更加便利、快捷,改善了用户体验。

附图说明

图1本发明主机的结构示意图;

图2本发明电子笔结构示意图;

图3本发明虚拟空间中目标精确选择的原理图;

图4本发明虚拟空间中目标选择流程示意图。

具体实施方式

包括下列步骤:

(一)以主机的左下角为坐标原点,以过原点的水平直线为x轴,以过原点且竖直向上的直线为y轴,以过原点且垂直于xoy面的直线为z轴,建立三维坐标系;

(二)用户操作电子笔时,电子笔将自己的空间位置信息以及姿态信息实时的传给主机,所谓电子笔的空间位置信息指的是电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),姿态信息指的是电子笔俯仰角α和航向角β,系统根据电子笔所提供的信息,生成一条以电子笔尖坐标为起点,以电子笔的姿态信息确定射线的方向向量根据电子笔笔尖位置a,确定射线l的方程;

(三)当用户想要对目标m进行选择时,m所在的区域为{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax},为了使选择更加的快捷、人性化提供两种模式进行选择:

模式一、镜像模式:

1)当用户想要选择的目标m在用户当前可选择的一臂长zbc范围{(x,y,z)|z0≤z≤z0+zbc||z0-zbc≤z≤z0}之内时,采用此方法。在系统根据电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),判定当前所选虚拟空间中的平面为z=z0,确定所选点b的z坐标为z0,同时根据射线l和所选点b的z坐标得到用户所选的点b的具体坐标(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);

2)根据用户选的点b,系统判定点b的位置,当系统判定点b落在目标m所在区域{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}之内时,高亮突显目标m,用户之后就可以对目标m进行操作;当b不在m所包含范围之内,此时用户调整电子笔的位置,使点b落在m的范围之内,完成对目标m的选择;

模式二、同向模式:

1)当用户想要选择的目标m在用户当前可选择的一臂长zbc范围{(x,y,z)|z0≤z≤z0+zbc||z0-zbc≤z≤z0}之外时,采用此方法。电子笔笔尖位置a在实际空间中的绝对坐标(x0,y0,z0),所选点b的具体坐标(x0-2z0tanβ,-2z0cotα/sinβ,-z0),z0已达到用户所能选择的最远深度,仍无法选中目标m,调用模式二,用户向前移动电子笔到a1位置(x,y,z1)(x,y坐标不限),系统监测用户在z轴上移动的距离为△z=z1-z0,此时,系统判定选点b的具体坐标(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0+△z);

2)根据用户所选的点b,系统判定点b的位置,当系统判定点b落在目标m所在区域{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}之内时,高亮突显目标m,用户之后就可以对目标m进行操作;当b不在m所包含范围之内,此时用户调整电子笔的位置,使点b落在m的范围之内,完成对目标m的选择;

进一步的,步骤(二)中根据电子笔的信息确定的射线方程计算方法如下:

根据电子笔的姿态获得电子笔的俯仰角α和航向角β,通过计算获得方向向量为由此确定空间中的射线l的方程为:

其中α为俯仰角,即指电子笔与y轴正方向所成的角,β为航向角,即电子笔在xoz面上的投影与x轴正方向所成的角;

进一步的,步骤(三)所提m所在区域:

{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}的具体算法如下:

区域中xmin和xmax分别是指目标m所占区域在x轴方向上的最小和最大坐标,ymin和ymax分别是指目标m所占区域在y轴方向上的最小和最大坐标,zmin和zmax分别是指目标m所占区域在z轴方向上的最小和最大坐标,六个值构成一个区域,当点b落在区域内时,系统高亮突显该目标;

进一步的,步骤(三)中模式一1)所提确定用户所选点b的坐标的确定方法如下:

当电子笔尖笔尖位置a在实际空间中的坐标为(x0,y0,z0)时,此时电子笔的俯仰角为α和航向角β,那么系统此时确定用户所选点b的z坐标为-z0,根据射线方程求得点b的横、纵坐标,由此平面和射线方程相交得到用户所选的点b的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);根据用户所选的点b的坐标,系统通过判定点b落在目标所属区域来选中该区域表表示的目标;

进一步的,步骤(三)所提两种工作模式来完成对目标m的选择的具体实施方法如下:

当工作在模式一时,当用户将电子笔移动到位置a(x0,y0,z0)时,确定用户选择的点b的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0);当工作在模式二时,在用户启动模式二时选择的点b基础之上,根据电子笔在z坐标上的变化量△z=z1-z0,确定用户新选择的点b′的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0+△z)。两种模式相互切换可以实现用户在不动的情况下实现z坐标范围为两倍臂长的范围内的目标的精确快速选择。当用户想选择目标m在此范围之外时,也只需用户移动很小的距离就能实现对目标m的精确选择。

为了使本技术领域的人员更好的理解本发明,下面结合附图对本发明作进一步的详细说明。

图1和图2为本发明公开的虚拟三维空间目标的选择方法的所采用的三维笔式交互系统的组成示意图,该系统包括两个部分:主机100和电子笔200,主机100主要包含三个组成器件:显示器,白板、超声三维定位模块102和蓝牙通信模块103,显示器101完成虚拟空间的显示,显示器的尺寸根据不同的环境可以进行调整;超声三维定位模块102包括3个不在一条直线上的超声传感器1021构成的三维超声定位阵列及2个红外传感器1022;蓝牙通信模块103负责接收电子笔发送的姿态位置等信数据,并实现对电子笔的配置功能;电子笔200主要包括电子笔尖201、pvdf超声薄膜202、红外发射管203、按键204、mems六轴加速度/陀螺仪传感器205和蓝牙通信芯片206,pvdf压电薄膜202作为超声波发射器,为了满足360度发射超声波信号,将其设计成圆柱形;mems六轴加速度/陀螺仪传感器205用于提取电子笔的姿态信息。

具体的电子笔式交互实现方法如下:

触发电子笔的定位按键204时,pvdf超声薄膜202及红外发射管203分别发射超声信号及红外信号,以红外信号作为测距同步信号,通过三维超声定位技术对电子笔进行三维实时定位,随后进行超声三维电子笔迹跟踪,电子笔迹跟踪实现后,利用mems六轴加速度/陀螺仪205完成电子笔的姿态提取,之后重复整个过程;电子笔通过蓝牙通信芯片206将电子笔的位置信息和姿态信息传送给主机,主机100通过蓝牙通信模块103接收电子笔发送的信息,得到电子笔尖的位置信息a(x0,y0,z0)以及电子笔的姿态信息,俯仰角α和航向角β;

首先根据图3,图中α代表电子笔的俯仰角,也就是电子笔与y轴正半轴的夹角;β代表的是电子笔的航向角,也就是电子笔在xoz平面上的投影与x轴正方向所成的夹角;具体的计算步骤如下:主机[100]根据电子笔[200]发送的信息,在虚拟三维空间中确定电子笔尖的位置a为(x0,y0,z0),俯仰角α和航向角β;通过计算得到代表电子笔的姿态的方向向量为(sinαcosβ,cosα,sinαsinα),之后根据a的位置和方向向量得到射线的方程为

根据图3所示,用户在代表实际空间中lm*wm*hm的区域302中进行交互,此区域是系统允许的电子笔能活动的范围;各种虚拟的目标分布在表示是虚拟空间301中,在人机交互过程中,用户可以对区域301中的目标进行操作;图中点a代表的是电子笔200笔尖在实际空间中的位置,若点a的坐标为(x0,y0,z0),点b是平面z=-z0和射线l的交点,也就是系统所确定的用户选择的点,假设此时电子笔的俯仰角为α和航向角β,结合点a的位置,根据射线方程,计算出点b的坐标为(x0-2z0tanβ,y0-2z0cotα/sinβ,-z0),系统根据点b的坐标,判定点b落在目标m303的区域{(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}内,高亮突显目标m303,用户双击按键就可以对目标进行操作;

如图3所示,当用户想要选择的目标是n304时,按照模式一的工作方式,用户需要将电子笔2002向后移动到a2的位置,选中点b′,选中点b′,系统判定对应点b′落在了目标n304之内,高亮突显目标n304;按照模式二的工作方式,用户需要将电子笔2001向前移动到a1的位置,选中点b′,系统判定对应点b′落在了目标n304之内,高亮突显目标n304,高亮突显目标n304后,用户就可以选中目标n304,之后对其进行操作。

如图4所示,整个操作过程如下:

当系统根据电子笔的姿态生成的射线判定用户指向某目标时,系统高亮突显目标,当该目标是用户想要选择的目标m时,用户双击电子笔上按键,选中该目标,之后可以对该目标进行各种操作;当所指向目标并非用户想选择的目标m时,调整电子笔的位置和姿态,系统默认操作模式是模式一,选中待选目标m的目标之后,可以对目标进行操作;当到达用户所能选择的极限深度仍无法选中目标m时,用户先选中目标m前后的目标,用户通过按住电子笔上按键来启动模式二,在模式一最后选中的b点的基础上,调整电子笔的前后位置,从而改变选中点b的前后位置,直到点b落在用户想要选择的区域之内,选中想要选择的目标,此时松开按键,选定目标,对目标进行下一步操作;若到模式二的极限位置仍未能选中目标m,此时需要用户移动自己的位置,来选中待选目标m,选中待选目标m之后对目标进行进一步操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1