CN115421626B - 一种基于移动端的ar虚拟窗口的交互方法 - Google Patents
一种基于移动端的ar虚拟窗口的交互方法 Download PDFInfo
- Publication number
- CN115421626B CN115421626B CN202211359037.4A CN202211359037A CN115421626B CN 115421626 B CN115421626 B CN 115421626B CN 202211359037 A CN202211359037 A CN 202211359037A CN 115421626 B CN115421626 B CN 115421626B
- Authority
- CN
- China
- Prior art keywords
- virtual window
- virtual
- window
- movement
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Position Input By Displaying (AREA)
Abstract
本发明属于图像数据处理技术领域,具体涉及一种基于移动端的AR虚拟窗口的交互方法,通过手势交互操作实现虚拟窗口状态变化的实现方法为,AR应用通过向AR通用基础组件的输入系统册需要监听的事件类型,AR通用基础组件的输入系统检测到目标事件类型后,通知AR应用目标事件类型与相关参数,AR应用处理手势交互的对应的状态变化。本申请能够直观可视化地操作虚拟窗口,不占用屏幕的显示面积,同时尽可能延续用户在智能手机上手势操作的操作经验,减少了用户的学习成本,用户可以通过简单手势即可以与虚拟世界中的虚拟窗口交互,极大提高了用户体验。
Description
技术领域
本发明涉及图像数据处理技术领域,具体涉及增强现实技术中的一种基于移动端的AR虚拟窗口的交互方法。
背景技术
AR(Augmented Reality)中文名称为增强现实技术,将真实世界中移动设备摄像头采集到的图像与3D虚拟世界中虚拟摄像机采集到的图像相融合,使移动设备显示屏幕上显示上述融合图像,真实世界中移动设备的移动或者旋转的变化会映射到虚拟世界中的虚拟摄像机上,从而使虚拟世界的图像也随着移动或旋转,如图1所示的真实世界与虚拟世界设虚拟摄像头的映射关系。
基于移动设备的AR应用都需要用户操作界面,操作界面分两种,一种是固定在用户屏幕上的平面操作界面,另外一种是基于虚拟空间的虚拟操作界面,在虚拟操作界面中,用户可以看到的窗口固定在虚拟空间的某一位置,随着用户移动时,可以看到虚拟窗口的不同角度图像。
由于虚拟操作界面是立于3D虚拟世界,所以3D虚拟世界的虚拟窗口交互与寻常平面交互界面并不相同,平面交互界面只需要控制窗口的上下左右移动即可,3D虚拟世界的虚拟窗口则需要控制窗口的上下左右移动、前后移动、旋转、关闭等,目前的实现方式为:在移动设备屏幕中设有多个按钮,控制虚拟窗口的前进后退旋转等等参数,其缺点是不直观,占用屏幕显示面积。
发明内容
本发明的目的在于提供了一种基于移动端的AR虚拟窗口的交互方法。
本发明解决其技术问题所采用的技术方案是:一种基于移动端的AR虚拟窗口的交互方法,通过在移动设备的屏幕上点击、移动基本手势交互操作,将屏幕上的坐标映射到虚拟世界中的空间坐标,控制虚拟世界中虚拟窗口的状态变化,包括选中虚拟窗口、关闭虚拟窗口、缩放虚拟窗口、上下左右移动虚拟窗口、前后移动虚拟窗口、旋转虚拟窗口,手势交互操作实现虚拟窗口状态变化的实现方法为,AR应用通过向AR通用基础组件的输入系统册需要监听的事件类型,AR通用基础组件的输入系统检测到目标事件类型后,通知AR应用目标事件类型与相关参数,AR应用处理手势交互的对应的状态变化。
具体地,所述虚拟窗口顶部设有一长条选择栏,用户通过选择栏或者选择栏控制虚拟窗口的被选中的状态。
具体地,所述事件类型为点击事件、点击结束事件、移动事件、虚拟摄像机位置变化事件,相关参数为发生在屏幕上的接触点数量、接触点坐标。
具体地,还包括通过移动设备的移动或旋转控制虚拟窗口的移动或旋转,采集移动设备的移动或旋转参数,将移动设备在真实世界的位置移动或者旋转映射到虚拟世界中代表其位置的虚拟摄像机上,通过注册监听虚拟摄像机的位置变化,就可以实时将移动设备的位置变化映射到虚拟窗口之上,计算虚拟世界中虚拟摄像机的移动向量和旋转向量,并将虚拟摄像机的移动向量和旋转向量转换为虚拟窗口需要实际移动的向量、以及虚拟窗口需要实际转动的旋转向量,再计算移动旋转后的虚拟窗口的空间坐标以及虚拟窗口旋转参数,将其赋值给虚拟窗口的坐标参数与旋转参数,完成虚拟窗口的移动或者旋转。
本发明具有以下有益效果:本申请能够直观可视化地操作虚拟窗口,不占用屏幕的显示面积,同时尽可能延续用户在智能手机上手势操作的操作经验,减少了用户的学习成本,用户可以通过简单手势即可以与虚拟世界中的虚拟窗口交互,极大提高了用户体验。
附图说明
图1为现有技术中真实世界与虚拟世界的映射关系图。
图2为本发明的系统框架图。
图3为本发明的虚拟窗口示意图状态图一。
图4为本发明的选中虚拟窗口的流程图。
图5为本发明的虚拟窗口示意图状态图二。
图6为本发明的关闭虚拟窗口的流程图。
图7为本发明的放大虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图。
图8为本发明的缩小虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图。
图9为本发明的缩放虚拟窗口的流程图。
图10为本发明的上下左右移动虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图11为本发明的上下左右移动虚拟窗口的流程图。
图12为本发明的向后移动虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图13为本发明的向前移动虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图14为本发明的前后移动虚拟窗口的流程图。
图15为本发明的绕Y轴转虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图16为本发明的绕X轴转虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图17为本发明的绕Z轴转虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图。
图18为本发明的通过双指手势控制旋转虚拟窗口的流程图。
图19为本发明的计算旋转角度变化量的流程图。
图20为本发明的通过移动设备的移动控制虚拟窗口移动的映射关系图。
图21为本发明的通过移动设备的旋转控制虚拟窗口旋转的映射关系图。
图22为本发明的通过移动设备的移动或旋转控制虚拟窗口的移动或旋转。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
增强现实技术中提供了一系列的通用基础组件以满足功能,例如运动感知系统、物理系统、光照系统、输入系统、渲染系统等,具体见图2的系统架构图,其中:
运动感知系统是检测手持移动设备的陀螺仪与摄像头采集到的图像变化,分析手持移动设备的运动轨迹,手持移动设备移动或者旋转同样也会映射在虚拟世界中移动或者旋转,此功能可以使手持移动设备的移动,以不同角度观察虚拟世界中模型或者场景;物理系统在虚拟世界中模拟了真实世界中的物理效果,包括碰撞模拟、运动模拟、速度、角度计算等功能;光照系统提供了在虚拟世界中的模拟光照,包括光线的颜色、反射、折射、透射等功能;输入系统提供了抽象化硬件系统输入信号的能力,将多种平台、多种系统的输入信号统一成一种格式的信号提供给开发者使用,同时输入系统抽象出了一系列输入事件给开发者调用,如点击事件、拖动事件、移动事件等,当开发作者向输入系统组件注册了对应事件监听之后,一旦发生了对应事件,输入系统组件会通知开发者此事件已被触发,可以处理相关数据。
根据图4所示的一种基于移动端的AR虚拟窗口的交互方法,通过在移动设备的屏幕上拖拽、点击等方式检测用户操作,将屏幕上的坐标映射到虚拟世界中的空间坐标,用以控制虚拟窗口的位置参数,位置参数包括空间坐标以及旋转参数,通过手势操作控制虚拟窗口大小、状态、前后、上下左右、旋转等,操作人员通过与移动设备的屏幕与3D虚拟世界中的虚拟窗口交互,操作人员的手指与移动设备屏幕之间的接触点被称为触摸点,AR应用通过向AR通用基础组件的输入系统册想要监听的事件类型,AR通用基础组件的输入系统检测到目标事件类型后,通知AR应用具体的事件类型与相关参数,使AR应用能够处理相关事件;其中,所述事件类型为点击事件、移动事件、虚拟摄像机位置变化事件等,所述点击事件为操作人员点击屏幕某个点的事件,当发生此类事件时,AR通用基础组件的输入组件会通知AR应用点击事件发生在屏幕上的接触点数量、接触点坐标等参数,点击结束事件为操作人员手指离开屏幕的事件,当发生此类事件时,AR通用基础组件系统的输入系统会通知AR应用点击结束事件的接触点坐标参数,所述移动事件为操作人员点击屏幕某个点并移动的事件,当发生此类事件时,AR通用基础组件系统的输入系统会通知AR应用移动事件发生在屏幕上的开始坐标,结束坐标等参数。
其中所述虚拟窗口对应的交互操作包括:选中虚拟窗口、关闭虚拟窗口、缩放虚拟窗口、上下左右移动虚拟窗口、前后移动虚拟窗口、旋转虚拟窗口,其具体的实现方法为:
1、选中虚拟窗口,窗口选中判定需要判定操作人员的长按操作时间,长按时间为变量,记为时间T,如图3所示,所述虚拟窗口顶部设有一长条选择栏,用户通过此栏控制虚拟窗口是否被选中状态,如图4所示选中虚拟窗口操作的实现方法为:
步骤S11、注册点击监听事件,AR应用向AR通用基础组件的输入系统注册点击监听事件;
步骤S12、操作人员点击屏幕,点击事件发生;
步骤S13、触发点击事件通知,当检测到操作人员点击屏幕时,点击事件被触发通知AR应用;
步骤S14、AR应用判断点击位置是否是选择栏,若点击位置是选择栏的位置,则进行步骤S15,若不是,则进行步骤S17;
步骤S15、AR应用启动延时,延迟T秒;
步骤S16、判断检测点击位置是否依然位于选择栏上方,若是,则进行步骤S17,若不是,则进行步骤S18;
步骤S17、标记虚拟窗口为被选中状态,当判断点击位置是选择栏时,则AR应用判定此虚拟窗口为被选定状态,当虚拟窗口被标记为被选中状态时,此虚拟窗口应轻微抖动并以震动方式,反馈用户此窗口已是被选中状态;
步骤S18、取消之前被选中虚拟窗口的被选中状态,然后返回步骤S2,当操作人员点击虚拟窗口以外空白位置时,则取消该虚拟窗口被选中状态。
2、关闭虚拟窗口,虚拟窗口上设有关闭按钮,如图5所示,关闭按钮位于虚拟窗口右上方,如图6所示关闭虚拟窗口操作的实现方法为:
步骤S21、注册监听点击事件,其AR应用向AR通用基础组件系统的输入系统注册监听点击事件;
步骤S22、操作人员点击屏幕,点击事件发生;
步骤S23、触发点击事件通知,当检测到操作人员点击屏幕时,点击事件被触发通知AR应用;
步骤S24、判断是否点击到关闭按钮,AR应用判断点击位置是否位于关闭按钮上方,若是,则进行步骤S25,若否,则返回步骤S22;
步骤S25、关闭虚拟窗口,AR应用调用关闭窗口的函数,关闭指定窗口。
3、缩放虚拟窗口,即缩小或者放大虚拟窗口,判断放大或者缩小虚拟窗口的操作手势,需要以操作人员两指之间的距离的变化量为判断依据,如图7所示放大虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图,如图8所示缩小虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图,AR应用通过接收监听到的上述事件通知携带的参数,用于判断两指之间距离,并变化虚拟窗口的大小,如图9所示,放大或者缩小虚拟窗口操作的实现方法包括:
步骤S31、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S32、注册监听点击事件与移动事件,AR应用向AR通用基础组件的输入系统注册监听点击事件与移动事件;
步骤S33、触发点击事件通知,通知AR应用,AR应用检测触摸点数量是否同时是两个,如果触摸点为两个,记录两个触摸点的距离D11;
步骤S34、触摸点发生移动,移动事件通知AR应用,AR应用计算第二次两个触摸点的距离D12;
步骤S35、计算触摸点距离D11与触摸点距离D12的差值,记为ΔD1,ΔD1表示第一次触摸点与发生移动之后触摸点像素点数量,ΔD1中值可以为负数;
步骤S36、计算虚拟窗口缩放变化量,设定缩放因子参数为F11,通常取值0.1,可以通过设置修改参数,F11表示第一次触摸点与发生移动之后触摸点之间每变化一个像素距离,缩放倍数就变化0.1,缩放变化量ΔS1=ΔD1 /F11,ΔS1中的值可以为负数;
步骤S37、计算缩放后虚拟窗口的尺寸,将变化后的虚拟窗口的尺寸参数赋值给虚拟窗口,变化其大小,完成一次缩放操作,由于虚拟窗口的尺寸由一个三维向量决定,分别为x、y、z轴上的尺寸参数,取其值为(ScaleX,ScaleY,ScaleZ),记为ScaleBefore,将缩放变化量ΔS1与每个轴上的尺寸参数相加,即ScaleBefore+ΔS,就是虚拟窗口变化之后的尺寸参数,计算其值为(ScaleX+ΔS,ScaleY+ΔS,ScaleZ+ΔS),记为ScaleAfter,并将ScaleAfter赋值给虚拟窗口的尺寸参数,虚拟窗口会依据新赋值的参数ScaleAfter变化其大小,此时一次缩放操作完成;
步骤S38、将改变后两个触摸点的距离D12赋值给改变前的两个触摸点的距离D11,等待下次触摸点移动事件,重复S34-S38步骤,执行缩放操作。
上下左右移动虚拟窗口,如图10所示的上下左右移动虚拟窗口时移动设备屏幕与虚拟窗口的映射关系图,判断虚拟窗口向上、向下、向左、向右移动需要以触摸点在选择栏的上下左右移动为判断依据,如图11所示,上下左右移动操作的实现方法包括:
步骤S41、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S42、注册监听点击事件与监听移动事件,AR应用向AR通用基础组件的输入系统注册监听点击事件与监听移动事件;
步骤S43、触发点击事件通知,点击事件被触发通知AR应用,AR应用检测触摸点数量是否是一个,并且是否点击到选择栏,如果是,记录第一次接触点坐标(X1,Y1),记为P41;
步骤S44、触摸点发生移动,移动事件通知AR应用,AR应用记录第二次接触点的坐标(X2,Y2),记为P42;
步骤S45、计算接触点P42与接触点P41之间移动向量,将坐标做差值(X2-X1, Y2-Y1)=(X3, Y3)获得一个接触点二维方向的移动向量,记为Move42;
步骤S46、将接触点二维方向的移动向量扩展为三维向量,由于虚拟窗口位于三维空间内,需要Move42扩展成三维向量,由于只控制虚拟窗口上、下、左、右移动,不需要控制虚拟窗口Z轴方向的移动,扩展之后的三维向量Move43为(X3,Y3,0);
步骤S47、计算虚拟窗口的移动向量,设定移动因子参数为F41,通常取值1.0,可以通过设置修改参数,表示接触点移动映射到虚拟窗口移动时的速度倍率,计算虚拟窗口实际需要移动的向量为Move43 *F=(X3*F,Y3*F,0)=(X4,Y4,0),记为Move44;
步骤S48、计算移动后虚拟窗口的空间坐标,并根据所得的移动后的空间坐标调整虚拟窗口的位置,完成一次虚拟窗口移动操作,取虚拟窗口位于三维虚拟世界的空间坐标(X5,Y5,Z5),记为P45,将P45与移动向量Move44相加,得到移动后的空间坐标(X4+X5,Y5+Y4,Z5),记为P46,将P46赋值给虚拟窗口的坐标参数,虚拟窗口会根据新参数调整其位置,至此,虚拟窗口一次向上或者向下或者向左或者向右移动过程结束;
步骤S49、将移动后的接触点坐标P42赋值给接触点坐标P41,移动后的虚拟窗口的空间坐标P46赋值给空间坐标P45,等待下次触摸点移动事件,重复步骤S43-S48,进行后续的移动虚拟窗口操作。
前后移动虚拟窗口,判断虚拟窗口向前、向后移动需要以触摸点在非选择栏的位置,在垂直方向移动为判断依据,如图12所示向后移动虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图,手指触摸点向上移动,拖拽虚拟窗口向后移动,如图13所示向前移动虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图,手指触摸点向下移动,拖拽虚拟窗口向前移动,如图14所示的前后移动虚拟窗口操作的实现方法包括:
步骤S51、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S52、注册监听点击事件与移动事件,AR应用向AR通用基础组件的输入系统注册监听点击事件与监听移动事件;
步骤S53、触发点击事件通知,点击事件被触发,并通知AR应用,AR应用检测触摸点数量是否是一个,并且是没有点击到选择栏,如果是,记录此次接触点坐标(X1,Y1),记为P51;
步骤S54、触摸点发生移动,移动事件通知AR应用,AR应用记录第二次接触点的坐标(X2,Y2),记为P52;
步骤S55、计算两次触摸点坐标P52与P51之间垂直方向的移动向量,水平方向的移动不参与计算,将垂直坐标做差值(0,Y2-Y1)=(0,Y3)获二维向量垂直方向的移动向量,记为Move52;
S56、将接触点坐标的移动向量扩展为三维移动向量,虚拟窗口位于三维空间内,需要Move52扩展成三维向量,由于只控制虚拟窗口前后移动,不需要控制虚拟窗口在X、Y轴方向的移动,所以扩展之后的Move53为(0,0,Z3),其中Z3=Y3,其中Z3可为负数;
步骤S57、计算虚拟窗口的移动向量,具体地,记移动因子参数为F5,通常取值1.0,可以通过设置修改参数,表示接触点移动映射到虚拟窗口移动时的速度倍率,计算虚拟窗口实际需要移动的向量为Move53*F=(0,0,Z3*F5)=(0,0,Z4),记为Move54;
步骤S58、计算移动后虚拟窗口的空间坐标,并根据所得的移动后的空间坐标调整虚拟窗口的位置,完成一次虚拟窗口前后移动操作,取虚拟窗口位于三维虚拟世界的空间坐标(X5,Y5,Z5),记为P55,将P55与移动向量Move54相加,得到移动后虚拟窗口的空间坐标(X5,Y5,Z5+Z4),记为P66,将P66赋值给虚拟窗口的坐标参数,虚拟窗口会根据新参数调整其位置,至此,虚拟窗口一次前后移动过程结束;
步骤S59、将移动后的接触点坐标P52赋值给接触点坐标P51,移动后的虚拟窗口的空间坐标P52赋值给P51,等待下次触摸点移动事件,重复S53-S59步骤。
通过双指手势控制旋转虚拟窗口,如图15所示沿Y轴旋转虚拟窗口时移动设备屏幕的操作手势与虚拟窗口的映射关系图,选中窗口,操作人员两指在移动设备屏幕上向右滑动,实现虚拟窗口绕Y轴逆时针旋转,即判断虚拟窗口的沿Y轴旋转,需要以操作人员两指移动前与移动后的距离的变化量为判断依据,AR应用通过接收事件通知携带的参数,以判断两指移动前与移动后的距离,用于计算虚拟窗口沿Y轴旋转角度,通过双指手势控制旋转虚拟窗口旋转的实现方法为:
步骤S61、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S62、注册监听点击事件与移动事件,AR应用向AR通用基础组件的输入系统注册监听点击事件与监听移动事件;
步骤S63、触发点击事件通知,点击事件被触发,并通知AR应用,AR应用检测触摸点数量是否同时是两个,如果触摸点为两个,记录两个触摸点中第一个触摸点坐标(X1,Y1,Z1),记为P61;
步骤S64、触摸点发生移动,移动事件通知AR应用;
步骤S65、AR应用检测触摸点发生移动时,接触点数量是否同时为两个,若否,返回步骤S63,若是,则进行步骤S66;
步骤S66、记录此次触摸点移动事件通知中的两个触摸点中的第一个触摸点坐标(X2,Y2,Z2),记为P62;
步骤S67、计算触摸点P62与P61水平方向的移动距离,即X2-X1,记为ΔX6,计算触摸点P62与P61 垂直方向像的移动距离,即Y2- Y1,记为ΔY6;
步骤S68、计算触摸点P62与P61之间的旋转角度变化量,旋转角度变化量分别为Y轴旋转角度变化量、X轴旋转角度变化量、Z轴旋转角度变化量,通过AR通用基础组件的物理系统提供的计算角度函数,计算P61与P62的旋转角度变化量,记为ΔR,其具体计算方式为:
步骤S681、计算Y轴旋转角度变化量,记Y轴旋转因子参数为FY,通常取值0.1,可以通过设置修改参数,表示P61与P62之间水平方向每变化一个像素距离,映射到虚拟窗口沿Y轴的旋转角度就变化0.1单位,旋转角度变化量ΔYR=ΔX / FY,ΔYR中的值可以为负数;
步骤S682、计算X轴旋转角度变化量,记X旋转因子参数为FX,通常取值0.1,可以通过设置修改参数,表示P1与P2之间垂直方向每变化一个像素距离,映射到虚拟窗口沿X轴的旋转角度就变化0.1单位,旋转角度变化量ΔXR=ΔY / FX,ΔXR中的值可以为负数;
S683、计算Z轴旋转角度变化量,记Z旋转因子参数为FZ,通常取值1.0,可以通过设置修改参数,表示P1与P2之间旋转角度每变化一个像素距离,映射到虚拟窗口沿X轴的旋转角度就变化0.1单位,旋转角度变化量ΔZR=ΔR / FZ,ΔZR 中的值可以为负数;
步骤S69、计算虚拟窗口旋转后的旋转参数,取虚拟窗口的旋转参数(XR,YR,ZR),记为BR,此参数为一个三维向量,分别表示操作前虚拟窗口自身沿X轴、Y轴、Z轴的旋转角度,然后分别将ΔXR、ΔYR、ΔZR与BR内的三个参数相加可得旋转后的旋转参数(XR+ΔXR,YR+ΔYR,ZR+ΔZR),记为CR;
步骤S610、将虚拟窗口旋转后的旋转参数CR重新赋值给虚拟窗口,虚拟窗口将按照新赋值的旋转参数旋转,完成一次旋转虚拟窗口操作;
步骤S611、将接触点空间坐标P62值赋值给P61,等待下次触摸点移动事件,重复步骤S64-S610。
通过移动设备的移动或旋转控制虚拟窗口的移动或旋转,通过移动设备在真实世界移动旋转映射至虚拟世界,采集移动设备的移动旋转参数,将移动设备在真实世界的位置移动映射到虚拟世界之中的虚拟窗口的移动上,其具体原理为,手持移动设备在真实世界的移动均会通过AR通用基础组件的运动感知系统映射到虚拟世界中代表其位置的虚拟摄像机上,通过监控虚拟摄像机的位置变化,就可以实时将移动设备的位置变化映射到虚拟窗口之上,通过移动设备的旋转控制旋转虚拟窗口的实现方式包括:
步骤S71、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S72、注册监听虚拟摄像机位置变化事件,AR应用向AR通用基础组件注册监听虚拟摄像机位置变化事件,当虚拟摄像机位置发生变化,通知AR应用做处理;
步骤S73、AR应用记录此时虚拟摄像机的坐标(X1,Y1,Z1),记为P71,记录此时虚拟摄像机的旋转参数(XR1,YR1,ZR1),记为R71,此旋转参数为三维向量,分别为虚拟摄像机沿X轴、Y轴、Z轴的旋转角度;
步骤S74、移动设备在真实世界中发生位置与角度变化,映射至虚拟世界中的虚拟摄像机上,记录虚拟摄像机移动后的坐标(X2,Y2,Z2),记为P72,虚拟摄像机的位置与角度变化会触发事件通知给AR应用,记录此时虚拟摄像机的旋转角度(XR2,YR2,ZR2),记为R72;
步骤S75、计算虚拟摄像机在虚拟世界中的移动向量,虚拟摄像机在虚拟世界中的旋转向量,即虚拟摄像机的坐标P72与P71之间的差值,P72-P71=(X2-X1,Y2-Y1,Z2-Z1) =(X3,Y3,Z3),记为ΔP7,计算R72与R71之间的差值R72-R71=(XR2-XR1,YR2-YR2,ZR2-ZR1) =(XR3,YR3,ZR3),记为ΔR7,此值为虚拟摄像机在虚拟世界中的旋转向量,ΔR与ΔP中值均可为负数;
步骤S76、计算虚拟窗口需要实际移动的向量、以及虚拟窗口需要实际转动的旋转向量,设定坐标映射因子为F71,默认取值为1.0,可以根据设置修改, F71表示虚拟摄像机在每个轴上每移动D7个像素单位,映射到虚拟窗口就在每个轴上移动距离D7*F71个像素单位,设定旋转映射因子为F72,默认取值为1.0,可以根据设置修改,F72表示虚拟摄像机每旋转一个角度S7,映射到虚拟窗口就旋转角度S*F72,计算虚拟窗口需要实际转动的向量为ΔP*F71=(X3*F1,Y3*F1,Z3*F1)=(X4,Y4,Z4),记为Move71,计算虚拟窗口需要实际转动的旋转向量ΔR*F72=(XR3*F2,YR3*F2,ZR3*F2)=(XR4,YR4,ZR4),记为Roate71;
步骤S77、计算移动旋转后的虚拟窗口的空间坐标以及虚拟窗口旋转参数,取虚拟窗口的原始空间坐标(X5,Y5,Z5)与原始旋转参数(XR5,YR5,ZR5),分别记为P75与R75,将P75与移动向量的Move71相加,得到虚拟窗口移动之后的坐标参数(X5+X4,Y5+Y4,Z5+Z4)=(X6,Y6,Z6),记为P76,将R5与旋转向量Roate71相加,得到虚拟窗口旋转之后的旋转参数(XR4+XR5,YR4+YR5,ZR4+ZR5),记为R6;
步骤S78、将移动后的虚拟窗口的空间坐标P76与旋转后的虚拟窗口的旋转参数R6分别赋值给虚拟窗口的坐标参数与旋转参数,虚拟窗口将按照新的参数P76与R6调整其位置与旋转角度,完成一次虚拟窗口的移动旋转操作;
步骤S79、将移动或旋转后的虚拟窗口的空间坐标P76与旋转参数R76分别赋值给P71与R71,等待下次虚拟摄像机移动或旋转事件。
本发明不局限于所述实施方式,任何人应得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
本发明未详细描述的技术、形状、构造部分均为公知技术。
Claims (7)
1.一种基于移动端的AR虚拟窗口的交互方法,其特征在于:通过在移动设备的屏幕上点击、移动基本手势交互操作,将屏幕上的坐标映射到虚拟世界中的空间坐标,控制虚拟世界中虚拟窗口的状态变化,包括选中虚拟窗口、关闭虚拟窗口、缩放虚拟窗口、上下左右移动虚拟窗口、前后移动虚拟窗口、旋转虚拟窗口,通过手势交互操作实现虚拟窗口状态变化的实现方法为,AR应用通过向AR通用基础组件的输入系统册需要监听的事件类型,AR通用基础组件的输入系统检测到目标事件类型后,通知AR应用目标事件类型与相关参数,AR应用处理手势交互的对应的状态变化,其中,
通过手势交互操作上下左右移动虚拟窗口的实现方法为,
步骤S41、选中虚拟窗口;
步骤S42、注册监听点击事件与监听移动事件;
步骤S43、触发点击事件通知,检测触摸点数量是否是一个,并且是否点击到选择栏,如果是,记录第一次接触点坐标(X1,Y1),记为P41;
步骤S44、触摸点发生移动,记录第二次接触点的坐标(X2,Y2),记为P42;
步骤S45、计算接触点P42与接触点P41之间移动向量;
步骤S46、将接触点二维方向的移动向量扩展为三维向量;
步骤S47、计算虚拟窗口的移动向量;
步骤S48、计算移动后虚拟窗口的空间坐标,并根据所得的移动后的空间坐标调整虚拟窗口的位置,完成一次虚拟窗口移动操作;
通过手势交互操作前后移动虚拟窗口的实现方法为,
步骤S51、选中虚拟窗口;
步骤S52、注册监听点击事件与移动事件;
步骤S53、触发点击事件通知,检测触摸点数量是否是一个,并且是没有点击到选择栏,如果是,记录此次接触点坐标(X1,Y1),记为P51;
步骤S54、触摸点发生移动,移动事件通知AR应用,AR应用记录第二次接触点的坐标(X2,Y2),记为P52;
步骤S55、计算两次触摸点坐标P52与P51之间垂直方向的移动向量,水平方向的移动不参与计算;
步骤S56、将接触点坐标的移动向量扩展为三维移动向量;
步骤S57、计算虚拟窗口的移动向量;
步骤S58、计算移动后虚拟窗口的空间坐标,并根据所得的移动后的空间坐标调整虚拟窗口的位置,完成一次虚拟窗口前后移动操作;
通过手势交互操作控制旋转虚拟窗口的实现方法为,通过双指手势控制旋转虚拟窗口,具体包括,
步骤S61、选中虚拟窗口;
步骤S62、注册监听点击事件与移动事件;
步骤S63、触发点击事件通知,检测触摸点数量是否同时是两个,如果触摸点为两个,记录两个触摸点中第一个触摸点坐标(X1,Y1,Z1),记为P61;
步骤S64、触摸点发生移动;
步骤S65、检测触摸点发生移动时,接触点数量是否同时为两个,若否,返回步骤S63,若是,则进行步骤S66;
步骤S66、记录此次触摸点移动事件通知中的两个触摸点中的第一个触摸点坐标(X2,Y2,Z2),记为P62;
步骤S67、计算触摸点P62与P61水平方向的移动距离,即X2-X1,记为ΔX6,计算触摸点P62与P61 垂直方向像的移动距离,即Y2- Y1,记为ΔY6;
步骤S68、计算触摸点P62与P61之间的旋转角度变化量,旋转角度变化量分别为Y轴旋转角度变化量、X轴旋转角度变化量、Z轴旋转角度变化量;
步骤S69、计算虚拟窗口旋转后的旋转参数,取变化前虚拟窗口的旋转参数,加上触摸点P62与P61之间的旋转角度变化量,得虚拟窗口旋转后的旋转参数;
步骤S610、将虚拟窗口旋转后的旋转参数重新赋值给虚拟窗口,虚拟窗口将按照新赋值的旋转参数旋转,完成一次旋转虚拟窗口操作。
2.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:所述虚拟窗口顶部设有一长条选择栏,用户通过选择栏或者选择栏控制虚拟窗口的被选中的状态。
3.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:所述事件类型为点击事件、点击结束事件、移动事件、虚拟摄像机位置变化事件,相关参数为发生在屏幕上的接触点数量、接触点坐标。
4.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:通过手势交互操作选中虚拟窗口的实现方法为,
注册点击监听事件,点击事件发生,触发点击事件通知;
判断点击位置是否是选择栏,若点击位置不是选择的位置,则取消之前被选中虚拟窗口的被选中状态,若点击位置是选择栏的位置,AR应用启动延时,延迟T秒;
继续判断检测点击位置是否依然位于选择栏上方,若是,则AR应用判定此虚拟窗口为被选定状态,当虚拟窗口被标记为被选中状态时,此虚拟窗口应轻微抖动并以震动方式,反馈用户此窗口已是被选中状态,若不是,则取消之前被选中虚拟窗口的被选中状态;
当操作人员点击虚拟窗口以外空白位置时,则取消该虚拟窗口被选中状态。
5.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:所述虚拟窗口上设有关闭按钮,通过手势交互闭虚拟窗口的实现方法为,
步骤S21、注册监听点击事件;
步骤S22、操作人员点击屏幕,点击事件发生;
步骤S23、触发点击事件通知,当检测到操作人员点击屏幕时,点击事件被触发通知AR应用;
步骤S24、判断是否点击到关闭按钮,AR应用判断点击位置是否位于关闭按钮上方,若是,AR应用调用关闭窗口的函数,关闭指定窗口,关闭虚拟窗口,若否,则返回步骤S22。
6.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:通过手势交互操作缩放虚拟窗口的实现方法为,
步骤S31、选中虚拟窗口,使虚拟窗口处于被选择状态;
步骤S32、注册监听点击事件与移动事件;
步骤S33、触发点击事件通知,检测触摸点数量是否同时是两个,如果触摸点为两个,记录第一次两个触摸点的距离D11;
步骤S34、触摸点发生移动,AR应用计算第二次两个触摸点的距离D12;
步骤S35、计算触摸点距离D11与触摸点距离D12的差值,记为ΔD1;
步骤S36、计算虚拟窗口的缩放变化量;
步骤S37、计算缩放后虚拟窗口的尺寸,将变化后的虚拟窗口的尺寸参数赋值给虚拟窗口,变化其大小,完成一次缩放操作。
7.根据权利要求1所述的一种基于移动端的AR虚拟窗口的交互方法,其特征在于:还包括通过移动设备的移动或旋转控制虚拟窗口的移动或旋转,采集移动设备的移动或旋转参数,将移动设备在真实世界的位置移动或者旋转映射到虚拟世界中代表其位置的虚拟摄像机上,通过注册监听虚拟摄像机的位置变化,就可以实时将移动设备的位置变化映射到虚拟窗口之上,计算虚拟世界中虚拟摄像机的移动向量和旋转向量,并将虚拟摄像机的移动向量和旋转向量转换为虚拟窗口需要实际移动的向量、以及虚拟窗口需要实际转动的旋转向量,再计算移动旋转后的虚拟窗口的空间坐标以及虚拟窗口旋转参数,将其赋值给虚拟窗口的坐标参数与旋转参数,完成虚拟窗口的移动或者旋转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211359037.4A CN115421626B (zh) | 2022-11-02 | 2022-11-02 | 一种基于移动端的ar虚拟窗口的交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211359037.4A CN115421626B (zh) | 2022-11-02 | 2022-11-02 | 一种基于移动端的ar虚拟窗口的交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115421626A CN115421626A (zh) | 2022-12-02 |
CN115421626B true CN115421626B (zh) | 2023-02-24 |
Family
ID=84207203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211359037.4A Active CN115421626B (zh) | 2022-11-02 | 2022-11-02 | 一种基于移动端的ar虚拟窗口的交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115421626B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327180A (zh) * | 2016-08-22 | 2017-01-11 | 黄崇源 | 一种移动vr支付方法和系统 |
CN113467656A (zh) * | 2021-06-24 | 2021-10-01 | 湖北亿咖通科技有限公司 | 一种屏幕触摸事件的通知方法和车机 |
CN113961291A (zh) * | 2021-10-21 | 2022-01-21 | 南京工业职业技术大学 | 一种基于触摸手势识别与压缩表示的移动设备远程控制方法与系统 |
CN114489350A (zh) * | 2021-12-27 | 2022-05-13 | 荣耀终端有限公司 | 一种输入法调用方法及相关设备 |
CN114529691A (zh) * | 2020-11-04 | 2022-05-24 | 华为技术有限公司 | 一种窗口控制方法、电子设备及计算机可读存储介质 |
CN115082648A (zh) * | 2022-08-23 | 2022-09-20 | 海看网络科技(山东)股份有限公司 | 一种基于标志物模型绑定的ar场景布置方法及系统 |
CN115113751A (zh) * | 2021-03-18 | 2022-09-27 | 华为技术有限公司 | 调整触摸手势的识别参数的数值范围的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035562B (zh) * | 2014-06-18 | 2017-03-22 | 广州市久邦数码科技有限公司 | 一种三维立体桌面触摸事件的映射方法及系统 |
KR101661991B1 (ko) * | 2015-06-05 | 2016-10-04 | 재단법인 실감교류인체감응솔루션연구단 | 모바일 확장 공간에서의 3d 드로잉을 지원하기 위한 hmd 장치 및 방법 |
CN106355648A (zh) * | 2016-08-30 | 2017-01-25 | 广联达科技股份有限公司 | 三维建筑场景的定位方法及定位系统 |
CN107506038B (zh) * | 2017-08-28 | 2020-02-25 | 荆门程远电子科技有限公司 | 一种基于移动终端的三维虚拟地球交互方法 |
-
2022
- 2022-11-02 CN CN202211359037.4A patent/CN115421626B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327180A (zh) * | 2016-08-22 | 2017-01-11 | 黄崇源 | 一种移动vr支付方法和系统 |
CN114529691A (zh) * | 2020-11-04 | 2022-05-24 | 华为技术有限公司 | 一种窗口控制方法、电子设备及计算机可读存储介质 |
CN115113751A (zh) * | 2021-03-18 | 2022-09-27 | 华为技术有限公司 | 调整触摸手势的识别参数的数值范围的方法和装置 |
CN113467656A (zh) * | 2021-06-24 | 2021-10-01 | 湖北亿咖通科技有限公司 | 一种屏幕触摸事件的通知方法和车机 |
CN113961291A (zh) * | 2021-10-21 | 2022-01-21 | 南京工业职业技术大学 | 一种基于触摸手势识别与压缩表示的移动设备远程控制方法与系统 |
CN114489350A (zh) * | 2021-12-27 | 2022-05-13 | 荣耀终端有限公司 | 一种输入法调用方法及相关设备 |
CN115082648A (zh) * | 2022-08-23 | 2022-09-20 | 海看网络科技(山东)股份有限公司 | 一种基于标志物模型绑定的ar场景布置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115421626A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2040156B1 (en) | Image processing for issuing commands | |
CN102547124B (zh) | 拍照处理方法、装置和移动设备 | |
JP2009140368A (ja) | 入力装置、表示装置、入力方法、表示方法及びプログラム | |
CN105808071B (zh) | 一种显示控制方法、装置和电子设备 | |
WO2021059669A1 (ja) | 情報処理装置、映像の生成方法及びプログラム | |
JP2003280785A (ja) | 画像表示処理装置、および画像表示処理方法、並びにコンピュータ・プログラム | |
JPH09212219A (ja) | 三次元仮想モデル作成装置及び制御対象物の監視制御装置 | |
CN107122045A (zh) | 一种基于混合现实技术的虚拟人机示教系统及方法 | |
CN110941337A (zh) | 虚拟形象的控制方法、终端设备及计算机可读存储介质 | |
CN112206515B (zh) | 游戏物体状态切换方法、装置、设备及存储介质 | |
CN113630547A (zh) | 图像显示装置、控制方法及非暂时性计算机可读存储介质 | |
CN105912101B (zh) | 一种投影控制方法和电子设备 | |
EP4206982A1 (en) | Image processing method and apparatus, and device and medium | |
CN109118584B (zh) | 控制自动化系统的方法、控制系统及计算机程序产品 | |
CN115421626B (zh) | 一种基于移动端的ar虚拟窗口的交互方法 | |
CN113066189B (zh) | 一种增强现实设备及虚实物体遮挡显示方法 | |
CN111045586B (zh) | 基于三维场景的界面切换方法、车机设备及车辆 | |
CN114706489A (zh) | 一种输入设备的虚拟方法、装置、设备和存储介质 | |
CN102136149A (zh) | 校正装置 | |
JP3355708B2 (ja) | コマンド処理装置 | |
WO2002030535A1 (en) | Method of displaying and evaluating motion data used in motion game apparatus | |
KR20180045668A (ko) | 터치 유저 인터페이스를 이용한 카메라의 이동경로와 이동시간의 동기화를 위한 사용자 단말장치 및 컴퓨터 구현 방법 | |
KR101743888B1 (ko) | 터치 유저 인터페이스를 이용한 카메라의 이동경로와 이동시간의 동기화를 위한 사용자 단말장치 및 컴퓨터 구현 방법 | |
CN115830065A (zh) | 基于图像的速度确定方法、装置、设备及存储介质 | |
CN110688012B (zh) | 一种实现与智能终端、与vr设备交互的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |