一种基于计算机的虚拟乒乓球运动控制方法及系统的制作方法

文档序号:6386052阅读:180来源:国知局
专利名称:一种基于计算机的虚拟乒乓球运动控制方法及系统的制作方法
技术领域
本发明设计计算机应用领域,更具体地说,涉及一种基于计算机的虚拟乒乓球运 动控制方法及系统。
背景技术
随着计算机应用技术的飞速发展,人们可以在计算机上进行虚拟乒乓球运动。目 前在计算机上进行乒乓球运动的实现方式主要有如下两种用计算机键盘、鼠标来操作。其中键盘用来控制打什么类型的球,一个按键对应一 个打球类型;鼠标用来控制打球的力度,和方向、控制力度时,显示器上会有一个表示力度 的条状图形,当鼠标按键被按下时,此次打球的力度就选择为条状图形所处位置标识的力 度;鼠标左右移动的方向代表着打球的方向。使用带有重力传感器、陀螺仪、及少数按键的手柄。重力传感器用于判断打球时挥 拍运动的加速度,陀螺仪用于判断运动的方向,少数按键用于表示打球是什么类型。手柄 的运动加速度、方向、按键信息通过蓝牙功能传入到终端计算机,供乒乓球运动项目软件使用。使用计算机键盘、鼠标来操作打乒乓球,其本身只是使用了人的手,且是用来按鼠 标和键盘,和真实乒乓球运动来说,相差甚远,如果按这种方式来实现运动项目,那么所有 的运动项目毫无差异,所以,这种实现方式,只能算是一种乒乓球游戏的实现方式。使用重力传感器、陀螺仪、及少数按键实现的乒乓球项目中,虽然得到了打球时挥 动球拍的加速度,运动方向,和打球的类型,但是这里面有很大的缺陷,两个最大的缺陷是, 一、没有人的空间位置信息;二、打球的类型是由按键给出的,和真实中人挥拍动作毫无关 系。由于其本身固有的两个缺陷,所以在乒乓球项目中也就有了一些无法避免的缺陷一、 由于无空间位置信息,所以打球时只要挥动了手柄,就表示打到球了,但真实打球时,挥拍 并不一定就打得到球;其二、按下一个按键,代表一个打球动作类型,比如扣球,但真实的打 球动作类型是由手挥拍的运动轨迹决定的,而不是想要什么球型,按什么键那么简单;其 三、将手柄放在蓝牙信号覆盖范围的任何地方打球,甚至人背对着显示器都可以打球,这明 显是有悖常理的。所以从运动健身的角度来说,使用重力传感器、陀螺仪、以及少数按键实 现的乒乓球项目,并不是真正的乒乓球运动健身项目,也只能算是个游戏项目。因此,需要一种能更真实反映人的空间位置信息和挥拍动作、能准确的计算出挥 拍是是否真的击到了球、以及能根据挥拍的动作和速度可以判断出击球动作类型的方案, 来克服现有技术中存在的上述缺陷。

发明内容
本发明所要解决的技术问题在于,针对现有虚拟乒乓球运动中不能真实的反映人 的空间位置信息和挥拍动作、不能判断是否真的击到了球、不能根据球拍动作判断击球类 型的问题,提供一种基于计算机的虚拟乒乓球运动控制方法及系统。
本发明解决其技术问题所采用的方案是在人体上设置两个跟踪点,第一跟踪点 代表人体的头部或躯干的空间位置信息,第二跟踪点代表人体的手部球拍的空间位置信 息;不断地采集上述两个跟踪点的空间位置信息;根据采集的上述两个跟踪点的空间位置 信息进行计算;根据上述计算结果控制显示系统所显示的虚拟乒乓球运动的过程。本发明提供了一种基于计算机的虚拟乒乓球控制方法,包括如下步骤Si)在人体上设置两个跟踪点,第一跟踪点代表人体的头部或躯干的空间位置信 息,第二跟踪点代表人体的手部球拍的空间位置信息;S2)不断地采集上述两个跟踪点的空间位置信息;S3)根据采集的上述两个跟踪点的空间位置信息进行计算;S4)根据上述计算结果控制显示系统所显示的虚拟乒乓球运动的过程。在本发明所述的基于计算机的虚拟乒乓球控制方法中,步骤S2采集到的每个跟 踪点对应的一组数据点都表示为三元组(X,Y,Z),其中X代表数据点在X轴的位置,且X值 增大表示跟踪点位置右移;Y代表数据点在Y轴的位置,且Y值增大表示跟踪点位置上移;Z 代表数据点在Z轴的位置,且Z值增大表示数据点前移,坐标原点为采集硬件的中心,称这 个坐标系为基于采集硬件的坐标系。采集硬件每秒对每个跟踪点采集30个此三元组表示 的空间位置数据。在本发明所述的基于计算机的虚拟乒乓球运动控制方法中,所述步骤S3包括在 显示系统中的虚拟乒乓球桌上建立一个虚拟坐标系,选取水平向右方向为虚拟坐标系的X 轴方向,竖直向上方向为虚拟坐标系的Y轴方向,垂直于显示系统屏幕向里的方向为虚拟 坐标Z轴方向,虚拟坐标系的原点在虚拟乒乓球桌的中心。可见这个虚拟坐标系和基于采 集硬件的坐标系是完全一致的,即相同的方向,相同的数值大小。只是一个用于描述跟踪点 的位置,一个用于将跟踪点位置数据表现在显示系统上,此外虚拟坐标系还用于描述乒乓 球的空间位置。有了这两个坐标系后,本发明所使用的跟踪点空间位置数据,就可以直接用 到虚拟坐标中,在虚拟坐标系中球拍的空间位置数据,运动速度数据,挥拍用力数据都和基 于采集硬件的坐标系中对应数据是一模一样的。在本发明所述的基于计算机的虚拟乒乓球控制方法中,步骤S3进一步包括将用 于反映人的空间位置信息的跟踪点和用于反映球拍的空间位置信息的跟踪点分别标记为A
点和 B 点。A 点的空间位置数据为(xA1, yA1, zA1),(xA2, yA2, zA2),......,(xAi, yAi, zAi),......,
其中(xAi,yAi,zAi)代表着A点在第i时刻的空间位置;B点的空间位置数据为(xB1,yB1,zB1),
(ΧΒ2' Υβ2' ΖΒ2) ‘ ......, (XBi' ^Bi' ZBi ),......,其中(xBi,yBi' zBi)代表着B点在第i时亥丨J的空
间位置。在本发明中,将A点用于反映人的位置,B点用于反映乒乓球拍的运动。对A点 数据的处理方式比较简单直接把基于采集硬件的坐标系的数据值,也即采集硬件采集到 的数据值映射到虚拟坐标系中,因虚拟坐标系和基于采集硬件的坐标系是完全一致的,即 相同的方向,相同的数值大小,故映射到虚拟坐标系的数据值和采集到的数据值是一样的, 除此映射处理过程之外对A点不需要其他更多的分析。B点的使用方式比较复杂,这里详 细阐述本发明中是怎么使用B点,也就是人手持的乒乓球拍位置数据点使用方式。为了描
述上的方便,将B点的空间位置数据重新改写为(Xl,Z1), (x2, y2, z2),......,(xi;
Zi),......,其中(Xi,yi,Zi)代表着第i时刻,乒乓球拍的空间位置坐标。有了球拍在各个
时刻的空间位置坐标,可以进一步求出球拍的运动信息,如速度,加速度,挥拍的力度等。具体计算各个数据的公式为第i时刻的速度公式在X轴上的速度vix = (Xi-XiJ/t、在Y轴上的速度viy Viy = (Vi-VH)/t、在 Z 轴上的速度viz = (Vi-VH)/t,其中 t = 1/30S ;第i时刻的加速度公式在X轴的加速度aix = (υ( _1)χ)Λ、在Y轴上的加速 度aiy = (Viy-V(H)y)/t、在 Z 轴上的加速度aiz = (Viz-V(H)z)/t,其中 t = l/30s ;有了各个时刻各个方向上的加速度,就可以对对应时刻对应方向上的用力情况做 出分析在X轴方向上的用力f ix = aixX k、在Y轴方向上的用力fiy = aiy X k、在Z轴方向 上的用力fiz = aizXk,k是一个比例系数。在步骤S4中,还包括判断是否有挥拍动作以及是否打击到乒乓球。在前面的阐述中,已经阐明了在某时刻挥拍速度在三个坐标轴上的分速度,它们 分别是vix、Viy, Viz,以及在使用的力度在三个坐标轴上的分力度,它们分别是fix、fiy、fiz。 在本发明中,将挥拍打球动作分为平推球、向上挑球、右边扣球、左边扣球、大力扣球、右边 削球、左边削球这几个打球动作。判断是否有挥拍打球动作,是看球拍运动的速度若三个方向上分速度的合速度达到给定的阈值Vo、即
权利要求
1.一种基于计算机的虚拟乒乓球运动控制方法,其特征在于,包括如下步骤51)在人体上设置两个跟踪点,第一跟踪点代表人体的头部或躯干的空间位置信息,第 二跟踪点代表人体的手部球拍的空间位置信息;52)不断地采集上述两个跟踪点的空间位置信息;53)根据采集的上述两个跟踪点的空间位置信息进行计算;54)根据上述计算结果控制显示系统所显示的虚拟乒乓球运动的过程。
2.如权利要求1所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,在所述 步骤S4中,根据所述第一跟踪点的计算结果控制所述显示系统所显示的虚拟目标的位置, 根据所述第二跟踪点的计算结果控制所述显示系统所显示的虚拟目标的挥拍动作。
3.如权利要求2所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述步 骤S3包括将所述第一跟踪点和所述第二跟踪点的空间位置信息映射到所述显示系统的虚 拟坐标系。
4.如权利要求3所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述步 骤S4进一步包括根据所述虚拟目标的位置及挥拍动作控制所述显示系统所显示的乒乓球 的运动轨迹。
5.如权利要求4所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述的 空间位置信息为三维空间位置信息,并以三元组数据表示。
6.如权利要求5所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述计 算结果包括速度、位移、加速度及挥拍力度。
7.如权利要求4所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述步 骤S4进一步包括根据所述乒乓球的运动轨迹以及所述虚拟目标的空间位置及球拍的空间 位置判断是否有挥拍动作,若判定有挥拍动作则进一步判断是否击打到所述乒乓球。
8.如权利要求7所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述判 断是否有挥拍动作按照如下规则判断若球拍的速度没有达到给定的阈值V(l,则判定没有挥拍动作;若球拍的速度达到给定的阈值V(l,则判定有挥拍动作,并随后在所述球拍的速度小于 给定的阈值%时,判定挥拍动作结束。
9.如权利要求8所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述判 断是否击打到所述乒乓球的步骤按照如下规则判断540)根据所述第二跟踪点的空间位置信息确定所述虚拟目标的球拍的位置点;541)判断所述虚拟目标的球拍的挥拍开始点和挥拍结束点之间所有相邻两点的空间 距离是否在预定的距离之内,如大于预定距离,则在相邻的球拍位置点之间均勻地插入多 个点,以作为所述球拍的位置点;542)计算所述乒乓球的位置点到所述球拍所在平面的距离,若该距离小于所述乒乓球 的半径r,则进入S43,否则判定所述乒乓球和所述球拍不会相交,即未击打到所述乒乓球;543)计算所述乒乓球的位置点到所述球拍的位置点的距离,若此距离小于所述球拍的 半径R,则判定所述乒乓球与所述球拍相交,即击打到所述乒乓球,否则判定所述乒乓球与 球拍不相交,即未击打到所述乒乓球。
10.如权利要求2所述的基于计算机的虚拟乒乓球运动控制方法,其特征在于,所述挥拍动作包括平推球、向上挑球、右边扣球、左边扣球、右边削球、左边削球、大力扣球。
11. 一种基于计算机的虚拟乒乓球运动控制系统,其特征在于,包括 基于视频的点数据采集单元用于对人体身上和球拍上设置的跟踪点各个时刻的空间 位置点数据进行采集,将采集到的代表人体空间位置信息的点数据和代表球拍空间位置的 点数据送入计算单元;计算单元用于对球拍空间位置点数据进行加工处理,计算不同时刻的速度、加速度, 进而计算不同时刻的力度;对人体空间位置点数据进行映射处理,将球拍不同时刻的速度、 力度、球拍空间位置点数据和映射处理后的人体空间点数据送入挥拍计算单元;挥拍计算单元用于根据球拍速度数据判断是否有挥拍动作,并记录下挥拍开始点和 结束点的空间位置信息,将挥拍开始点、结束点的空间位置信息和计算单元传入的数据一 起送入插值单元;插值单元用于对球拍空间位置点数据进行插值,将插值后的球拍空间数据和挥拍计 算单元传入的数据一起送入相交计算单元;相交计算单元用于判断球拍与球是否相交,将插值单元传入的数据送入挥拍动作类 型判断单元;挥拍动作类型判断单元用于根据挥拍动作的开始点,结束点位置,以及击打到球时刻 的球拍速度,判断此次挥拍的动作类型,依据挥拍动作的类型,以及挥拍动作的力度,给球 被击后的速度和方向,将此挥拍动作类型、球被击后的速度和方向送入输出单元;输出单元用于将映射处理后的人体空间位置数据、经计算得出的挥拍动作类型、球被 击后的速度和方向显示到显示系统。
全文摘要
本发明涉及一种基于计算机的虚拟乒乓球运动控制方法,包括以下步骤在人体上设置两个跟踪点,第一跟踪点代表人体的头部或躯干的空间位置信息,第二跟踪点代表人体的手部球拍的空间位置信息;不断地采集上述两个跟踪点的空间位置信息;根据采集的上述两个跟踪点的空间位置信息进行计算;根据上述计算结果控制显示系统所显示的虚拟乒乓球运动的过程。本发明还公开了实现该控制方法的系统。利用本发明公开的方法和系统,能更真实反映出人体动作和挥拍动作,能够准确地计算出是否真的击到了球,并且能够真实的反映击球的动作类型,是一项真实的健身运动。
文档编号G06F3/01GK101991949SQ20091018967
公开日2011年3月30日 申请日期2009年8月27日 优先权日2009年8月27日
发明者彭立焱, 曹立, 王跃, 甘泉 申请人:深圳泰山在线科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1