专利汇可以提供智能机姿态测定及虚拟现实漫游方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种智能机 姿态 测定及 虚拟现实 漫游方法,用户在三维空间中以任意姿态摆放智能机都能在视窗内观察到与该 位姿 对应的周边真实或虚拟三维 渲染 场景。由于用户手持智能机的姿态与三维场景中渲染的三维效果完全一致,用户会体验到一种极其逼真的身临其境三维效果。利用智能机的姿态控制观察 角 度, 手指 滑动或移动控制智能机 位置 ,用户可在三维场景中进行漫游,基于本发明可测定智能机的姿态,并实现三维数字城市漫游,商铺广告信息三维发布、虚拟现实 电子 商务、游戏控制、虚拟地图旅游、摄影测量测绘等。,下面是智能机姿态测定及虚拟现实漫游方法专利的具体信息内容。
1.智能机姿态测定方法,包括以下步骤:
1)定义局部坐标系:局部坐标系是指原点在智能机,Z轴指向地球表面法方向,Y轴或X轴与纬线相平行的坐标系;或局部坐标系原点位于地球上任意一点,Z轴与重力方向一致,且
若智能机磁力计指示方向是北,则北代表局部坐标系X轴,西代表局部坐标系Y轴;
若智能机磁力计指示方向是东,则东代表局部坐标系X轴,北代表局部坐标系Y轴;
若智能机磁力计指示方向是南,则南代表局部坐标系X轴,东代表局部坐标系Y轴;
若智能机磁力计指示方向是西,则西代表局部坐标系X轴,南代表局部坐标系Y轴;
2)测定智能机姿态矩阵Rg
Rg是一个相对于局部坐标系的3x3单位正交矩阵,
Rg由下法之一获得:
方法(1)采用重力传感器与磁力计或方向传感器
如果智能机有重力传感器,且有磁力计或方向传感器,用以下公式(1)计算Rg
(1)
其中
vax,vay,vaz是智能机测出来的智能机重力加速度传感器的x,y,z三个方向的值,或是这三个值经滤波的结果;
Ra是重力传感器芯片相对于智能机的姿态转换矩阵;
L= 若智能机检测到的重力加速度传感器定义为负值:当 ≤0时,s =
1, >0时,s = -1;若智能机检测到的重力加速度传感器定义为正值:当 ≤0时,s = -1, >0时,s = 1;
若采用方向传感器: = value[0] 带入公式(1)计算Rg;
若采用磁力计传感器:计算
其中Rm是磁力传感器芯片相对于智能机的姿态转换矩阵;{vmx, vmy, vmz }是智能机上磁力传感器检测到的三个值或这三个值经滤波的结果;
再计算
利用磁力计计算方位角 的三角函数为:
带入公式(1)即可算出Rg;
若既无磁力计,也无方向传感器, 角初值为0,当模拟逆时针绕重力方向旋转时增加φ角,模拟顺时针绕重力方向旋转则减小 角;
方法(2)用旋转矢量传感器
如果智能机配置有旋转矢量传感器
首先采用下述(a)(b)(c)中的一种方式得到Rg0矩阵
(a)如果检测到智能机上的旋转矢量传感器只有3个数据values[0], values[1], values[2]
采用以下公式得到
q1= values[0], q2= values[1], q3= values[2],
q0=
则Rg0矩阵为:
R g0=
(b)如果检测智能机上的旋转矢量传感器有4个数据,
q0=values[3], q1=values[0], q2=values[1], q3=values[2]
则Rg0矩阵为:
R g0= ;
(c)智能机上指定传感器类型为旋转矢量类型TYPE_ROTATION_VECTOR,实时得到旋转矢量传感器的观测值;利用智能机上的旋转矢量转矩阵函数
将传感器的观测值转换成绘图转换矩阵R44, R44矩阵的左上角3x3子阵是Rg0;
然后根据智能机旋转矢量传感器坐标系定义的不同,采取以下几种情况之一得到Rg:
若旋转矢量传感器的X轴指向东,Y轴指向北,则
Rg=Rg0 ; (2)
若旋转矢量传感器的X轴指向北,Y轴指向西,则
Rg=R g0; (3)若旋转矢量传感器的X轴指向南,Y轴指向东,则
Rg=Rg0 ; (4)
方法(3)采用陀螺仪、加速度计与磁力计迭代
第1步选用方法(1)或方法(2)计算Rg的初值,将Rg转换成4元数q0,q1,q2,q3作为以下第2-7步迭代的初值
第2步 设定exInt,eyInt,ezInt原始值为0
exInt=0,eyInt=0,ezInt=0
第3步 根据接收到的磁力计矢量{mx,my,mz},得到正确磁场矢量{wx,wy,wz}
先将矢量{mx,my,mz}替换成将其单位化以后的矢量{mx,my,mz}/
得到局部坐标系下磁场的正确的磁场方向矢量{bx,0,bz}
hx = 2×mx×(0.5 - q2×q2 - q3×q3) + 2×my×(q1×q2 - q0×q3) +
2×mz×(q1×q3 + q0×q2);
hy = 2×mx×(q1×q2 + q0×q3) + 2×my×(0.5 - q1×q1 - q3×q3) +
2×mz×(q2×q3 - q0×q1);
hz = 2×mx×(q1×q3 - q0×q2) + 2×my×(q2×q3 + q0×q1) + 2×mz×(0.5 -
q1×q1 - q2×q2);
bx = ;
bz = hz
再转换到正确磁场矢量{wx,wy,wz}
wx = 2×bx×(0.5 - q2×q2 - q3×q3) + 2×bz×(q1×q3 - q0×q2);
wy = 2×bx×(q1×q2 - q0×q3) + 2×bz×(q0×q1 + q2×q3);
wz = 2×bx×(q0×q2 + q1×q3) + 2×bz×(0.5 - q1×q1 - q2×q2);
第4步 根据接收到的重力加速度计数据ax,ay,az,和{wx,wy,wz}
得到误差矢量{ex,ey,ez}并计算其累计值exInt,eyInt,ezInt
先将矢量{ax,ay,az}替换成将其单位化以后的矢量{ax,ay,az}/
vx = 2*(q1*q3 - q0*q2); vy = 2*(q0*q1 + q2*q3); vz = q0*q0 - q1*q1 - q2*q2 + q3*q3;
ex = (ay×vz - az×vy) + (my×wz - mz×wy);
ey = (az×vx - ax×vz) + (mz×wx - mx×wz);
ez = (ax×vy- ay×vx) + (mx×wy - my×wx);
计算误差累计值
exInt替 换 为exInt+ex×Ki; eyInt 替 换 为eyInt+ey×Ki; ezInt替 换 为ezInt+ez×Ki;
其中Ki为一可调节的正系数 ,Ki在0.00001至 0.5中任意选取;
第5步 根据误差矢量{ex,ey,ez}及其累计值纠正陀螺仪数据{gx0,gy0,gz0}
假设智能机读出当前的一组陀螺仪数据为{gx0,gy0,gz0} gx= gx0+Kp×ex + exInt; gy= gy0+Kp×ey + eyInt; gz = gz0+Kp×ez + ezInt;
其中Kp为一可调节的正系数
Kp在0.000001至 20.0中任意选取 ;
第6步 根据陀螺仪数据gx,gy,gz修正四元数
随着不断接收到陀螺仪数据gx, gy, gz,对4元数按如下方式修正,halfT为修正周期, halfT=0.00001~-10.0,
q0替换为q0+ (-q1×gx - q2×gy – q3×gz)×halfT; q1替换为q1+ (q0×gx - q3×gy + q2×gz)×halfT; q2替换为q2+ (q3×gx + q0×gy - q1×gz)×halfT; q3替换为q3+ (-q2×gx + q1×gy + q0×gz)×halfT;
第7步输出Rg矩阵和四元数
将四元数{q0,q1,q2,q3}单位化成{q0,q1,q2,q3} / 输出
4元数转Rg矩阵公式如下
第8步 回到第3步继续接收陀螺仪运动数据更新姿态4元数q0~q3,在循环的过程中每次到第7步都能输出当前的Rg矩阵和四元数。
2.智能机显示屏的姿态测定方法,包括以下步骤:
智能机显示屏的姿态矩阵为
rx是智能机显示屏像素阵列x轴方向在局部坐标系中的分量;
ry是智能机显示屏像素阵列y轴方向在局部坐标系中的分量;
rz是垂直于智能机显示屏表面方向向智能机显示屏内部朝前看的视线方向在局部坐标系中的分量;
1)按权利要求1的方法测定智能机姿态,并得到智能机的姿态矩阵Rg;
2)计算R=∆R×Rg;得到智能机显示屏的姿态矩阵;
∆R为智能机显示屏姿态矩阵R相对于智能机姿态矩阵Rg的一个固定的方向的转换,智能机自身Z轴定义为智能机加速度计的z轴方向,
当显示屏观察方向和智能机自身Z轴方向刚好相反时∆R= ;
当显示屏观察方向和智能机自身Z轴方向完全一致时∆R= ;
否则可在智能机上选择一个与智能机显示屏姿态一致的摄像头,即摄像头的xyz三轴分别与显示屏的xyz三轴平行且方向一致,采用摄影测量后方交会方法测量出智能机摄像头相对于局部坐标系的姿态矩阵RA, 并用权利要求1方法测得此时智能机的姿态矩阵Rg,-1
得到∆R=RARg 。
3. 基于智能机姿态的虚拟现实漫游方法,包括以下步骤:
1)采用权利要求2方法得到智能机显示屏的姿态矩阵R,
2)移动控制漫游观察者在局部坐标系中的位置
定义漫游观察者是在局部坐标系中的一个具备自身位置、姿态且用于观察周边场景的对象;智能机显示屏所渲染的场景就是漫游观察者在局部坐标系中所应看到的场景图像;
定义漫游观察者在局部坐标系中的坐标为Xd,Yd,Zd
用以下三种模式之一控制漫游观察者在虚拟场景中的移动:
(1) 模式1:普通二维移动
当手指按{∆X,∆Y}方向滑过智能机显示屏平面的时候,相当于局部坐标系下,Xd增加Vx=∆Xr11+∆Yr21; Yd增加Vy=∆Xr12+∆Yr22;Zd不变;
(2) 模式2:智能二维移动
当手指按{∆X,∆Y}方向滑过智能机显示屏平面的时候,采用如下方法:
首先选择R矩阵右侧一列中的r13,r23,r33中哪一个分量的绝对值最大,
如果|r33|最大,Xd增加Vx=∆Xr11+∆Yr21 Yd增加Vy=∆Xr12+∆Yr22
如果|r23|最大,Xd增加Vx=∆Xr11±∆Yr31 Yd增加Vy=∆Xr12±∆Yr32
r23≥0时,±取+;r23<0时±取 - 或者r23≥0时,±取-;r23<0时±取 +
如果|r13|最大,Xd增加Vx=±∆Xr31+∆Yr21 Yd增加Vy=±∆Xr32+∆Yr22
r13≥0时,±取+;r13<0时±取 - 或者r13≥0时,±取-;r13<0时±取 +;
(3) 模式3: 三维漫游移动
因为智能机显示屏只有二维,单个手指滑动只能进行二维操作,单指划过手机显示屏时∆X和∆Y与滑动位移成正比;此时操作智能机的用户双指滑动触碰智能机操作实现3维操作:采用双指合拢相当于∆Z<0,双指拉开相当于∆Z>0,或者双指合拢相当于∆Z>0,双指拉开相当于∆Z<0;当智能机接收到手指控制信息{∆X,∆Y,∆Z}的时候,
Xd 增 加 Vx=∆Xr11+∆Yr21+∆Zr31 Yd 增 加 Vy=∆Xr12+∆Yr22+∆Zr32 Zd 增 加Vz=∆Xr13+∆Yr23+∆Zr33;
3)设置漫游观察者在局部坐标系里的位置和方向:
根据漫游观察者的局部坐标系坐标Xd,Yd,Zd,以及步骤1)测定得到的姿态矩阵R,利用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库中用于设定相机位姿的图形库函数,设置漫游观察者在局部坐标系里的位置和方向:
需要设定以下几个量:
(1)漫游观察者自身观察的垂直视场角 ,就是智能机显示屏上边缘中点的视线方向与下边缘中点的视线方向的夹角;
(2)漫游观察者所在的位置Xd,Yd,Zd,由步骤2)漫游方法修改;
(3)漫游者观察方向{r31, r32 r33}或者用户注视点坐标(Xd +r31, Yd + r32, Zd + r33)(4)漫游者自身向上方向的矢量{-r21, -r22, -r23}
其中步骤(3)和(4)中的rij是智能机显示屏姿态R矩阵中的第i行j列,i=2或3,j=1、2或3;
4) 在局部坐标系下渲染绘制三维场景
预先在智能机的显示屏内设置一个3维渲染图层进行三维场景渲染;
这里被绘制的三维场景中的点、线、面和物体模型的几何坐标都要转换成局部坐标系T
下的坐标[Xi Yi Zi],即与漫游者的坐标Xd,Yd,Zd在同一个局部坐标系下;用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库实现局部坐标系下的三维绘图。
4.根据权利要求3所述的方法,其特征在于:步骤4)中几何坐标转换到局部坐标系下之后,再按如下三种方法之一渲染绘制使得局部坐标系中的一个标有广告符号、文字的纹理多边形面或广告牌的正面始终正对着漫游观察者:
方法1:
假设广告符号、文字的纹理多边形面或广告牌的局部坐标系坐标在Xi Yi Zi,按下法设置模型绘制转换矩阵M44:
∆Xi=Xi-Xd ∆Yi=Yi-Yd
M44是一个4x4矩阵,其中每一元素的值如下设定
M44=
△L=
将M44设定为模型转换矩阵;在y-z平面上绘图即可在虚拟场景中让广告符号、文字的纹理多边形面或广告牌永远正对漫游观察者;
方法2:
(a)假设广告符号、文字的纹理多边形面或广告牌的局部坐标系坐标在Xi Yi Zi,按如下方法设置模型绘制转换矩阵M44:
∆Xi=Xi-Xd ∆Yi=Yi-Yd
M44是一个4x4矩阵,其中每一元素的值如下设定
M44=
将m设定为模型转换矩阵;
(b)在x-z平面上绘图即可在虚拟场景中让广告牌永远正对漫游观察者;
方法3:
假设广告符号、文字的纹理多边形面或广告牌的局部坐标系坐标在Xi Yi Zi,按如下方法设置模型绘制转换矩阵M44:
∆Xi=Xi-Xd ∆Yi=Yi-Yd
M44是一个4x4矩阵,其中每一元素的值如下设定
M44=
将m设定为模型转换矩阵;在x-z平面上绘图即可在虚拟场景中让多边形面或广告牌永远正对漫游观察者。
5.根据权利要求3所述的方法,其特征在于:
在所述步骤3)和步骤4)之间增加如下操作:
(a) 获取智能机的高度hs,纬度θs和经度φs
θs是智能机的纬度,φs是智能机的经度,由智能机上自带的GPS接受模块获取;
(b) 计算智能机所在经纬度的Rv
Rv=
(c) 计算智能机所在纬度θs经度φs高度hs的地心坐标系坐标Ts
利用大地测量学中经典的转换公式
得到Ts;
其中
hs是智能机离地面高度
Ns是随纬度变化的卯酉圈曲率半径;
a,b是地球椭球的长短轴,是大地测量学中的已知常量;
e 是偏心率,是定值;
(d) 根据地球上任何一个点的经度φi、纬度θi和高程hi得到该点地心坐标系坐标T0i=[X0i Y0i Z0i]T
利用大地测量学中经典的转换公式
得到T0i;
其中
hi是点离地面高度
N 是随纬度变化的卯酉圈曲率半径;
a,b是地球椭球的长短轴,是大地测量学中的已知常量;
e 是偏心率,是定值;
如果已知一个物体所在经纬度φi和θi,通过本步骤计算出它的地心坐标系坐标T0i;
T
(e) 地心坐标系坐标T0i转换为局部坐标系中的坐标(Xi Yi Zi)
∆T是局部坐标系中智能机显示屏的几何中心相对于智能机GPS接收天线的局部坐标系偏移。
6.根据权利要求3所述的方法,其特征在于:
权利要求3步骤2)中当手指滑动的时候,根据手指滑动速度大小给予一个初速度{Vx,Vy,Vz},Xd,Yd,Zd将不停地增加速度分量Vx,Vy,Vz,此过程中让速度分量Vx,Vy,Vz随时间推移不断衰减,其中VZ在权利要求3步骤2)模式(1)或(2)情况下恒等于零;
让速度体现到局部坐标系下的漫游位移
Xd增加Vx
Yd增加Vy
Zd增加Vz
漫游观察者在虚拟场景中移动过程中速度大小不断衰减,
采用以下方法使Vx,Vy,Vz不停地衰减:
1) 运动过程中Vx, Vy, Vz自身分别不断地乘以k=0.1~0.9999进行衰减,
运动过程中Vx自身不断地乘以k,直到Vx减小为0为止;
运动过程中Vy自身不断地乘以k,直到Vy减小为0为止;
运动过程中Vz自身不断地乘以k,直到Vz减小为0为止;
或者
2) 运动过程中Vx, Vy, Vz自身分别不断地进行以下增量操作
Vx自身不断地增加-Vx*k,直到Vx减小为0为止;
Vy自身不断地增加-Vy*k,直到Vy减小为0为止;
Vz自身不断地增加-Vz*k,直到Vz减小为0为止;
其中k=0.0001~0.5
以上修改Xd,Yd,Zd及Vx,Vy,Vz的过程不断循环即实现局部加速度漫游效果。
7. 根据权利要求3所述的方法,其特征在于:
在步骤3)和步骤4)之间或在步骤4)之后,将智能机的显示屏设定为二维绘图模式并设置若干个二维标签,针对每一个二维标签,按如下步骤显示:
1)首先确定二维标签的中心位置u,v;
如果标签用于标注三维场景中局部坐标系坐标为(X,Y,Z)的目标,则根据以下公式确定目标显示的中心位置u, v
ZO=
式中:cx,cy是智能机显示屏中心点
的坐标,若显示屏是矩形,cx=屏宽/2, cy=屏高/2;
r11~r33是R矩阵对应行列的元素;
f= h是显示屏上下边缘垂直像素长, 是漫游观察者自身观察的垂直视场角
Xd,Yd,Zd是漫游观察者在局部坐标系中的坐标;
如果满足ZO>0且u,v在显示屏范围内,则u,v保持不变,
否则需要按下法修正u,v
若ZO=0则将[u v]替换为从点(cx,cy)出发
按矢量{r11(X-Xd)+r12(Y-Yd)+r13(Z-Zd), r21(X-Xd)+r22(Y-Yd)+r23(Z-Zd)}方向的射线与显示屏边缘相交的2维点; 若ZO>0则将u,v替换成从点(cx,cy)到点(u,v)的连线与显示屏边缘相交的2维点; 若ZO<0则将u,v替换成从点(u,v)到点(cx,cy)延长线与显示屏边缘相交的2维点;
如果二维标签不是用于标注目标,u,v为显示屏范围内的一个由界面设计者设定的像素坐标,或是用户手指触摸或鼠标点击的显示屏像素坐标;
2)按下述方法(1)或(2)计算矢量{Qx,Qy}
方法(1)Qx=-r23/La Qy=r13/La
其中r23, r13是权利要求2所述的方法中的R矩阵对应行列的元素,
La=
方法(2)利用权利要求1方法(1)所述加速度计的前两个输出值ax,ay得到
Qx=-ay/La Qy=ax/La, La=
3)在二维平面上经过以下矩阵旋转变换以后再绘制二维标签:
二维标签上每一点X,经过上式变换到坐标X’显示出来;
式中 取+是正放显示,取-是倒放显示,标签的水平轴始终平行于地面。
8.根据权利要求3所述的方法,其特征在于:
所述三维场景为一个空心的三维形体,三维形体为空心球,空心立方体、空心柱体、空心正多面体或空心锥体,三维形体的内壁以全景图作为纹理进行渲染;所述漫游观察者在虚拟场景中位于三维形体内部的某一点,从三维形体内部观察三维形体的内壁,实现利用智能机显示屏姿态控制全景浏览。
9.控制局部坐标系中三维物体姿态的方法,其特征在于:
(1) 按权利要求1方法得到的智能机姿态矩阵Rg;
(2)利用智能机姿态矩阵Rg控制局部坐标系中三维物体的姿态:
在绘制三维物体之前,将Rg矩阵设定为仿真软件系统中的模型转换矩阵M44的左上角
3x3矩阵M44=
即实现利用智能机姿态控制局部坐标系中三维物体的姿态。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
汽车零配件交易平台广告展示控制方法 | 2020-05-08 | 740 |
一种电线杆广告贴纸清理装置 | 2020-05-11 | 190 |
一种电子液晶屏触摸控制开关盒及防火卷帘门 | 2020-05-08 | 266 |
一种基于flink进行LBS定位的互联网营销平台 | 2020-05-08 | 607 |
一种方便定位的胶粘带广告纸 | 2020-05-08 | 509 |
一种便携式广告灯箱 | 2020-05-08 | 570 |
一种防水雾广告灯箱 | 2020-05-08 | 729 |
一种阶梯式三面翻广告牌 | 2020-05-08 | 471 |
一种广告艺术设计作品存放展示装置 | 2020-05-08 | 330 |
一种双面圆形LED广告显示屏 | 2020-05-08 | 90 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。