CN102664988B - 一种基于智能手机的三维交互方法及系统 - Google Patents

一种基于智能手机的三维交互方法及系统 Download PDF

Info

Publication number
CN102664988B
CN102664988B CN201210080876.2A CN201210080876A CN102664988B CN 102664988 B CN102664988 B CN 102664988B CN 201210080876 A CN201210080876 A CN 201210080876A CN 102664988 B CN102664988 B CN 102664988B
Authority
CN
China
Prior art keywords
omega
mobile phone
client
interaction
state
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.)
Expired - Fee Related
Application number
CN201210080876.2A
Other languages
English (en)
Other versions
CN102664988A (zh
Inventor
张凤军
程龙
戴志军
王宏安
戴国忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201210080876.2A priority Critical patent/CN102664988B/zh
Publication of CN102664988A publication Critical patent/CN102664988A/zh
Application granted granted Critical
Publication of CN102664988B publication Critical patent/CN102664988B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

一种基于智能手机的三维交互方法及系统,其系统包括客户端、网络层和服务器端,客户端和服务器端通过网络层连接,其中客户端和服务器端均包括交互界面层和应用逻辑层。客户端交互界面层获取空间姿态和触屏状态后,将其发送至客户端应用逻辑层进行计算其运动状态,并进行编码,然后通过网络层将编码后的数据发送至服务器端,服务器端应用逻辑层对接收到的数据进行解码,还原其二维或三维交互映射状态,并通过服务器端交互界面层显示。本发明支持基于手机运动跟踪的自然人机交互,创新性提出基于传感器计算手机的空间姿态和基于触屏手指动作的交互,结合触摸屏输入,不仅可以达到交互过程的实时、准确,而且耗电量较小,交互设备续航能力增强。

Description

一种基于智能手机的三维交互方法及系统
技术领域
本发明属于人机交互领域,具体地涉及基于智能手机的三维交互方法及系统。
背景技术
近年来,随着计算机软硬件及信息网络的发展,人们信息获取的来源已经不局限于传统的办公桌上。可呈现更多内容的大尺寸、高分辨率电子屏幕越来越多地出现在非公共场所(家庭式大尺寸液晶电视、家用投影仪)以及公共场所(会议室、演讲厅、机场、火车站、购物中心、博物馆)等。电子大屏幕虽然可以呈现大量丰富的内容,但是由于缺乏合适的交互技术与交互设备,多数不具有互动性,用户很难获得感兴趣的内容或者去影响改变大屏幕的内容。传统的WIMP界面交互设备如鼠标、键盘机动性较差,且通常情况下只支持单人交互;若采用触摸屏式的交互,也需要考虑公共物品保护以及价格昂贵等因素。在这种情形下,人们迫切需要一种便捷的、廉价的交互技术用于这些新型的交互场合。
相比于传统的设备如鼠标,智能手机具有明显优势:首先,手机做为一种日常生活通讯设备,易于携带、移动,其使用空间不受限制;其次,机载的摄像头、触摸屏、惯性传感器等提供了强大的多通道输入能力;再次,CPU越来越高的主频以及越来越大的机载内存,都为手机作为计算平台和交互输入设备提供了可能;最后,通过wifi或者蓝牙连接,手机可以远距离与大屏幕进行无线通信。智能手机,尤其是像iPhone、Android等配有高像素摄像头、大尺寸多点触摸屏幕、丰富的传感器的手机,给大屏幕交互领域带来了新的希望。当前手机作为交互设备与大屏幕进行交互的方式主要有以下几种:方式一、通过手机物理按键对远程大屏幕进行操作;方式二、将大屏幕的图像发送并显示在手机触摸屏上操作,然后将操作发送回至大屏幕;方式三、通过用摄像头来进行大屏幕的控制。第一种交互方式将物理按键与大屏幕上的操作进行功能映射;由于手机物理按键的数目限制,此种交互方式仅能实现少数较为简单的操作,若要实现复杂或者更多的操作时,则需采用组合键,这必然会增加用户的记忆负担。第二种交互方式将大屏幕上的内容通过无线网络发送并显示到手机触摸屏上,对触摸屏的操作直接映射为对大屏幕的操作;此种交互方式较为直观,但是由于通讯过程中涉及图像的实时传送、交互过程易出现延迟,并且对于一些三维应用场景,对触摸屏的二维触摸操作不能正确的反应用户的交互意图。第三种交互方式通过基于视觉的运动跟踪,将手机当做一种指向设备使用,但由于大多数基于摄像头的姿态解算算法复杂度较高,交互过程延迟较大,并且开启摄像头耗电量大,会造成交互设备续航能力下降,进而影响用户体验;并且多数基于摄像头的算法只能达到水平垂直两个方向自由度的交互,同时由于用户长时间操作会感觉疲劳(需伸直手臂将摄像头对准设备屏幕或者背景环境)。
综上所述,无论是哪一种交互方式,在信息的及时传递、方便快捷的操作、三维场景再现和能耗方面都均在不同程度的缺陷。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于智能手机的交互方法及系统,使得用户在与大屏幕交互的过程中,不受物理空间的限制,不仅可以用三维交互设备(例如智能手机、任天堂的Wii、索尼的PS3手柄等)代替鼠标、键盘等二维交互设备在二维交互界面或者场景的交互,还能用于在三维交互界面或者场景的交互。
为实现上述目的,我们提出一种基于智能手机的三维交互方法,包括以下步骤:
1)建立大屏幕服务器与智能手机客户端之间的通讯连接;
2)客户端基于传感器(加速度计、陀螺仪、磁力计及触屏感应装置等)执行交互操作(旋转手机或者触摸屏输入)通过空间姿态解算获得客户端的姿态角及空间指向,其中ψ为航向角,θ为俯仰角,
Figure BDA0000146631070000022
为倾斜角;
3)客户端对触摸屏区域进行功能划分,通过将空间姿态与触摸屏事件融合,封装成交互消息数据包,通过无线方式发送给服务器端;
4)服务器端接收交互消息数据包后,提取出交互消息中的空间姿态信息与触摸屏事件;
5)服务器端对空间姿态信息以及触摸屏事件进行交互映射;若是二维交互场景,则映射为鼠标、键盘等2D操作;若是三维交互场景,则映射为虚拟三维空间内物体的选择与控制等3D操作;
6)完成当前任务后,切换回默认状态;
7)重复步骤S2至S5,直至全部交互任务完成。
针对上述方法,我们提出一种基于智能手机的三维交互系统,包括客户端、网络层和服务器端,客户端和服务器端通过网络层连接,其中:
客户端包括客户端交互界面层和客户端应用逻辑层,对应的服务器端包括服务器端应用逻辑层和服务器端交互界面层;客户端交互界面层获取空间姿态和触屏状态,并将这些数据发送至客户端应用逻辑层进行计算、编码,然后通过网络层将编码后的数据发送至服务器端,服务器端的应用逻辑层对接收到的数据进行解码,还原其交互映射状态,并通过服务器端交互界面层显示。
所述网络层可以是无线连接模式,包括wifi和/或蓝牙,也可以是有线连接模式,本发明在以无线连接时效果最为突出。
所述客户端交互界面层包括传感器,其中传感器包括加速度计、陀螺仪、磁力计和触屏感应装置等。
所述客户端应用逻辑层包括空间姿态解算模块、触屏数据处理模块、交互信息编码模块和网络管理模块;空间姿态解算模块和触屏数据处理模块对客户端交互界面层的原始数据进行计算处理,将处理后的数据传输至交互消息编码模块进行编码打包,然后通过网络管理模块发送至网络层。
所述空间姿态计算模块对智能手机的运动状态进行计算,包括快速运动状态、接近静止状态,及误差校准。
所述触屏数据处理模块对智能手机的触摸屏上感应到的触摸状态、触点数量及触摸位置进行数据处理。
所述服务器端应用逻辑层包括网络管理模块、交互信息解码模块和交互映射模块;其中交互信息解码模块通过网络管理模块对从网络层获取的交互信息进行解码,然后将解码后的信息传输至服务器交互映射模块。
所述服务器端交互映射模块包括二维交互映射模块和三维交互映射模块,通过获取的解码信息,依据交互事件列表进行查询,然后进行空间姿态和触屏事件的二维和/或三维交互映射。
所述二维交互映射包括鼠标左键单双击、鼠标右键单双击、鼠标拖拽等动作。
所述三维交互映射包括选择、操纵、导航等动作。
所述服务器端交互界面层包括二维交互界面和三维交互界面。
本方法为具有大屏幕显示设备的计算机系统提供了一种简单有效的基于智能手机的三维交互技术。在交互的过程中引入了传感器与触摸屏输入融合的思想,只需要一台支持触屏和具备网络连接端口(尤其是具备Wifi或者蓝牙等无线连接端口)的智能手机,通过手机的旋转与触摸屏的输入结合,便能够实现用户与大屏幕显示设备的交互。本发明使得基于智能手机的大屏幕交互支持的操作自由度大大提升,并且交互过程实时、准确,交互体验得以改善。
与现有技术相比,本发明具有如下的有益技术效果:
1.本交互方法基于智能手机可通过无线通讯的方式实现了与大屏幕交互,是对传统键盘鼠标交互的一大扩展。
2.本发明创新性提出基于传感器计算手机的空间姿态和基于触屏手指动作的交互,结合触摸屏输入,不仅可以达到交互过程的实时、准确,而且传感器相比于摄像头而言,耗电量较小,交互设备续航能力增强。
3.本发明可以通过对触摸屏区域进行针对性的划分以及改变交互事件列表,实现不同的交互映射方式以适应应用场景,可扩展性强。
4.本发明支持基于手机运动跟踪的自然人机交互。用户的交互过程不需要学习其它新的知识,只需像使用手机一样,通过旋转手机,以及结合触摸屏的输入,即可与大屏幕进行交互。
5.本交互方法充分利用了智能手机的便携性,易于实现、成本上的相对低廉,而且操作简单,在常用的计算机环境下,将极大改善参与者的用户体验,在提高了大屏幕交互体验的同时,也支持基于手持设备上的输入和输出,促进了与个人信息管理设备(手持设备)间的信息交流,方便了用户任务的完成。
附图说明
图1为本发明系统的结构框图;
图2为空间姿态解算流程图;
图3为空间姿态二维映射示意图;
图4为空间姿态三维映射示意图;
图5为二维交互触摸屏区域划分图;
图6为三维交互触摸屏区域划分图;
图7为手机模拟鼠标指向;
图8为手机摸拟鼠标左键单/双击;
图9为手机摸拟鼠标拖拽;
图10为手机摸拟鼠标右键单击;
图11为三维交互指向与选择操作;
图12为三维交互物体沿x轴移动;
图13为三维交互物体沿y轴移动;
图14为三维交互物体绕z轴转动;
图15为三维交互物体沿z轴移动;
图16为三维交互物体放大与缩小。
具体实施方式
为了使本技术领域的技术人员更好的理解,下面结合附图和实施方式对本交互方法作进一步的详细说明,所描述的实施例仅旨在便于对本发明的理解,本发明并不局限于此。
为了实现本发明的方法及系统,实施时采用的计算机CPU主频为2.66GHz,内存为4G,硬盘为500G的计算机或其他类型的计算机,采用的智能手机其ARM CPU主频为1G Hz,内存为512M,操作系统为Android2.3。在服务器端的PC和客户端的手机上分别采用C++和.Java编制相关程序。本发明系统的结构框图请参见图1。
首先构造客户端交互界面层,如图1所示,利用加速度计、陀螺仪、磁力计等后台仪器获取客户端的传感器数据(如加速度计值、陀螺仪值、磁力计值),通过交互界面的触屏感应装置获取用户操作的触摸屏数据(状态、位置),并将传感器数据与触屏数据做为输入的原始数据发送给客户端应用逻辑层。对于应用场景的不同,触摸屏的功能区域也会不同,例如本发明中针对二维用户场景,提出了如图5的功能区域划分,而针对三维用户场景,我们则提出了如图6的功能区域划分。
然后构造客户端应用逻辑层。如图1所示,该层具有客户端空间姿态解算模块、客户端触屏数据处理模块、客户端交互消息编码模块和客户端网络管理模块等。
客户端应用逻辑层获取传感器数据后,由客户端空间姿态解算模块计算手机的空间姿态,客户端应用逻辑层会根据不同的运动状态采用不用的解算法。本发明中,当状态判断为快速运动时,采用基于陀螺仪积分的龙格库塔法计算空间姿态;而当状态判断为接近静止时,通过加速度计值重力分解法计算空间姿态;然后通过校准模块消除运动状态下积分产生的累积误差,最后将计算获得的空间姿态数值输入交互消息编码模块,具体过程如图2所示。
上述通过姿态解算获得空间指向的具体过程包括:
1)获取三轴加速度计值[ax,ay,az],通过计算其模值对手机运动状态进行判断(步骤1)。若模值近似等于重力加速度计g,则判断手机处于静止状态,否则手机处于快速运动状态。
2)若手机处于快速运动状态,获取t时刻的陀螺仪值[ωx,ωy,ωz]。陀螺仪值ω即手机绕空间坐标系三个坐标轴[x,y,z]的角速度值。根据四阶龙格库塔法对下一时刻t+T的空间姿态进行解算(步骤2),计算t+T时刻的四元数Q(t+T)(步骤3),计算过程如下:
依据四元数微分方程:
Ω b ( t ) = 0 - ω x - ω y - ω z ω x 0 ω z - ω y ω y - ω z 0 ω x ω z ω y - ω x 0
Q ( t ) · = Ω b ( t ) Q ( t )
K1=Qb(t)Q(t)
K 2 = Ω b ( t + T 2 ) [ Q ( t ) + K 1 2 T ]
K 3 = Ω b ( t + T 2 ) [ Q ( t ) + K 2 2 T ]
K4=Qb(t+T)[Q(t)+K3T]
t+T时刻的四元数为:
Q ( t + T ) = Q ( t ) + T 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )
3)若手机处于接近静止状态,通过加速度计值重力分解法计算计算俯仰角θ和倾斜角
Figure BDA0000146631070000065
(步骤4),同时magbegin为t时刻磁力计值,magend为t+T时刻磁力计值,根据其变化值可以算出航向角ψ。
Figure BDA0000146631070000066
θ = arctan ( a x a z )
ψ=magend-magbegin
计算接近静止状态的四元数Q′(步骤5)。
Figure BDA0000146631070000068
用接近静止状态下的空间四元数Q′对运动状态下陀螺仪积分所得空间四元数Q进行校准(步骤6),消除其累积误差,可得到校准后的准确的空间四元数(步骤7)。
关于快速运动状态和接近静止状态,只是相对的,因为从广义上来讲,所有的状态都可以算做是运动状态,接近静止只能说是运动状态的一种特殊情况。由步骤2)可知,由于快速运动状态四元数的计算取决于初始值以及积分的准确性,而传感器精度有限,时间稍长积分便会出现误差;但在静止状态下算出的四元数是比较精确的,为此,系统中设置有一个静止检测模块一直在后台监视,当判断手机接近静止时,这时就用静态的方法算四元数的值,并将这个四元数值置为当前四元数的值,这也就意味着为下一时刻的运动状态的计算赋予了一个准确的初值,消除了之前运动积分所带来的误差。
4)根据空间四元数可以算出手机任一时刻的空间姿态角:
Figure BDA0000146631070000071
当坐标系确定时,四元数与设备在三维空间的空间姿态是一一对应的,而空间指向也与空间姿态对应,至此,即可基于传感器通过姿态解算获得空间指向。
对于触屏事件,客户端应用逻辑层在获取触屏数据后,由客户端触屏数据处理模块分析触屏事件。本发明中,由于对触摸屏区域进行了功能区域划分,结合图3-图6,针对二维交互映射,定义“左键”区域、“右键”区域以及“移动控制”区域,同时将对应区域的输入映射为鼠标的左键、右键以及移动事件;针对三维交互映射,定义“选择”区域、“操纵”区域,同时将对应区域的输入映射为手机的移动旋转以及手指的动作。通过计算操作手指个数(单指/多指)、操作位置(触屏区域、前后位移)、操作时间(滑动时间)等数据,分析具体的触屏事件(单击、双击、滑动、按压等),并将其计算结果输入交互消息编码模块。
客户端交互消息编码模块负责将输入数据打包并送至发送消息队列中,等待网络模块的调用。
客户端交互消息编码模块按照交互消息数据结构,将空间姿态数值与触屏事件做为输入数据,编码成交互消息数据包,并将该交互消息数据包按顺利依次放入发送消息队列的队尾。交互消息一般由消息类型(连接消息/交互消息)、消息长度、空间姿态、触屏事件、触屏数值组成,但是不同的交互场景消息的触屏事件列表会有所不同。
客户端网络管理模块封装了客户端无线连接的调用接口,用来执行与服务器端连接建立、断开、数据发送等操作,发送线程每次从发送消息队列的队首取出一个交互消息数据包,并将其通过网络(如wifi、蓝牙等)发送至服务器端。
另一方面,服务器端即大屏幕端主要负责对交互消息数据包的解析以及最后交互操作的实现。
首先构造服务器端应用逻辑层,如图1所示,该层包含服务器端网络管理模块、服务器端交互消息解码模块和服务器端交互映射模块等,下面分别阐述。
服务器端网络管理模块负责执行服务器端的网络调用操作,如服务器的开启、客户端连接的接收/断开、数据收发等。由于客户端采用Java开发,数据在内存中以大端序存储,服务器端采用C++开发,数据以小端序存储,而网络数据流以大端序传输,所以该模块还要负责对字节顺序予以转换。接收线程完成交互消息数据包的接收后,将其依次放到接收消息队列的队尾,等待交互消息解码模块处理。
服务器端交互消息解码模块与客户端交互信息编码模块对应,该模块每次从接收消息队列中取出一个交互消息数据包,按照与客户端约定好的交互消息数据结构,提取出交互消息中的空间姿态与触屏事件,将其做为交互映射事件查询模块的输入数据。
服务器端交互映射模块从交互信息解码模块中获取交互消息中的空间姿态与触屏事件,依据交互事件列表进行查询(例如在二维交互场景中把触摸屏的“左键”区域的单击事件映射成鼠标的左键单击,在三维交互场景中把触摸屏的“操纵”区域的左右滑动映射成物体的放大与缩小),完成相应的交互操作。
本文中就二维应用场景与三维应用场景分别提出一种交互映射方式,下面分别说明其实现,但本发明不以此为限。
1.用于二维交互场景2D操作时,服务器端二维交互映射过程:
1)服务器端交互映射模块在获得手机转角θ以及转角ψ后,通过纹理映射算法将手机坐标轴的转角θ、ψ映射为鼠标在桌面坐标系横向坐标与纵向坐标,其中θ角的转动映射为鼠标的上下移动,ψ角的转动映射为鼠标的左右移动。若桌面鼠标坐标系为[u,v],则θ角对应于v轴的纵向坐标,ψ角对应于u轴的横向坐标。根据图3所示的纹理映射算法,θ、ψ到v轴的纵向坐标与u轴的横向坐标转换为:
ψ = Au + B θ = Cv + D
2)考虑到人体手腕的舒适度,θ的角度范围为
Figure BDA0000146631070000082
ψ的角度范围为
Figure BDA0000146631070000083
假设屏幕分辨率为M*N,将如下值代入上述方程,可解得系数A、B、C、D;
u = 0 , ψ = - π 4 u = M , ψ = π 4 v = 0 , θ = π 6 v = N , θ = - π 6
3)将手机的触摸屏区域依据如图5所示进行功能区域划分,定义“左键”区域、“右键”区域以及“移动控制”区域,同时将对应区域的输入映射为鼠标的左键、右键以及移动事件。具体来说,“左键”区域对应于鼠标左键,“右键”区域对应于鼠标右键,“移动控制”区域用于鼠标移动状态与静止状态之间的切换;
4)将手机旋转与触摸的输入结合,映射为鼠标在桌面坐标系的左键、右键以及移动事件,可以完成指向、左键单击/双击、拖拽、右键单击等鼠标基本操作,下面为其具体实现过程:
a)指向(如图7所示):
步骤S1:手机处于初始状态,按下“移动控制”区域,进入移动状态。
步骤S2:旋转手机,手机绕x轴的移动映射为鼠标的上下移动,而绕y轴的移动映射为鼠标的左右移动,桌面上鼠标光标随手机旋转而移动,当达到目标位置时,停止转动,完成指向操作。
b)左键单击/双击(如图8所示):
步骤S1:手机处于非移动状态,按下“移动控制”区域,进入移动状态。
步骤S2:旋转手机,将鼠标光标移至某个图标上,松开“移动控制”区域。
步骤S3:单击“左键”区域,完成左键单击操作;双击“左键”区域,完成左键双击操作。
c)拖拽(如图9所示):
步骤S1:通过选择操作将鼠标光标移至某个图标上,并按下“左键”区域选择图标。
步骤S2:保持“左键”区域按住,另一手指按下“移动控制”区域。
步骤S3:旋转手机,图标被拖拽到目的位置。
步骤S4:松开“移动控制”与“左键”区域,完成拖拽动作。
d)右键单击(如图10所示):
步骤S1:手机处于非移动状态,按下“移动控制”区域,进入移动状态。
步骤S2:旋转手机,将鼠标光标移至某个图标上,松开“移动控制”区域。
步骤S3:单击“右键”区域,完成右键单击操作。
2.用于三维场景的3D操作时,服务器端三维交互映射过程:
1)服务器端交互映射模块获得手机的姿态,即手机的空间指向(x,y,z),当移动手机时,即相当于移动三维空间内的选择射线,假设当前视点位置为(x0,y0,z0),那么选择射线向量为(x0+xt,y0+yt,z0+zt),若该射线与某个物体表面相交,则表示物体处于可被选择状态;
2)客户端将手机的触摸屏依照如图6所示进行功能区域划分,定义“选择”区域、“操纵”区域,当选择射线移动至物体上时,按下“选择”并保持不放,此时物体进入被选择状态。“操纵”区域是控制区域,当物体处于被选择状态时,结合“操纵”区域的手指动作可对物体进行控制;
3)将手机旋转与触摸屏“操纵”区域的手指动作的输入结合,可以完成选择、移动、放大和缩小物体等三维空间基本的操作。下面说明其具体实现过程:
a)物体选择(如图11所示):
步骤S1:旋转手机,移动选择射线选择物体。
步骤S2:当选择射线与物体交叉时,提示物体进入可被选择状态,例如物体变为高亮的绿色。
步骤S3:当无物体处于“被选择状态时”,即“选择”区域处于松开状态,这时手机的ψ、θ通过纹理映射算法映射为选择射线在x轴、y轴上的移动,如图4所示;当手指1按下“选择”并保持不松开,此时物体进入被选择状态。
b)沿x轴移动物体(如图12所示):
步骤S1:当选择物体后,手指1保持按住“选择”不放,绕y轴旋转手机,通过纹理映射算法,将ψ角线性映射成为沿x轴的位移dx,向左转为沿x轴正向移动,向右转为沿x轴负向移动。
步骤S2:将物体移动至目的位置后松开“选择”。
c)沿y轴移动物体(如图13所示):
步骤S1:当选择物体后,手指1保持按住“选择”不放,绕x轴旋转手机,通过纹理映射算法,将θ角线性映射成为沿y轴的位移dy,向上转为沿y轴正向移动,向下转为沿y轴负向移动。
步骤S2:将物体移动至目的位置后松开“选择”。
d)绕z轴旋转物体(如图14所示):
步骤S1:当选择物体后,手指1保持按住“选择”不放,手机绕z轴的转动
Figure BDA0000146631070000101
角直接映射成为物体沿z轴的旋转角度rz。
步骤S2:将物体旋转至目的角度后松开“选择”。
e)沿z轴移动物体(如图15所示):
步骤S1:当选择物体后,手指1保持按住“选择”不放,手指2在“操纵”区域上下滑动,将手指滑动的位移映射成为物体沿z轴的移动dz,上滑为沿z轴正向移动,下滑为沿z轴负向移动。
步骤S2:将物体移动至目的位置后松开“选择”。
f)放大缩小物体(如图16所示):
步骤S1:当选择物体后,手指1保持按住“选择”不放,手指2在“操纵”区域左右滑动,将手指滑动的位移映射成为物体三个轴等比例的放大与缩小,左滑为缩小物体,右滑为放大物体。
步骤S2:将物体放大或缩小至目的大小后松开“选择”。
当完成交互映射后,再构造服务器端的交互界面层,如图1所示,此时对上述交互映射的结果进行界面更新(二维界面如Windows或者Mac OS X,三维界面如虚拟三维空间系统),比如在三维交互场景中,若用户选择射线与物体交叉,则应该提示用户该物体进入“可选择状态”(如使物体高亮成绿色)。
以上所述,仅为本发明的较佳具体实施例,虽然本发明提出了两种对触摸屏区域的划分,将其与空间姿态输入结合后分别用于了鼠标交互与一种三维交互场景,但是只需要对触摸屏的区域进行合适的划分,添加相应的交互事件映射列表,并增加相应的处理逻辑,即可对此发明进行进一步的扩展而用于不同的应用场景。故任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应该以权利要求书为准。

Claims (2)

1.一种基于智能手机的三维交互方法,包括以下步骤:
1)建立服务器与智能手机客户端之间的连接;
2)客户端基于传感器执行交互操作通过空间姿态解算获得客户端的姿态角
Figure FDA0000398211930000011
及空间指向,其中ψ为航向角,θ为俯仰角,
Figure FDA0000398211930000012
为倾斜角,所述获得空间指向的方法为:
21)获取三轴加速度计值[ax,ay,az],通过计算其模值判断手机的运动状态;
22)若手机处于快速运动状态,获取t时刻的陀螺仪值[ωxyz];并对下一时刻t+T的空间姿态进行解算,计算t+T时刻的四元数Q(t+T),计算过程如下:
依据四元数微分方程:
Ω b ( t ) = 0 - ω x - ω y - ω z ω x 0 ω z - ω y ω y - ω z 0 ω x ω z ω y - ω x 0 ,
Q ( t ) · = Ω b ( t ) Q ( t ) ,
K1=Ωb(t)Q(t),
K 2 = Ω b ( t + T 2 ) [ Q ( t ) + K 1 2 T ] ,
K 3 = Ω b ( t + T 2 ) [ Q ( t ) + K 2 2 T ] ,
K4=Ωb(t+T)[Q(t)+K3T],
t+T时刻的四元数为:
Q ( t + T ) = Q ( t ) + T 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 ) ;
23)若手机处于接近静止状态,则计算θ和同时magbegin为t时刻磁力计值,magend为t+T时刻磁力计值,根据其变化值算出ψ;
24)用接近静止状态下的空间四元数Q'对运动状态下陀螺仪积分所得空间四元数Q进行校准,消除其累积误差,所述接近静止状态下的空间四元数Q'的计算过程如下:
Figure FDA0000398211930000021
3)客户端对触摸屏区域进行功能划分,通过将空间姿态与触摸屏事件融合,封装成交互消息数据包,并发送给服务器端;
4)服务器端接收交互消息数据包后,提取出交互消息中的空间姿态信息与触摸屏事件;
5)服务器端对空间姿态信息以及触摸屏事件进行交互映射,若是二维交互场景,则映射为2D操作;若是三维交互场景,则映射为3D操作。
2.一种基于智能手机的三维交互系统,包括客户端、网络层和服务器端,客户端和服务器端通过网络层连接,其中:
客户端包括客户端交互界面层和客户端应用逻辑层,对应的服务器端包括服务器端应用逻辑层和服务器端交互界面层;客户端交互界面层获取空间姿态和触屏状态,并将这些数据发送至客户端应用逻辑层进行计算、编码,然后通过网络层将编码后的数据发送至服务器端,服务器端的应用逻辑层对接收到的数据进行解码,还原其交互映射状态,并通过服务器端交互界面层显示;
所述客户端应用逻辑层包括空间姿态解算模块、触屏数据处理模块、交互信息编码模块和网络管理模块;空间姿态解算模块和触屏数据处理模块对客户端交互界面层的原始数据进行计算处理,将处理后的数据传输至交互消息编码模块进行编码打包,然后通过网络管理模块发送至网络层;
所述空间姿态计算模块对智能手机的运动状态进行计算,包括快速运动状态计算、接近静止状态计算,及误差校准;所述触屏数据处理模块对智能手机的触摸屏上感应到的触摸状态、触点数量及触摸位置进行数据处理;
所述客户端应用逻辑层获取传感数据后,由所述客户端空间姿态解算模块计算手机的空间姿态,当状态判断为快速运动时,采用基于陀螺仪积分的龙格库塔法计算空间姿态;而当状态判断为接近静止时,通过加速度计值重力分解法计算空间姿态;然后通过校准模块消除运动状态下积分产生的累积误差,最后将计算获得的空间姿态数据输入所述交互消息编码模块,具体计算过程如下:
1)获取三轴加速度计值[ax,ay,az],通过计算其模值对手机运动状态进行判断,若模值近似等于重力加速度计g,则判断手机处于静止状态,否则手机处于快速运动状态;
2)若手机处于快速运动状态,获取t时刻的陀螺仪值[ωxyz],根据四阶龙格库塔法对下一时刻t+T的空间姿态进行解算,计算t+T时刻的四元数Q(t+T),计算过程如下:
依据四元数微分方程:
Ω b ( t ) = 0 - ω x - ω y - ω z ω x 0 ω z - ω y ω y - ω z 0 ω x ω z ω y - ω x 0 ,
Q ( t ) · = Ω b ( t ) Q ( t ) ,
K1=Ωb(t)Q(t),
K 3 = Ω b ( t + T 2 ) [ Q ( t ) + K 2 2 T ] ,
K 3 = Ω b ( t + T 2 ) [ Q ( t ) + K 2 2 T ] ,
K4=Ωb(t+T)[Q(t)+K3T],
t+T时刻的四元数为:
Q ( t + T ) = Q ( t ) + T 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 ) ;
3)若手机处于接近静止状态,通过加速度计值重力分解法计算计算俯仰角θ和倾斜角
Figure FDA0000398211930000036
同时magbegin为t时刻磁力计值,magend为t+T时刻磁力计值,根据其变化值可以算出航向角ψ,计算过程如下:
Figure FDA0000398211930000037
θ = arctan ( a x a z ) ,
ψ=magend-magbegin;
计算接近静止状态的四元数Q':
用接近静止状态下的空间四元数Q'对运动状态下陀螺仪积分所得空间四元数Q进行校准,消除其累积误差,可得到校准后的准确的空间四元数。
CN201210080876.2A 2012-03-23 2012-03-23 一种基于智能手机的三维交互方法及系统 Expired - Fee Related CN102664988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210080876.2A CN102664988B (zh) 2012-03-23 2012-03-23 一种基于智能手机的三维交互方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210080876.2A CN102664988B (zh) 2012-03-23 2012-03-23 一种基于智能手机的三维交互方法及系统

Publications (2)

Publication Number Publication Date
CN102664988A CN102664988A (zh) 2012-09-12
CN102664988B true CN102664988B (zh) 2014-02-19

Family

ID=46774397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210080876.2A Expired - Fee Related CN102664988B (zh) 2012-03-23 2012-03-23 一种基于智能手机的三维交互方法及系统

Country Status (1)

Country Link
CN (1) CN102664988B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200327B (zh) * 2013-04-08 2017-10-31 上海斐讯数据通信技术有限公司 一种在手机上实现鼠标功能的方法
CN103530799B (zh) * 2013-10-22 2017-07-11 惠州Tcl移动通信有限公司 根据3d图库实现掌上看房的浏览方法及3d看房系统
CN105302292A (zh) * 2014-06-23 2016-02-03 新益先创科技股份有限公司 便携式电子装置
CN104111732A (zh) * 2014-07-15 2014-10-22 天津三星通信技术研究有限公司 基于姿态解算的便携式终端的输入方法
CN105373242A (zh) * 2015-12-10 2016-03-02 南京信息工程大学 一种体感手机鼠标控制系统及其控制方法
CN107045389A (zh) * 2017-04-14 2017-08-15 腾讯科技(深圳)有限公司 一种实现控制固定被控物的方法及装置
CN107402022B (zh) * 2017-07-25 2020-11-03 广州市景沃电子有限公司 一种稳定云台的加速度计校准方法及装置
CN107483726A (zh) * 2017-08-03 2017-12-15 成都弈览科技有限公司 一种手机仿真空鼠控制使用终端设备的方法
CN111193832B (zh) * 2020-04-10 2020-08-04 杭州脸脸会网络技术有限公司 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法
CN111580669A (zh) * 2020-05-12 2020-08-25 南京睿悦信息技术有限公司 虚拟现实和增强现实移动端平面应用的交互方法和装置
CN111787156A (zh) * 2020-07-07 2020-10-16 北京中科深智科技有限公司 一种基于智能手机的六自由度跟踪器
CN111790140A (zh) * 2020-07-07 2020-10-20 杭州脸脸会网络技术有限公司 互动方法、系统、计算机设备及可读存储介质
CN112037090B (zh) * 2020-08-07 2024-05-03 湖南翰坤实业有限公司 基于vr技术和6dof姿态跟踪的知识教育系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873371A (zh) * 2009-04-24 2010-10-27 华旗移动通讯科技(北京)有限公司 可控制电脑游戏的手机、系统及方法
CN102184014A (zh) * 2011-05-12 2011-09-14 浙江大学 基于移动设备指向的智能家电交互控制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2362302B1 (en) * 2010-02-26 2018-06-06 Alcatel Lucent Method for controlling motions of an object in a 3-dimensional virtual environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873371A (zh) * 2009-04-24 2010-10-27 华旗移动通讯科技(北京)有限公司 可控制电脑游戏的手机、系统及方法
CN102184014A (zh) * 2011-05-12 2011-09-14 浙江大学 基于移动设备指向的智能家电交互控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Boring S es.using mobile phones to continuously control pointers on large publicdisplays.《Proceedings of the 21st Annual Conference of the Australian Computer-Human Interaction Special Interest Group》.2009,161-168.
using mobile phones to continuously control pointers on large publicdisplays;Boring S es;《Proceedings of the 21st Annual Conference of the Australian Computer-Human Interaction Special Interest Group》;20091127;161-168 *

Also Published As

Publication number Publication date
CN102664988A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN102664988B (zh) 一种基于智能手机的三维交互方法及系统
CN107506038B (zh) 一种基于移动终端的三维虚拟地球交互方法
CN103218059B (zh) 三维遥控装置及其定位方法
US9639988B2 (en) Information processing apparatus and computer program product for processing a virtual object
US6856327B2 (en) Apparatus for moving display screen of mobile computer device
CN102253713B (zh) 面向三维立体影像显示系统
EP2572336B1 (en) Mobile device, server arrangement and method for augmented reality applications
CN102945088B (zh) 实现终端模拟鼠标操作设备的方法、装置及移动终端
US11893702B2 (en) Virtual object processing method and apparatus, and storage medium and electronic device
CN103167338A (zh) 一种基于移动终端的智能电视输入控制系统及方法
WO2022088928A1 (zh) 弹性对象的渲染方法、装置、设备及存储介质
WO2015188268A1 (en) Gestural interface with virtual control layers
CN103064532B (zh) 一种空中鼠标遥控器
CN107291359A (zh) 一种输入方法、装置和系统
CN106886284A (zh) 一种基于Kinect的博物馆文物交互系统
CN111176764A (zh) 显示控制方法和终端设备
CN103049102B (zh) 鼠标数据处理装置和鼠标数据处理方法
CN104598048A (zh) 数位笔书写控制方法及系统
CN103914305B (zh) 一种移动终端上自由控制应用的方法及系统
CN109375866A (zh) 一种屏幕触摸点击响应的方法及实现的系统
CN107783653A (zh) 一种虚拟现实交互方法及系统
CN108829329A (zh) 一种操作对象展示方法、装置和可读介质
CN109933195B (zh) 基于mr混合现实技术的界面立体式展示方法及交互系统
KR102010431B1 (ko) 인터액티브 디스플레이용 선택 시스템
CN105373242A (zh) 一种体感手机鼠标控制系统及其控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140219

Termination date: 20170323

CF01 Termination of patent right due to non-payment of annual fee