[发明专利]虚拟环境中基于四元数的六自由度模型随动相机控制算法有效
申请号: | 201710032264.9 | 申请日: | 2017-01-16 |
公开(公告)号: | CN106843285B | 公开(公告)日: | 2019-11-01 |
发明(设计)人: | 韩勇;丁志在;马纯永;于吉光 | 申请(专利权)人: | 青岛海大新星软件咨询有限公司 |
主分类号: | G05D3/12 | 分类号: | G05D3/12;G06T7/246;G06T7/73 |
代理公司: | 青岛中天汇智知识产权代理有限公司 37241 | 代理人: | 郝团代 |
地址: | 266000 山东省青岛市市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 环境 基于 四元数 自由度 模型 相机 控制 算法 | ||
1.虚拟环境中基于四元数的六自由度模型随动相机控制算法,其特征在于,包括以下步骤:
S1)将当前系统相机视点与运动目标进行绑定:
首先编写一个随动相机控制事件处理器,该事件处理器在初始化阶段根据用户需要选择跟踪目标,之后将该事件处理器写入处理器列表,把所写的事件处理器激活,启动该事件处理器,在该事件处理器中,通过设置参数判断是否选择绑定目标物;
S2)实时获得当前运动目标所处外部作用力数据,用Fn表示,即:
Fn(Fx,Fy,Fz)
Fn为一个三维向量,表示为单位时间阻力的位移,Fx、Fy和Fz分别表示在X、Y和Z轴方向的阻力的大小;
S3)实时获得当前运动目标的三维坐标数据及运动姿态参数,通过四元数与六自由度的相关变换算法获得修正后的运动目标的运动参数:
在四元数中,用A表示物体所在的空间位置,即:
A=a+bi+cj+dk;
其中i、j、k表示三个虚部方向,b、c、d分别表示i、j、k的参数,用S表示六自由度,即:
S=(Δx,Δy,Δz,α,β,γ);
其中Δx、Δy、Δz分别表示x、y、z三个坐标轴的变化量,α、β、γ分别表示绕x、y、z三个坐标轴的旋转量,有方向与大小,是四元数的虚部参数,用Q表示,即:
Q=(b,c,d)
因此S简化为:
S=(Δx,Δy,Δz,Q);
在该步骤中,用P0表示当前跟随物的三维中心坐标,即:
P0(x0,y0,z0);
其中x0、y0、z0分别表示x、y、z三个坐标轴的坐标,设运动目标的运动速度为v,即:
v(νx,vy,vz)
设实时更新后跟随物的中心三维坐标为p,则在六自由度参数中,更新六自由度参数为:
Δx=vx*cos(b)+Fx
Δy=vy*cos(c)+Fy
Δz=vz*cos(d)*sin(d)+Fz
所以,更新后运动目标的三维中心坐标为:
p(x,y,z)=(x0+Δx,y0+Δy,z0+Δz);
S4)计算相机的运动姿态变化,同步更新相机的运动;
S5)通过键盘及外设控制器等装置改变跟随目标的运动状态,控制跟随目标的运动。
2.根据权利要求1所述的虚拟环境中基于四元数的六自由度模型随动相机控制算法,其特征在于:
步骤S2)所述当前运动目标所处外部作用力数据由仿真控制器自动模拟获得或者传入事先预设的默认值。
3.根据权利要求1所述的虚拟环境中基于四元数的六自由度模型随动相机控制算法,其特征在于:
在随动相机控制事件处理器中,通过当前视点位置获得当前运动目标所处外部作用力。
4.根据权利要求2或3所述的虚拟环境中基于四元数的六自由度模型随动相机控制算法,其特征在于:
步骤S5)通过设置键盘及外设控制器映射码值控制跟随目标运动状态及运动参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海大新星软件咨询有限公司,未经青岛海大新星软件咨询有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710032264.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种小空间用内螺纹孔辅助攻丝装置
- 下一篇:一种螺母攻丝装置