[发明专利]基于Kinect体感设备虚拟抛掷盛接系统有效
申请号: | 201910534256.3 | 申请日: | 2019-06-20 |
公开(公告)号: | CN110262660B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 高秀梅;陈芳;齐金山;赵朴素 | 申请(专利权)人: | 淮阴师范学院 |
主分类号: | G06F3/01 | 分类号: | G06F3/01;G06T19/00 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 顾翰林 |
地址: | 223300 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kinect 设备 虚拟 抛掷 系统 | ||
1.一种基于Kinect体感设备虚拟抛掷盛接系统,其特征在于:
在Unity3D模拟的场景中,安置一个虚拟的用户数字骨架,用一个开口的木箱3D模型,当用户完成抛掷动作后,实例化一个小球,并做抛物开关触发运动,计算盛接落点位置,木箱移动到落点位置进行盛接;
抛掷开关的触发依靠多个触发位,即bool值,当全部触发位满足条件,即全部的bool值为true时,触发抛掷函数,将初速度、方向、初位置赋予小球,并实例化小球,交由Unity3D的物理引擎模拟其运动轨迹;其中:以右手的速度超过7m/s,加速度超过70m/s作为触发抛掷函数的开关;
盛接落点位置由小球x、y、z三个方向上的分速度和抛出点位置的高度,计算出下落时间及小球的落点;
木箱的移动根据木箱当前位置与落点位置的差值,将木箱移动到小球的落点位置,等待小球落进木箱;
当用户抛掷完一个物体之后,开关关闭,即其值变为false,需要用户按一下空格键,将开关打开,及throwSwitch值再次置为true,才能进行下一次的抛掷;
抛掷开关的触发具体为:
步骤1、右手骨骼节点的空间三维坐标值,并且该坐标值每秒钟有N帧的变化,就可以算出右手节点实时三个方向上的分速度与分加速度大小;
步骤2、若以1/N秒为单位时间,依次加变量x/N,每加到N就重置并计算一次速度与加速度,就实现了每秒计算N次的效果,用float来存放速度值与加速度值;
步骤3、计算x,y,z三个方向的分速度与合速度的公式如下:
Vx = dx/t;Vy = dy/t;Vz = dz/t;V=(Vx^2+Vy^2+Vz^2)^0.5
其中dx、dy、dz为三个方向上单位时间内的位置坐标差值;
速度是矢量,根据三个方向上的分速度得到空间内的方向;
步骤4、根据分速度,得到右手三个方向上的加速度以及合加速度,加速度计算公式如下:
Ax = dVx/t;Ay=dVy/t;Az=dVz/t;A=(Ax^2+Ay^2+Az^2)^0.5;
单位时间t同样取1/N秒,dVx、dVy、dVz为三个方向上速度单位时间内的差值。
2.根据权利要求1所述的基于Kinect体感设备虚拟抛掷盛接系统,其特征在于:抛掷的触发中,右手的速度超过7m/s,加速度超过70m/s作为触发抛掷函数的开关。
3.根据权利要求1所述的基于Kinect体感设备虚拟抛掷盛接系统,其特征在于盛接落点位置具体为:在小球被抛出的时刻,我们记录下小球在x,y,z三个方向上的分速度,并且记录下抛出时刻的高度,便可以利用物理公式计算出小球的理论落点,即小球在x轴和z轴移动的距离,其公式如下: Vx,Vy,Vz为小球抛出时刻三个方向上的分速度,h为小球抛出时刻的高度,g为重力加速度,在Unity3D的环境中,y轴为垂直方向轴;
Sx = (Vy/g+((Vy^2+2*g*h)/g^2)^0.5)*Vx,x轴方向上的移动距离;
Sz = (Vy/g+((Vy^2+2*g*h)/g^2)^0.5)*Vz,z轴方向上的移动距离;
小球从抛出到下落的总时间为T:Vy/g+((Vy^2+2*g*h)/g^2)^0.5;
在求得小球从抛出时刻,到落地的总时间之后,就可以算出小球的落点位置,即落点坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于淮阴师范学院,未经淮阴师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910534256.3/1.html,转载请声明来源钻瓜专利网。