发明内容
本发明要解决的技术问题在于,针对现有技术中基于计算机的跳跃运动缺乏真实感和运动的基本特征以及测量跳跃高度时难以测量,测量结果误差较大的缺陷,提供一种基于计算机的跳跃运动实现方法及系统。
本发明解决其技术问题所采用的技术方案是:提供一种基于计算机的跳跃运动实现方法,包括以下步骤:
S1、在用户身上设置跟踪点,将所述用户静止站立时所述跟踪点的位置设为基准点,利用显示模块显示所述用户的虚拟形象;
S2、实时采集所述跟踪点的位置数据,并根据所述位置数据获取高度数据;
S3、根据所述高度数据计算垂直方向的速度数据;
S4、根据所述高度数据判断所述跟踪点是否在所述基准点下方,若是则判定出现下蹲动作,同时利用所述显示模块显示所述虚拟形象下蹲,并且返回步骤S2,否则进入步骤S5;
S5、根据所述高度数据判断所述跟踪点是否在所述基准点上方,若是则进一步判断是否存在连续多个均大于速度阈值的速度数据,若是则判定出现跳起动作,同时利用所述显示模块显示所述虚拟形象跳起,否则返回步骤S2。
在本发明所述的基于计算机的跳跃运动实现方法中,所述步骤S1中,所述跟踪点设置在所述用户的头部或腰部。
在本发明所述的基于计算机的跳跃运动实现方法中,所述步骤S5中,所述连续多个为连续3至5个。
在本发明所述的基于计算机的跳跃运动实现方法中,还包括以下步骤:
S6、根据所述连续多个均大于速度阈值的速度数据计算跳跃高度,并输出跳跃高度。
在本发明所述的基于计算机的跳跃运动实现方法中,所述步骤S6中,选取所述多个速度数据中的最大值,利用竖直上抛运动的速度-高度公式来计算所述跳跃高度。
在本发明所述的基于计算机的跳跃运动实现方法中,还包括以下步骤:
S7、通过判断所述跳跃高度是否大于高度阀值来判断跳跃有效或者无效,若有效则给出跳跃成绩并输出所述跳跃成绩。
在本发明所述的基于计算机的跳跃运动实现方法中,所述步骤S7中,给出所述跳跃成绩的方法为函数计算法,利用预先设定的高度-成绩公式,根据所述跳跃高度计算得到对应的跳跃成绩。
在本发明所述的基于计算机的跳跃运动实现方法中,所述步骤S7中,给出所述跳跃成绩的方法为对照查表法,利用预先设定的高度-成绩表,找出所述跳跃高度所属的范围,以及所述范围对应的跳跃成绩。
还提供一种基于计算机的跳跃运动实现系统,包括视频采集模块、数据处理模块和显示模块,其中:
所述视频采集模块用于实时采集用户身上跟踪点的位置数据;
所述数据处理模块用于根据所述位置数据获取高度数据,根据所述高度数据计算垂直方向的速度数据,根据所述高度数据判断是否出现蹲下动作,若是则控制所述显示模块显示代表所述用户的虚拟形象蹲下,并且进一步根据所述高度数据和速度数据判断是否出现跳起动作,若是则控制所述显示模块显示所述虚拟形象跳起;
所述显示模块用于显示所述虚拟形象及所述虚拟形象蹲下和跳起的动作。
在本发明所述的基于计算机的跳跃运动实现系统中,所述数据处理模块还用于根据所述速度数据计算跳跃高度,并通过比较所述跳跃高度和高度阈值来判断跳跃是否有效,若有效则进一步给出跳跃成绩;所述显示模块还用于显示所述跳跃高度和跳跃成绩。
实施本发明的基于计算机的跳跃运动实现方法及系统,具有以下有益效果:真实反应了用户的动作,用户在跳跃过程中,动作会实时地反应在显示器上;能准确判断出用户的动作是否为跳跃运动;同时可以方便快捷地测量跳跃高度,且测量结果准确度和精确度均较高。
具体实施方式
请参阅图1,为本发明优选实施例提供的基于计算机的跳跃运动实现方法的流程图。如图1所示,该方法的流程包括步骤S1至步骤S7。
S1、在用户身上设置跟踪点,将所述用户静止站立时跟踪点的位置设为基准点,利用显示模块显示所述用户的虚拟形象。
跟踪点可以设置在用户身上较为固定的位置,例如:头部可以佩戴帽子,帽子上设置跟踪点;腰部可以佩戴腰带,腰带上设置跟踪点。四肢在跳跃时动作太大,除了垂直方向的位移,还有其他方向的位移,不宜设置跟踪点。本优选实施例中设置在用户头戴的帽子上。
用户静止站立时是整个跳跃运动的开始,因此将此时跟踪点的位置设为基准点,便于后面步骤中判断是否存在下蹲动作和跳起动作。
可以利用计算机显示器显示代表用户的虚拟形象,让用户看到自己跳跃时候的动作。跳跃的整个过程还可以存储在计算机中,方便用户在跳跃之后反复观看。
S2、实时采集跟踪点的位置数据,并根据位置数据获取高度数据。
请参阅图2,为本发明优选实施例提供的基于计算机的跳跃运动实现方法的摄像头坐标系示意图。如图2所示,摄像头坐标系原点为视频摄像头中心,x轴正方向为水平向右,y轴正方向为垂直向上,z轴正方向为水平向后。该摄像头坐标系用于描述现实情况中用户的位置信息和速度信息。
通过视频摄像头对跟踪点进行跟踪,获得跟踪点在摄像头坐标系中的空间位置坐标:(x1,y1,z1),(x2,y2,z2),……,(xi,yi,zi),……,其中(xi,yi,zi)代表着第i时刻跟踪点的空间位置坐标。其中,跟踪点的高度数据等同于跟踪点在y方向上的数值。
请结合参阅图3,为本发明优选实施例提供的基于计算机的跳跃运动实现方法的虚拟坐标系示意图。如图3所示,虚拟坐标系原点为显示模块中场地中心,x轴正方向为水平向右,y轴正方向为垂直向上,z轴正方向为水平向后。该虚拟坐标系用于描述数据处理模块和显示模块中带跟踪点的用户的位置信息和速度信息。
图2示出的摄像头坐标系与图3示出的虚拟坐标系,对应x轴、y轴、z轴分别拥有相同的正方向,相同的数值大小,因此,该摄像头坐标系中的数据,可以直接应用到该虚拟坐标系中,形成一一对应的映射关系。
因此跟踪点在虚拟坐标系中的空间位置坐标同样为:(x1,y1,z1),(x2,y2,z2),……,(xi,yi,zi),……,其中(xi,yi,zi)代表着第i时刻跟踪点的空间位置坐标。其中,跟踪点的高度数据等同于跟踪点在y方向上的坐标值。
可以利用视频摄像头对跟踪点的位置信息进行采集,集采频率为30HZ。
S3、根据所述高度数据计算垂直方向的速度数据。
第i时刻的速度公式:vix=(xi-xi-1)/t、viy=(yi-yi-1)/t、viz=(zi-zi-1)/t,其中t=1/30s。速度由x、y、z三个方向的分量组成,此处只用计算速度在y方向上的分量,即利用公式viy=(yi-yi-1)/t,其中t=1/30s。
S4、根据所述高度数据判断所述跟踪点是否在所述基准点下方,若是则判定出现下蹲动作,同时利用所述显示模块显示所述虚拟形象下蹲,并且返回步骤S2,否则进入步骤S5。跳跃过程可以分为下蹲和跳起两个部分,在步骤S3中判断是否出现下蹲动作。具体方法为:
基准点的高度数据为y0;
比较高度数据yi和y0的大小,若yi<y0则判定出现下蹲动作。
S5、根据所述高度数据判断所述跟踪点是否在所述基准点上方,若是则进一步判断是否存在连续多个均大于速度阈值的速度数据,若是则判定出现跳起动作,同时利用所述显示模块显示所述虚拟形象跳起,否则返回步骤S2。在步骤S5中判断是否出现跳起动作。具体方法为:
基准点的高度数据仍然为y0;
设定速度阈值vo;
比较高度数据yi和y0的大小,若yi>y0则进一步判断否存在连续的vi、vi+1、vi+2、vi+3满足vi>vo、vi+1>vo、vi+2>vo、vi+3>vo,若是则判定出现跳起动作。本优选实施例中比较连续4个速度数据,也可以比较连续3个或者5个速度数据。
S6、根据所述连续多个均大于速度阈值的速度数据计算跳跃高度,并输出跳跃高度。
通过是否出现跳起动作的判断,已经得出了连续4个均大于速度阈值的速度数据vi、vi+1、vi+2、vi+3。选取vi、vi+1、vi+2、vi+3中的最大值,最大值记为vm利用竖直上抛运动的速度-高度公式来计算所述跳跃高度H,该速度-高度公式为:H=vm 2/2g,其中,g为重力加速度。
除了可以计算并输出跳跃高度,还可以增设步骤S7、通过判断所述跳跃高度是否大于高度阀值来判断跳跃有效或者无效,若有效则给出跳跃成绩并输出所述跳跃成绩。具体方法为:
设定高度阀值H0;
比较跳跃高度H和高度阀值H0的大小,若H>H0则判定此次跳跃有效并进行下一步给出并输出成绩,否则判定跳跃无效。
给出成绩可以采取公式计算法,利用预先设定的高度-成绩公式,根据所述跳跃高度计算得到对应的跳跃成绩。例如,预先设定高度-成绩公式为f(H)=kH,其中,H为跳跃高度,f(H)为跳跃成绩,k为比例系数,k值大小由实际情况而定。此外,实际情况也可以不采用上述例子中的高度-成绩公式,而采用其他的高度-成绩公式。
给出成绩也可以采取对照查表法,利用预先设定的高度-成绩表,找出所述跳跃高度所属的范围,以及所述范围对应的跳跃成绩。例如,下表所示预先设定的高度-成绩表。
表1优选实施例中高度-成绩表
请参阅图4,为本发明优选实施例提供的基于计算机的跳跃运动实现系统的结构示意图。如图4所示,该系统包括:视频采集模块、数据处理模块和显示模块。
视频采集模块用于不断拍摄用户以及采集该用户头部或者腰部的跟踪点的位置信息。视频采集模块可以是具有跟踪点识别采集功能的摄像头,以每秒钟30次的频率对跟踪点进行识别和采集。
数据处理模块和所述视频采集模块相连,用于接收所述视频采集模块采集到的所述位置数据,并根据所述位置数据计算速度数据,根据所述位置数据和速度数据判断是否存在跳跃开始点,若是则进一步判断是否存在跳跃最高点,若是则判定出现跳跃动作,并且通过计算所述跳跃最高点和跳跃开始点的高度差值得到跳跃高度。通过判断所述跳跃高度是否大于高度阀值来判断跳跃有效或者无效,如果有效则给出跳跃成绩。
数据处理模块利用所述速度数据和位置数据来判断是否存在跳跃开始点和跳跃最高点:判断是否存在向上且不为零的速度数据,若是则进一步判断上述速度数据是否大于第一速度阀值,若是则判定存在跳跃开始点,否则判定不存在跳跃开始点,再继续判断是否存在小于第二速度阀值的速度数据,若是则进一步判断上述速度数据点的高度是否大于判定存在的所述跳跃开始点的高度,若是则判定存在跳跃最高点,否则判定不存在跳跃最高点。数据处理模块可以是计算机处理器。
显示模块,分别和视频采集模块和数据处理模块相连,用于接收并显示视频采集模块拍摄到的用户,以及接收并显示计算处理模块计算出的跳跃高度。显示模块还用于显示跳跃成绩。显示模块可以是计算机显示器。
本发明优选实施例提供的基于计算机的跳跃运动实现系统可以由视频摄像头和计算机组成,该系统可以真实反应了用户的动作,用户在跳跃过程中,动作可以实时地反应在显示器上,也可以将跳跃动作录制下来,以便跳跃结束后反复观察;能准确判断出用户的动作是否为跳跃运动;同时可以方便快捷地测量跳跃高度,且测量结果准确度和精确度均较高。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。