一种运动参数确定方法和装置与流程

文档序号:27262914发布日期:2021-11-05 22:42阅读:110来源:国知局
一种运动参数确定方法和装置与流程

1.本技术涉及数据处理技术领域,特别是涉及一种运动参数确定方法和装置。


背景技术:

2.目前,存在大量需要通过相机等设备展示目标对象的运动轨迹的游戏,比如飞盘高尔夫游戏、高尔夫球游戏等。为了更好地将目标对象的运动轨迹展示出来,通常需要知道目标对象在各个时间下的运动参数。
3.现有技术中,通常通过帧迭代方式进行运动参数的计算,即通过上一帧的运动参数推导下一帧的运动参数。但是,帧迭代方式存在以下缺点:第一,若要确定指定时间下的运动参数值,需要首先找到指定时间对应的指定帧,然后再进行推导,过程较为繁琐;第二,若指定时间位于两帧之间,则无法得到对应运动参数值。


技术实现要素:

4.有鉴于此,本技术提供了一种运动参数确定方法和装置,用于确定目标时间对应的目标运动参数值,其技术方案如下:
5.一种运动参数确定方法,包括:
6.获取目标时间;
7.从预先针对目标对象的运动情况构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,其中,复合函数集合中任一复合函数均包括输入参数、时间参数和运动参数,任一复合函数均对应一时间段,任一复合函数能够反映对应时间段内时间参数与运动参数的关系,输入参数为使目标对象按照设定轨迹运动的参数;
8.根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值。
9.可选的,运动参数中包括速度参数;
10.构建复合函数集合的过程,包括:
11.根据初始输入参数值,确定首个复合函数,其中,初始输入参数值为用户在目标对象开始运动前设置的输入参数的值;
12.将首个复合函数作为当前复合函数,基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值;
13.根据确定出的运动参数值,确定下一复合函数的类型和输入参数值,其中,下一复合函数对应的时间段与当前复合函数对应的时间段相同或相邻;
14.根据下一复合函数的类型和输入参数值,确定下一复合函数;
15.将下一复合函数作为当前复合函数,返回执行基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值,直至基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定的速度值为0。
16.可选的,从预先针对目标对象的运动情况构建的复合函数集合中,确定目标时间对应的复合函数,包括:
17.从复合函数集合中,确定包含目标时间的时间段对应的复合函数,作为目标复合函数。
18.可选的,根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值,包括:
19.若目标复合函数为一个,则基于目标时间和一个目标复合函数确定一个目标复合函数下目标时间对应的运动参数值,作为目标运动参数值;
20.若目标复合函数为多个,则基于目标时间和每个目标复合函数确定每个目标复合函数下目标时间对应的运动参数值;基于各个目标复合函数下目标时间对应的运动参数值,确定目标运动参数值。
21.可选的,运动参数包括但不限于以下参数:位置、速度、旋转、法线、速度、加速度、角速度和角加速度。
22.可选的,运动参数包括多个参数,目标运动参数值包括多个参数值;
23.运动参数确定方法,还包括:
24.将目标运动参数值包含的每个参数值通过每个参数对应的api接口输出。
25.一种运动参数确定装置,包括:
26.时间获取模块,用于获取目标时间;
27.目标函数确定模块,用于从预先针对目标对象的运动情况构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,其中,复合函数集合中任一复合函数均包括输入参数、时间参数和运动参数,任一复合函数均对应一时间段,任一复合函数能够反映对应时间段内时间参数与运动参数的关系,输入参数为使目标对象按照设定轨迹运动的参数;
28.目标参数值确定模块,用于根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值。
29.可选的,运动参数中包括速度参数;
30.运动参数确定装置,还包括:
31.函数集合构建模块,用于构建复合函数集合;
32.函数集合构建模块,包括:
33.首个函数确定模块,用于根据初始输入参数值,确定首个复合函数,将首个复合函数作为当前复合函数,其中,初始输入参数值为用户在目标对象开始运动前设置的输入参数的值;
34.运动参数值确定模块,用于基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值;
35.类型及输入参数值确定模块,用于根据确定出的运动参数值,确定下一复合函数的类型和输入参数值,其中,下一复合函数对应的时间段与当前复合函数对应的时间段相同或相邻;
36.下个函数确定模块,用于根据下一复合函数的类型和输入参数值,确定下一复合函数;
37.下个函数确定模块,还用于将下一复合函数作为当前复合函数,返回执行运动参数值确定模块,直至运动参数值确定模块确定的速度值为0。
38.可选的,目标函数确定模块,具体用于从复合函数集合中,确定包含目标时间的时间段对应的复合函数,作为目标复合函数。
39.可选的,目标参数值确定模块,具体用于若目标复合函数为一个,则基于目标时间和一个目标复合函数确定一个目标复合函数下目标时间对应的运动参数值,作为目标运动参数值;若目标复合函数为多个,则基于目标时间和每个目标复合函数确定每个目标复合函数下目标时间对应的运动参数值,基于各个目标复合函数下目标时间对应的运动参数值,确定目标运动参数值。
40.经由上述的技术方案可知,本技术提供的运动参数确定方法,预先会针对目标对象的运动情况构建复合函数集合,当获取到目标时间时,可以从预先构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,然后根据目标时间和目标复合函数,即可确定目标时间对应的目标运动参数值。由此可见,本技术通过函数计算的方式确定目标时间对应的目标运动参数值,免去了逐帧迭代的过程,耗时更短,效率更高,并且,本技术提供的运动参数确定方法能够得到任意时间对应的目标运动参数值。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.图1为本技术实施例提供的运动参数确定方法的流程示意图;
43.图2为本技术实施例提供的运动参数确定装置的结构示意图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.如背景技术中介绍,在现有的一些游戏中,通常需要相机等设备播放目标对象的运动轨迹,例如,在飞盘高尔夫游戏中,通常需要相机播放飞盘的运动轨迹,此时需要相机中的控制模块获取精确的运动轨迹过程量,即获取任意时间对应的运动参数值。
46.鉴于现有技术中帧迭代方法存在的问题,本案发明人进行了深入研究后想到,可以针对目标对象的运动情况构建复合函数集合,在外部设备需要获取目标时间对应的目标运动参数值时,即可基于目标时间以及复合函数集合中目标时间对应的目标复合函数,确定目标时间对应的目标运动参数值,之后可将目标运动参数值输出出来,这样外部设备就可获得目标时间对应的目标运动参数值。
47.基于上述思路,本技术实施例提供了一种运动参数确定方法,接下来通过下述实施例对本技术提供的运动参数确定方法进行详细介绍。
48.请参阅图1,示出了本技术实施例提供的运动参数确定方法的流程示意图,该方法可以包括:
49.步骤s101、获取目标时间。
50.可选的,本技术实施例可实现一对外暴露的api时间接口,在外部设备需要获取目标时间对应的目标运动参数值时,可通过该api时间接口输入目标时间,从而本步骤可以获取目标时间。
51.步骤s102、从预先针对目标对象的运动情况构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数。
52.可选的,上述目标对象的运动情况具体可以为目标对象的运动轨迹,本领域技术人员应当理解,目标对象的运动轨迹在不同物理阶段或者同一物理阶段的不同计算中,可拆分为一个或多个复合函数,例如,飞盘高尔夫的飞盘在地面滚动时可能经滚动计算本身,和一些平滑插值数值计算等步骤,在处理时,可拆成不同的复合函数。基于此,根据实际运动轨迹,复合函数集合中包含的复合函数的数量可能不同。
53.这里,复合函数集合中任一复合函数均包括输入参数、时间参数和运动参数,并且任一复合函数均对应一时间段,任一复合函数能够反映对应时间段内时间参数与运动参数的关系,例如,复合函数可以为空中飞行函数、弹跳函数、线性插值函数、空中侧旋函数、地面滚动函数、地面滚动平滑函数等。
54.上述输入参数为使目标对象按照设定轨迹运动的参数,例如,在飞盘高尔夫游戏中,输入参数可以为旋度、力量等参数;上述运动参数是指复合函数的输出,可选的,本技术实施例中,运动参数包括但不限于以下参数:位置、速度、旋转、法线、速度、加速度、角速度和角加速度。
55.在本步骤中,可以预先针对目标对象的运动情况构建复合函数集合,在获取到目标时间后,即可从复合函数集合中确定目标时间对应的目标复合函数。
56.由于任一复合函数均对应一时间段,基于时间段与目标时间的关系,即可确定目标复合函数。基于此,在一种可能的实现方式中,本步骤从复合函数集合中确定目标时间对应的目标复合函数的过程可以包括:从复合函数集合中,确定包含目标时间的时间段对应的复合函数,作为目标复合函数。
57.步骤s103、根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值。
58.前述已经说明了,目标对象的运动轨迹在不同物理阶段或者同一物理阶段的不同计算中,可拆分为一个或多个复合函数,那么目标时间对应的目标复合函数可能为一个或多个。例如,针对目标对象的运动轨迹构建的复合函数集合中包括复合函数1、复合函数2、复合函数3、复合函数4和复合函数5,其中,复合函数1和复合函数2对应的时间段均为0~5秒,复合函数3和复合函数4对应的时间段均为6~12秒,复合函数5对应的时间段为13~20秒,若目标时间为10秒,则目标复合函数为复合函数3和复合函数4,若目标时间为17秒,则目标复合函数为复合函数5。
59.其中,若目标时间对应的目标复合函数为一个,则本步骤根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值的过程可以包括:基于目标时间和一个目标复合函数确定该一个目标复合函数下目标时间对应的运动参数值,作为目标运动参数值,也即,将目标时间输入该一个目标复合函数中,得到的该一个目标复合函数的输出即为目标运动参数值。
60.若目标时间对应的目标复合函数为多个,则本步骤根据目标时间和目标复合函
数,确定目标时间对应的目标运动参数值的过程可以包括:
61.步骤s1031、基于目标时间和每个目标复合函数确定每个目标复合函数下目标时间对应的运动参数值。
62.在本步骤中,可以将目标时间分别输入每个目标复合函数中,得到每个目标复合函数的输出,即每个复合函数均可输出目标时间对应的运动参数值。
63.步骤s1032、基于各个目标复合函数下目标时间对应的运动参数值,确定目标运动参数值。
64.在本步骤中,可以对各个目标复合函数输出的目标时间对应的运动参数值做设定运算,运算结果即为目标运动参数值。
65.可选的,设定运算包括但不限于:加、减、乘、除,以及,加、减、乘、除中任意两个或多个的组合。在本技术实施例中,具体选用哪种设定运算需要根据实际情况确定。
66.本技术提供的运动参数确定方法,预先会针对目标对象的运动情况构建复合函数集合,当获取到目标时间时,可以从预先构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,然后根据目标时间和目标复合函数,即可确定目标时间对应的目标运动参数值。由此可见,本技术通过函数计算的方式确定目标时间对应的目标运动参数值,免去了逐帧迭代的过程,耗时更短,效率更高,并且,本技术提供的运动参数确定方法能够得到任意时间对应的目标运动参数值。
67.在一可选实施例中,上述步骤s102中的运动参数包括多个参数,上述步骤s103中确定出的目标运动参数值包括多个参数值,本技术实施例还可以包括以下步骤(图1未示出):
68.步骤s104、将目标运动参数值包含的每个参数值通过每个参数对应的api接口输出。
69.在一种可能的情况下,本技术实施例中,可以针对复合函数集合中包含的每个复合函数,均实现对应的输入接口和输出接口,这里实现的输入接口和输出接口不会对外暴露,一复合函数对应的输入接口包括输入参数接口和输入时间接口,其中,输入参数接口用于将输入参数输入至该复合函数中,输入时间接口用于将步骤s101获得的目标时间输入至该复合函数中,一复合函数对应的输出接口包括运动参数包含的各个参数分别对应的输出参数接口,其中,一参数对应的输出参数接口用于将复合函数输出的该参数对应的参数值输出。对于本技术实施例而言,可将步骤s101获得的目标时间输入目标复合函数对应的输入时间接口,经目标复合函数计算后,可通过目标复合函数对应的输出参数接口将目标运动参数值输出。
70.由于上述输出参数接口未对外暴露,那么将目标运动参数值通过目标复合函数对应的输出参数接口进行输出,也仅意味着在本技术实施例内部可以获得目标运动参数值,但是外部设备无法获得目标运动参数值。
71.基于此,在一可选实施例中,本技术实施例还可针对运动参数包含的每个参数分别实现一对外暴露的api接口,例如,运动参数包括位置、速度、旋转、法线、速度、加速度、角速度和角加速度,则本技术实施例可实现8个对外暴露的api接口,一个api接口对应一个参数。这样,在外部设备需要获取目标时间对应的目标运动参数值时,本技术实施例可将目标运动参数值包含的每个参数值通过每个参数对应的api接口输出至外部设备。
72.例如,目标运动参数值包含的位置值可通过位置对应的api接口输出至外部设备,速度值可通过速度对应的api接口输出至外部设备,

,角加速度值可通过角加速度对应的api接口输出至外部设备。
73.可选的,本技术实施例还可以为每个api接口均设置一个获取函数,通过调用获取函数,即可从对应api接口获得目标运动参数值,例如,位置对应的api接口上设置有getpos函数,通过调用getpos函数即可从位置对应的api接口得到位置值。
74.可选的,为了获取目标对象整个运动过程中的总时间,还可实现总时间对应的api接口,该api接口上设置有gettime函数,通过调用gettime函数即可从总时间对应的api接口获得总时间。
75.当然,本技术实施例还可以根据实际情况实现其他api接口,例如是否在地面对应的api接口,在此,本技术实施例不进行具体限定。
76.在一可选实施例中,上述步骤s101~步骤s104可基于函数管理类实现,该函数管理类包括对外暴露的api接口以及未对外暴露的输入接口和输出接口,各接口的介绍可参见上述步骤s101和步骤s104,在此不再重复赘述。本技术实施例可在函数管理类中构建复合函数集合,即在函数管理类中注册和初始化各复合函数,初始化完成后,由函数管理类对复合函数集合进行管理。在外部设备需要获取目标时间对应的目标运动参数值时,可将目标时间通过api时间接口输入至函数管理类中,由函数管理类从复合函数集合中确定目标时间对应的目标复合函数,并调用确定的目标复合函数,以根据目标时间和目标复合函数,得到目标时间对应的目标运动参数值,之后函数管理类可将目标运动参数值包含的每个参数值通过每个参数对应的api接口输出出来,这样外部设备就可获得目标时间对应的目标运动参数值。
77.以下对上述本技术实施例提供的复合函数集合的构建过程进行介绍。
78.可选的,在本技术实施例中,构建复合函数集合的过程可以包括以下步骤s1~步骤s5:
79.步骤s1、根据初始输入参数值,确定首个复合函数,其中,初始输入参数值为用户在目标对象开始运动前设置的输入参数的值。
80.用户可在目标对象开始运动前设置初始输入参数,以便输入该初始输入参数后,使目标对象开始运动,可选的,用户可在ui(用户界面)面板上设置初始输入参数。
81.在用户设置初始输入参数后,本步骤可获取初始输入参数。可选的,本技术实施例还可实现对外暴露的输入参数对应的api接口,那么本技术可以通过该输入参数对应的api接口获得用户设置的初始输入参数。
82.在本步骤中,获取初始输入参数后,可根据初始输入参数,确定首个复合函数。这里,首个复合函数单独对应目标对象的运动轨迹中的第一个物理阶段,或者,首个复合函数与后续确定的一个或多个复合函数共同对应目标对象的运动轨迹中的第一个物理阶段。
83.步骤s2、将首个复合函数作为当前复合函数,基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值。
84.在本步骤中,当前复合函数对应一时间段,可将该时间段下的最大时间输入当前复合函数中,以得到当前复合函数的输出,作为本步骤确定出的运动参数值。
85.举例来说,假设当前复合函数为复合函数1,该复合函数1对应的时间段为0~5秒,
则可将5输入复合函数1中,得到复合函数1输出的运动参数值。
86.步骤s3、根据确定出的运动参数值,确定下一复合函数的类型和输入参数值,其中,下一复合函数对应的时间段与当前复合函数对应的时间段相同或相邻。
87.在本步骤中,根据确定出的运动参数值,确定下一复合函数的类型是指:确定出的运动参数值能够用来确定目标对象的下一运动状态,基于下一运动状态即可确定下一复合函数的类型。举例来说,假设复合函数1为空中飞行函数,其对应的时间段为0~5秒,在将5输入复合函数1,得到复合函数1输出的运动参数值后,根据该运动参数值就可确定出目标对象在下一时刻将处于弹跳状态还是滚动状态,若确定出目标对象在下一时刻将处于弹跳状态,则下一复合函数的类型为弹跳类型,若确定出目标对象在下一时刻将处于滚动状态,则下一复合函数的类型为滚动类型。
88.步骤s4、根据下一复合函数的类型和输入参数值,确定下一复合函数。
89.在本步骤中,确定出的下一复合函数是指初始化后的下一复合函数。具体来说,本步骤可根据下一复合函数的类型,确定下一复合函数的函数表达式,然后将输入参数值输入至该函数表达式中,以基于输入参数值对该函数表达式进行初始化,得到初始化后的下一复合函数。
90.例如,若下一复合函数的类型为弹跳类型,则下一复合函数为弹跳类型对应的弹跳函数,确定出弹跳函数后即可基于输入参数值对弹跳函数进行初始化,得到初始化后的弹跳函数。
91.步骤s5、将下一复合函数作为当前复合函数,返回执行基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值,直至基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定的速度值为0。
92.复合函数集合中包含的其他复合函数的确定过程与上述步骤s2~步骤s4相同,详细可参照前述步骤介绍,在此不再重复赘述。
93.可以理解的是,速度值变为0表示目标对象不再运动,即不会再产生新的复合函数,那么复合函数集合构建完毕。
94.本技术实施例还提供了一种运动参数确定装置,下面对本技术实施例提供的运动参数确定装置进行描述,下文描述的运动参数确定装置与上文描述的运动参数确定方法可相互对应参照。
95.请参阅图2,示出了本技术实施例提供的运动参数确定装置的结构示意图,如图2所示,该运动参数确定装置可以包括:
96.时间获取模块201,用于获取目标时间。
97.目标函数确定模块202,用于从预先针对目标对象的运动情况构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,其中,复合函数集合中任一复合函数均包括输入参数、时间参数和运动参数,任一复合函数均对应一时间段,任一复合函数能够反映对应时间段内时间参数与运动参数的关系,输入参数为使目标对象按照设定轨迹运动的参数。
98.目标参数值确定模块203,用于根据目标时间和目标复合函数,确定目标时间对应的目标运动参数值。
99.本技术提供的运动参数确定装置,预先会针对目标对象的运动情况构建复合函数
集合,当获取到目标时间时,可以从预先构建的复合函数集合中,确定目标时间对应的复合函数,作为目标复合函数,然后根据目标时间和目标复合函数,即可确定目标时间对应的目标运动参数值。由此可见,本技术通过函数计算的方式确定目标时间对应的目标运动参数值,免去了逐帧迭代的过程,耗时更短,效率更高,并且,本技术提供的运动参数确定装置能够得到任意时间对应的目标运动参数值。
100.在一种可能的实现方式中,上述运动参数中可以包括速度参数。则本技术提供的运动参数确定装置还可以包括:函数集合构建模块。
101.函数集合构建模块,用于构建复合函数集合。
102.在一种可能的实现方式中,上述函数集合构建模块可以包括:
103.首个函数确定模块,用于根据初始输入参数值,确定首个复合函数,将首个复合函数作为当前复合函数,其中,初始输入参数值为用户在目标对象开始运动前设置的输入参数的值。
104.运动参数值确定模块,用于基于当前复合函数以及当前复合函数对应的时间段下的最大时间确定运动参数值。
105.类型及输入参数值确定模块,用于根据确定出的运动参数值,确定下一复合函数的类型和输入参数值,其中,下一复合函数对应的时间段与当前复合函数对应的时间段相同或相邻。
106.下个函数确定模块,用于根据下一复合函数的类型和输入参数值,确定下一复合函数。
107.下个函数确定模块,还用于将下一复合函数作为当前复合函数,返回执行运动参数值确定模块,直至运动参数值确定模块确定的速度值为0。
108.在一种可能的实现方式中,上述目标函数确定模块,具体可以用于从复合函数集合中,确定包含目标时间的时间段对应的复合函数,作为目标复合函数。
109.在一种可能的实现方式中,上述目标参数值确定模块,具体可以用于若目标复合函数为一个,则基于目标时间和一个目标复合函数确定一个目标复合函数下目标时间对应的运动参数值,作为目标运动参数值;若目标复合函数为多个,则基于目标时间和每个目标复合函数确定每个目标复合函数下目标时间对应的运动参数值,基于各个目标复合函数下目标时间对应的运动参数值,确定目标运动参数值。
110.在一种可能的实现方式中,上述运动参数包括但不限于以下参数:位置、速度、旋转、法线、速度、加速度、角速度和角加速度。
111.在一种可能的实现方式中,上述运动参数包括多个参数,上述目标运动参数值包括多个参数值,则本技术提供的运动参数确定装置还可以包括:
112.参数值输出模块,用于将目标运动参数值包含的每个参数值通过每个参数对应的api接口输出。
113.最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
114.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
115.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1