CN111193832A - 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法 - Google Patents

基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法 Download PDF

Info

Publication number
CN111193832A
CN111193832A CN202010281048.XA CN202010281048A CN111193832A CN 111193832 A CN111193832 A CN 111193832A CN 202010281048 A CN202010281048 A CN 202010281048A CN 111193832 A CN111193832 A CN 111193832A
Authority
CN
China
Prior art keywords
quaternion
mobile phone
speed
calculating
matrix
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.)
Granted
Application number
CN202010281048.XA
Other languages
English (en)
Other versions
CN111193832B (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.)
Hangzhou Lianlianhui Network Technology Co ltd
Original Assignee
Hangzhou Lianlianhui Network Technology Co ltd
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 Hangzhou Lianlianhui Network Technology Co ltd filed Critical Hangzhou Lianlianhui Network Technology Co ltd
Priority to CN202010281048.XA priority Critical patent/CN111193832B/zh
Publication of CN111193832A publication Critical patent/CN111193832A/zh
Application granted granted Critical
Publication of CN111193832B publication Critical patent/CN111193832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供一种基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其基于陀螺仪传感器,通过四元数算法有效计算抛物线速度和方向,通过本发明的方法,能有效的利用用户手机的上摇动方向和摇动力量来控制大屏上物体的做抛物线运动的速度和方向,大大提高了双屏互动游戏应用中的用户体验度。

Description

基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法
技术领域
本发明属于交互游戏技术领域,尤其涉及一种基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,应用于双屏互动游戏中。
背景技术
如何能有效的利用用户手机的上摇动方向和摇动力量来控制大屏上物体的做抛物线运动的速度和方向,是在双屏互动游戏中提高用户体验的非常关键的一项指标。
现有的基于陀螺仪传感器,一方面由于陀螺仪本身不提供计算抛物线运行的速度和方向的功能,只是提供各个角度的基本信息,因此存在不稳定的数值。另一方面实时计算的抛物线的速度,所展现的交互动画不太友好,因为人在用手机做摇动时,手机有来来回回或一上一下的动作,如果实时计算抛物线,会有几个问题:1 摇动的路径并没有按照游戏应用的奖品页面布局的位置做对应;2. 游戏应用中的被控制物原本设计是向前投,被控制物是向前飞,如果按照实时反应手机的摇动,就不是一直往前飞,而是来回飞,不符合游戏应用的交互。
发明内容
为解决上述技术问题,本申请提供一种基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其基于陀螺仪传感器有效计算抛物线速度和方向,并能以友好交互动画来体现。
本发明的技术方案如下:
步骤1,获取基础数据:用户摇动手机时,通过监听手机的deviceorientation事件来获取相关的数据。
步骤2,使用四元数法计算手机从A点移动到B点的X,Y,Z轴旋转角度,获得单位四元数q。
步骤3,将四元数q进行一个X轴上的四元数90度(θ)变形,即四元数与qw相乘获得与世界坐标匹配后的四元数qw,其中,qw表示游戏应用中的“世界”坐标方向。
步骤4,将步骤3中的结果qw与Z轴上的变化的四元数(qs)相乘,获得与手机屏幕平行方向匹配的四元数qs,qs表示当前屏幕方向。
步骤5,根据四元数qs利用q*qs*qw计算出最终四元数矩阵R。
步骤6,实时获取手机摇动时的多个四元数矩阵R,设定时间内取一次数据,并将多个四元数矩阵R值保存。
效果较好的,16.67毫秒取一次数据,可在游戏应用中,取手机摇动6秒时间内的四元数矩阵R值。
效果较好的,设置缓冲区并使用正太分布阈值滤波用来减低噪音:当四元数矩阵R值中的 x, y, z 没有超过阈值时,过滤掉。
步骤7,计算出的速度样本和方向;
方向计算:以四元数矩阵R值中的Z值,作为抛物线的方向;
速度计算:实时模拟四元数矩阵R值中速度,会出现交互动画不太美好,所以采用速度相近法,即提前预设一些速度样本,并放置于平面坐标中;以四元数矩阵R值中的X, Y值映射为平面坐标, 并得出b,使用余弦向量法计算出最最相近的预设的速度样本。
步骤8,根据上一步计算出的速度样本和方向,模拟抛物线的运动。
有益效果:
本发明基于手机陀螺仪传感器计算抛物线速度和方向的方法,能够以友好的交互动画来体现。
附图说明
图1是本发明的基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法中世界坐标系示意图。
图2是本发明的基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法平面坐标系视图。
具体实施方式
基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其包括以下内容:
1. 获取基础数据:
用户摇动手机时,通过监听手机的deviceorientation事件来获取相关的数据,数据包括alpha, beta, gamma。alpha代表手机水平放置时,绕Z轴旋转的角度,数值为0度到360度; beta 代表手机水平放置时,绕X轴旋转的角度,数值为-180度到180度;gamma 代表手机水平放置时,绕Y轴旋转的角度,数值为-180度到180度,(X,Y,Z)为世界坐标系,如图1所示。
现有技术中,手机端的H5默认有封装好的deviceorientation事件,提供给H5端的javascript来调用,游戏应用的手机端H5程序,通过该接口来监听该事件。当手机摇动时,由手机端H5默认有封装好的deviceorientation事件,来触发并传递手机摇动所产生的数据,如alpha, beta, gamma。
2. 使用四元数算法转换:使用四元数法计算手机从A点移动到B点的X,Y,Z轴旋转角度,该算法与传统的欧拉角算法相比,避免了数值模糊和万向节锁定的缺陷,并更容易计算。使用如方程式(1)将设备方向角alpha(α)、beta(β)、gamma(γ)转换为一个单位四元数q,其中,alpha简称α,beta简称β, gamma简称γ。
Figure 478588DEST_PATH_IMAGE001
(1)
3. 将步骤2得出的四元数和游戏应用中的“世界”坐标匹配:将上一步获得的四元数q进行一个X轴上的四元数90度(θ)变形(转换到弧度制),即四元数与qw相乘获得与世界坐标匹配后的四元数qw,qw游戏应用中的“世界”坐标方向,如方程式(2)。
Figure 395729DEST_PATH_IMAGE002
(2)
此处“世界”坐标中的世界,就是指人所感知的现实世界,是将手机端的坐标体系,变换为人的坐标体系。
4. 四元数和屏幕方向匹配:如方程式(3),将步骤3中的结果qw与Z轴上的变化的四元数(qs)相乘获得与屏幕方向匹配的四元数qs。qs表示当前屏幕方向,从0度开始绕Z轴旋转的角度(θ),θ值根据监听手机的orientationchange事件获得。
Figure 113149DEST_PATH_IMAGE003
(3)
5. 计算出最终四元数矩阵R,根据上一步获得最终的四元数, w, x, y, z 。
6. 当手机不停摇动时,实时获取多个四元数矩阵R,设定时间内取一次数据,并将多个四元数矩阵R值保存。
作为一种实施例,约16.67毫秒取一次数据,并将多个四元数矩阵R值保存。在游戏应用中,取手机摇动6秒时间内的四元数矩阵R值。
作为一种实施例,可在游戏应用中,取手机摇动6秒时间内的四元数矩阵R值。
7. 设置缓冲区并使用正太分布阈值滤波用来减低噪音:当四元数矩阵R值中的x, y, z 没有超过阈值时,过滤掉。
8. 方向计算:以四元数矩阵R值中的Z值,作为抛物线的方向。速度计算:实时模拟四元数矩阵R值中速度,会出现交互动画不太美好,所以采用速度相近法,即提前预设一些速度样本,并放置于平面坐标中;以四元数矩阵R值中的X, Y值映射为平面坐标, 并得出b,使用余弦向量法计算出最相近的预设的速度样本。
如图2所示,b是四元数矩阵R值中的X,Y值映射为平面坐标,a是提前预设一些速度样本值,平面使用余弦向量法计算出最相近的预设的速度样本。
9. 根据上一步计算出的速度样本和方向,模拟抛物线的运动。
不同的速度样本对应不同的动画变化速率,这个是提前设置好的,找到类似的样本,来执行该动画变化速率。

Claims (4)

1.一种基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其特征在于,其包括以下步骤:
步骤1,获取基础数据alpha、beta、gamma,其中,alpha代表手机水平放置时,绕Z轴旋转的角度,数值为0度到360度; beta 代表手机水平放置时,绕X轴旋转的角度,数值为-180度到180度;gamma 代表手机水平放置时,绕Y轴旋转的角度,数值为-180度到180度;(X,Y,Z)为世界坐标系;
步骤2,使用四元数算法转换所述基础数据:使用四元数法计算手机从A点移动到B点的X,Y,Z轴旋转角度,转换为一个单位四元数q;
步骤3,将所述四元数q进行一个X轴上的四元数90度变形,获得与世界坐标匹配后的四元数qw,所述世界坐标中的世界,就是指人所感知的现实世界;
步骤4,将所述四元数qw与Z轴上的变化的四元数qs相乘获得与手机屏幕平行方向匹配的四元数qs,qs表示当前屏幕方向,从0度开始绕Z轴旋转的角度,并根据所述四元数qs利用q*qs*qw计算出得到四元数矩阵R;
步骤5,实时获取手机摇动时多个四元数矩阵R,并设定时间内取一次数据,且将多个四元数矩阵R值保存;
步骤6,将所述四元数矩阵R值中的世界坐标系Z轴方向上的Z值,作为抛物线的方向,并实时模拟四元数矩阵R值中速度,采用速度相近法,提前预设一些速度样本,并放置于平面坐标中,以四元数矩阵R值中的X, Y值映射为平面坐标, 记为b,从而使用余弦向量法计算出最相近的预设的速度样本;
步骤7,根据上一步计算出的速度样本和方向,模拟抛物线的运动;
不同的速度样本对应不同的动画变化速率,这个是提前设置好的,找到类似的样本,来执行该动画变化速率。
2.如权利要求1所述的基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其特征在于,
步骤5中约16.67毫秒取一次数据,并将多个四元数矩阵R值保存。
3.如权利要求1所述的基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其特征在于,
步骤5中在游戏应用中,取手机摇动6秒时间内的四元数矩阵R值。
4.如权利要求1所述的基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法,其特征在于,
对步骤5中获取的多个四元数矩阵R值通过设置缓冲区并使用正太分布阈值滤波用来减低噪音:当四元数矩阵R值中的 x, y, z 没有超过阈值时,过滤掉。
CN202010281048.XA 2020-04-10 2020-04-10 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法 Active CN111193832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010281048.XA CN111193832B (zh) 2020-04-10 2020-04-10 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010281048.XA CN111193832B (zh) 2020-04-10 2020-04-10 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法

Publications (2)

Publication Number Publication Date
CN111193832A true CN111193832A (zh) 2020-05-22
CN111193832B CN111193832B (zh) 2020-08-04

Family

ID=70708710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010281048.XA Active CN111193832B (zh) 2020-04-10 2020-04-10 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法

Country Status (1)

Country Link
CN (1) CN111193832B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111790140A (zh) * 2020-07-07 2020-10-20 杭州脸脸会网络技术有限公司 互动方法、系统、计算机设备及可读存储介质
CN111897437A (zh) * 2020-08-19 2020-11-06 腾讯科技(深圳)有限公司 跨终端的交互方法、装置、电子设备以及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101367015A (zh) * 2007-06-18 2009-02-18 神奇游戏智能公司 采用可移动控制器进行交互控制的独立惯性导航系统
CN102664988A (zh) * 2012-03-23 2012-09-12 中国科学院软件研究所 一种基于智能手机的三维交互方法及系统
CN103412639A (zh) * 2012-03-02 2013-11-27 微软公司 传感器融合算法
CN104406586A (zh) * 2014-12-04 2015-03-11 南京邮电大学 基于惯性传感器的行人导航装置和方法
US20160236060A1 (en) * 2015-02-12 2016-08-18 Seiko Epson Corporation Motion analysis method, motion analysis apparatus, and storage device
CN106774889A (zh) * 2016-12-15 2017-05-31 广州大学 可穿戴装置的手势识别方法及装置
US20170153110A1 (en) * 2015-11-30 2017-06-01 Yusuke Matsushita Inertial device, recording medium, and method for positioning
CN107436692A (zh) * 2016-05-25 2017-12-05 何舒平 一种基于陀螺仪传感器的空中鼠标控制方法
CN109033100A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 提供页面内容的方法及装置
CN109845275A (zh) * 2016-10-12 2019-06-04 三星电子株式会社 用于视场虚拟现实流传输的会话控制支持的方法和装置
CN109931929A (zh) * 2019-01-25 2019-06-25 南京薄幕软件科技有限公司 一种基于四元数的无人机姿态解算方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101367015A (zh) * 2007-06-18 2009-02-18 神奇游戏智能公司 采用可移动控制器进行交互控制的独立惯性导航系统
CN103412639A (zh) * 2012-03-02 2013-11-27 微软公司 传感器融合算法
CN102664988A (zh) * 2012-03-23 2012-09-12 中国科学院软件研究所 一种基于智能手机的三维交互方法及系统
CN104406586A (zh) * 2014-12-04 2015-03-11 南京邮电大学 基于惯性传感器的行人导航装置和方法
US20160236060A1 (en) * 2015-02-12 2016-08-18 Seiko Epson Corporation Motion analysis method, motion analysis apparatus, and storage device
US20170153110A1 (en) * 2015-11-30 2017-06-01 Yusuke Matsushita Inertial device, recording medium, and method for positioning
CN107436692A (zh) * 2016-05-25 2017-12-05 何舒平 一种基于陀螺仪传感器的空中鼠标控制方法
CN109845275A (zh) * 2016-10-12 2019-06-04 三星电子株式会社 用于视场虚拟现实流传输的会话控制支持的方法和装置
CN106774889A (zh) * 2016-12-15 2017-05-31 广州大学 可穿戴装置的手势识别方法及装置
CN109033100A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 提供页面内容的方法及装置
CN109931929A (zh) * 2019-01-25 2019-06-25 南京薄幕软件科技有限公司 一种基于四元数的无人机姿态解算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
W3.ORG: "Device Orientation Even Specification", 《HTTPS://WWW.W3.ORG/TR/ORIENTATION-EVENT/》 *
啊司COM: "多屏互动", 《HTTP://WWW.360DOC.COM/CONTENT/16/0803/17/28294195_580545941.SHTML#》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111790140A (zh) * 2020-07-07 2020-10-20 杭州脸脸会网络技术有限公司 互动方法、系统、计算机设备及可读存储介质
CN111897437A (zh) * 2020-08-19 2020-11-06 腾讯科技(深圳)有限公司 跨终端的交互方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN111193832B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US11715224B2 (en) Three-dimensional object reconstruction method and apparatus
CN107820593B (zh) 一种虚拟现实交互方法、装置及系统
WO2019007258A1 (zh) 相机姿态信息的确定方法、装置、设备及存储介质
CN107707817B (zh) 一种视频拍摄方法及移动终端
CN108551519B (zh) 一种信息处理方法、装置、存储介质及系统
CN111193832B (zh) 基于手机陀螺仪传感器的计算抛物线运动速度和方向的方法
US9870118B2 (en) Non-transitory storage medium encoded with computer readable information processing program, information processing apparatus, method of controlling information processing apparatus, and information processing system, capable of controlling virtual camera while grasping overall condition of virtual camera arranged in virtual space
CN112138386A (zh) 一种体积渲染方法、装置、存储介质及计算机设备
CN109992111B (zh) 增强现实扩展方法和电子设备
JP2021185498A (ja) 拡張現実空間に配置される3dオブジェクトを生成する方法
CN112121406A (zh) 对象的控制方法和装置、存储介质、电子装置
CN110152288B (zh) 游戏控制器、游戏系统和识别游戏操作方向的方法
WO2022237116A1 (zh) 图像处理方法及装置
CN113296605B (zh) 力反馈方法、力反馈装置及电子设备
US8610831B2 (en) Method and apparatus for determining motion
CN112494958B (zh) 语音转换文字的方法、系统、设备及介质
CN109531578B (zh) 仿人机械手臂体感控制方法及装置
Çapın et al. Camera-based virtual environment interaction on mobile devices
CN112166441A (zh) 数据处理方法、装置及计算机可读存储介质
CN109981903A (zh) 一种图像处理方法及电子设备
CN115131528A (zh) 虚拟现实场景确定方法、装置及系统
US9952671B2 (en) Method and apparatus for determining motion
CN108563376A (zh) 一种应用程序启动方法及移动终端
EP3557385A1 (en) Cross-platform dynamic haptic effect design tool for augmented or virtual reality environments
CN114144753A (zh) 图像处理装置、图像处理方法和记录介质

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