运动轨迹模拟方法及装置的制造方法

文档序号:10595120阅读:1011来源:国知局
运动轨迹模拟方法及装置的制造方法
【专利摘要】本发明实施例提供运动轨迹模拟方法及装置。包括:提供运动轨迹设置参数设置界面;通过运动轨迹设置参数设置界面获取运动元素的运动轨迹设置参数;使用预置的曲线公式和运动轨迹设置参数,确定运动元素的运动轨迹上的各关键点的位置信息;将所述各关键点的位置信息转换为多帧动画帧中运动元素的位置信息;根据所述每一帧动画帧中运动元素的位置信息生成运动模拟数据,运动轨迹模拟数据用于表征运动元素基于运动轨迹设置参数运动的运动轨迹。在本发明实施例中,使用预置的曲线公式和运动轨迹设置参数,来确定运动元素的运动轨迹,从而使运动轨迹符合客观规律。解决了现有技术中,因人工手动确定关键点导致模拟出的运动轨迹不符合客观规律的问题。
【专利说明】
运动轨迹模拟方法及装置
技术领域
[0001 ]本发明设及计算机技术领域,具体设及运动轨迹模拟方法及装置。
【背景技术】
[0002] 在很多场景下,例如网页设计、游戏画面等动画制作场景,需要对运动元素设计斜 抛或平抛运动的动画效果(斜抛或平抛运动可统称为匀变速曲线运动)。
[0003] 现有的设计方式在设计匀变速曲线运动的动效时,W设计图1的踢足球的动效为 例,会由设计人员对运动元素(也即足球)的轨迹进行主观判断,手动确定轨迹上的各关键 点(采样点),然后测量得到关键点的坐标位置。例如图1中的坐标点(x〇,y〇)至(X6,y6)均为 设计者手动确定的各关键点坐标位置。
[0004] 通过关键点可勾画出匀变速曲线运动轨迹。
[0005] 之后,会根据设计者手动确定的各关键点坐标信息生成模拟数据,上述模拟数据 可实现运动元素的运动轨迹的模拟,例如,实现足球斜抛运动轨迹的模拟。
[0006] 上述设计方式存在如下缺点主观性较大:由于需要手动确定关键点,所W动态效 果的表征因人而异,模拟出的运动对象的运动轨迹可能不符合客观规律(物理学原理)。

【发明内容】

[0007] 有鉴于此,本发明实施例提供运动轨迹模拟方法及装置,W实现模拟出的运动对 象的运动轨迹符合客观规律。
[000引为实现上述目的,本发明实施例提供如下技术方案:
[0009] -种运动轨迹模拟方法,包括:
[0010] 提供运动轨迹设置参数设置界面;
[0011] 通过所述运动轨迹设置参数设置界面获取运动元素的运动轨迹设置参数,所述运 动轨迹设置参数包括初始点位置和终止点位置;
[0012] 使用预置的曲线公式和运动轨迹设置参数,确定所述运动元素的运动轨迹上的各 关键点的位置信息;
[0013] 将所述各关键点的位置信息转换为多帖动画帖中运动元素的位置信息;
[0014] 根据所述每一帖动画帖中运动元素的位置信息生成所述运动模拟数据;所述运动 轨迹模拟数据用于表征所述运动元素基于所述运动轨迹设置参数运动的运动轨迹。
[0015] -种运动轨迹模拟装置,包括:
[0016] 获取单元,用于提供运动轨迹设置参数设置界面,通过所述运动轨迹设置参数设 置界面获取运动元素的运动轨迹设置参数,所述运动轨迹设置参数至少包括初始点位置和 终止点位置;
[0017] 处理单元,用于使用预置的曲线公式和所述运动轨迹设置参数,确定所述运动元 素的运动轨迹上的各关键点的位置信息,将所述各关键点的位置信息转换为多帖动画帖中 运动元素的位置信息;根据所述每一帖动画帖中运动元素的位置信息生成所述运动模拟数 据;所述运动轨迹模拟数据用于表征所述运动元素基于所述运动轨迹设置参数运动的运动 轨迹。
[0018] 在本发明实施例中,使用预置的曲线公式和运动轨迹设置参数,来确定运动元素 的运动轨迹,从而使运动轨迹符合客观规律。由此生成的运动轨迹模拟数据也可客观描述 运动元素基于运动轨迹设置参数运动的运动轨迹。从而解决了现有技术中,由于需要人工 手动确定关键点导致模拟出的运动对象的运动轨迹可能不符合客观规律(物理学原理)的 问题。
【附图说明】
[0019] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据 提供的附图获得其他的附图。
[0020] 图1为踢足球示意图;
[0021] 图3、图7曰、图7b为本发明实施例提供的运动轨迹模拟方法示例性流程图;
[0022] 图4曰、46、5、9曰、加、10曰、1013、11曰、1化、12曰、1213、13曰、1313、17为本发明实施例提供 的匀变速运动轨迹示意图;
[0023] 图16a、16b为本发明实施例提供的实验对比图;
[0024] 图8、14为本发明实施例提供的设置界面示意图;
[0025] 图15为本发明实施例提供的动态效果展现图;
[0026] 图6为本发明实施例提供的运动轨迹模拟数据代码形式示意图;
[0027] 图18为本发明实施例提供的运动轨迹模拟装置的示例性结构图;
[0028] 图2为本发明实施例提供的运动轨迹模拟装置的计算机架构示例图。
【具体实施方式】
[0029] 本发明可能使用的技术名词如下:
[0030] 斜抛运动:物体W-定的初速度斜向射出去,在空气阻力可W忽略,只受重力作用 的情况下,物体所做的运动叫做斜抛运动;
[0031] 匀变速曲线运动:匀变速曲线运动是指在运动过程中,加速度方向与速度方向不 同且加速度恒定,即加速度大小不变,方向也不变的运动;只受重力作用的情况下,平抛或 斜抛运动可统称为匀变速曲线运动;
[0032] JavaScript:是一种广泛用于客户端的直译式脚本语言。
[0033] 本发明提供运动轨迹模拟方法及装置。
[0034] 上述运动轨迹模拟装置可应用于终端(客户端)中,诸如台式机、移动终端(例如智 能手机Kipad等。更具体的,运动轨迹模拟装置可为安装于终端中的浏览器。
[0035] 上述运动轨迹模拟装置也可应用于服务器中。
[0036] 运动轨迹模拟装置可W软件的形式应用于终端或服务器中,或W硬件的形式作为 终端或服务器的组成部分。
[0037] 当W软件形式应用于终端或服务器中时,运动轨迹模拟装置具体可为一应用程 序,例如手机APP、终端应用程序等,也可作为某应用程序的组件,其形式可为脚本。
[0038] 图2示出了上述任一服务器或客户端的一种通用计算机系统结构。
[0039] 上述计算机系统可包括总线、处理器1、存储器2、通信接口 3、输入设备4和输出设 备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
[0040] 总线可包括一通路,在计算机系统各个部件之间传送信息。
[0041 ] 处理器1可W是通用处理器,例如通用中央处理器(CPU)、网络处理器(Network Processor,简称NP)、微处理器等,也可W是特定应用集成电路(a邮Iication-specific integrated ci;rcuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还 可W是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程口阵列(FPGA)或者其他可 编程逻辑器件、分立口或者晶体管逻辑器件、分立硬件组件。
[0042] 处理器1可包括主处理器,还可包括基带忍片、调制解调器等。
[0043] 存储器2中保存有执行本发明技术方案的程序,还可W保存有操作系统和其他关 键业务。具体地,程序可W包括程序代码,程序代码包括计算机操作指令。更具体的,存储器 2可W包括只读存储器(read-only memo巧,ROM)、可存储静态信息和指令的其他类型的静 态存储设备、随机存取存储器(random access memory ,RAM)、可存储信息和指令的其他类 型的动态存储设备、磁盘存储器、flash等等。
[0044] 输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫 描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
[0045] 输出设备5可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
[0046] 通信接口3可包括使用任何收发器一类的装置,W便与其他设备或通信网络通信, 如W太网,无线接入网(RAN),无线局域网(WLAN)等。
[0047] 处理器1执行存储器2中所存放的程序,W及调用其他设备,可用于实现本发明实 施例所提供的运动轨迹模拟方法中的各个步骤。
[0048] 上述运动轨迹模拟方法和装置可应用于需要进行轨迹模拟的场景,例如网页设 计、游戏画面等动画制作过程中,需要获得运动元素斜抛或平抛运动的动画效果的场景。
[0049] 下面将基于上面的本发明设及的共性方面,对本发明实施例进一步详细说明。
[0050] 图3示出了运动轨迹模拟装置所执行的运动轨迹模拟方法的一种示例性流程,其 至少可包括如下步骤:
[0051 ] 301:获取运动元素的运动轨迹设置参数。
[0052] 其中,上述运动轨迹设置参数至少可包括初始点位置、终止点位置。
[0053] 其中,初始点是物体(运动元素)的起点。终止点可为物体的落地点(可将物体接触 到其他介质的接触点都称为落地点,并不局限于物体落在地面上)。
[0054] 在现实场景中,物体落地后,会反弹多次,对于反弹情况,上述运动轨迹设置参数 还可包括反弹次数M和弹性系数。
[0055] 因此,请参见图4a,终止点可为第零次反弹的终点(或称为第一次落地点)。
[0056] 或者,在其他实施例中,请参见图4b,终止点可为第M次反弹(最后一次动弹)的终 点。
[0057] 初始点位置具体可为初始点坐标或像素。一般情况下,初始点为(0,0)。
[005引同理,终止点位置具体可为终止点的坐标或像素。
[0059] 需要说明的是,在存在反弹的情况下,运动轨迹可M个轨迹段。例如,请参见图4a, 反弹次数为5次,则物体的运动轨迹可分为5个轨迹段。
[0060] 在一个示例中,上述弹性系数表征运动元素在碰到介质时的能量损失。可W理解 的是,介质不同,能量损失不同。例如,同一运动物体碰到玻璃板后反弹的能量损失,要小于 该物体碰到棉被后反弹的能量损失。
[0061] 通过设置不同的弹性系数,可模拟物体碰到不同的介质的反弹效果。
[0062] 当然,在其他示例中,弹性系数所对应的物理含义也可不同,例如,其可表征运动 元素在碰到介质时的反弹力大小。
[0063] 302部分:使用预置的曲线公式和运动轨迹设置参数,确定运动元素的运动轨迹上 的各关键点的位置信息。
[0064] 上述方程式可包括斜抛运动轨迹公式、平抛运动轨迹公式等。本文后续将进行具 体介绍式。
[0065] 关键点可参见图5。由于初始点的位置信息是已知的,关键点可包括初始点,当然, 关键点也可包括初始点。
[0066] 关键点的个数可W是系统的缺省参数。或者,也可由使用者自行设置。因此,上述 运动轨迹设置参数也可包括关键点个数N。
[0067] 对于运动轨迹包括M段轨迹段的情况,关键点个数N可为在任一轨迹段中的关键点 个数。例如,仍请参见图5,每一轨迹段可包括6个关键点(不含初始点),即N=6。
[0068] 或者,关键点个数N也可为在M个轨迹段中的关键点的总个数。仍W图5为例,此时, 关键点个数N=6*4 = 24个。
[0069] 需要说明的是,同一轨迹段上的关键点,在时间轴上的分布是均匀的。关键点在时 间轴上的分布均匀。
[0070] 303部分:将上述各关键点的位置信息转换为多帖动画帖中运动元素的位置信息; 根据每一帖动画帖中运动元素的位置信息生成运动模拟数据。
[0071] 运动轨迹模拟数据用于表征运动元素基于运动轨迹设置参数运动的运动轨迹。
[0072] 在一个示例中,上述运动轨迹模拟数据可W是代码的形式。例如请参见图6,其示 出了一段代码,图6中被虚线框起来的部分是各关键点的位置信息。
[0073] 由于目前代码可用多种语言编写,例如化vaScript,因此,在实际中,针对各种语 言可有不同版本的运动轨迹模拟装置。
[0074] 当然,上述运动轨迹模拟数据也可W是数组、数据表等形式。本申请对其不进行限 制。
[0075] 在动画展现中,运动轨迹模拟数据可用于表征多帖动画帖中的运动元素、基于运 动轨迹设置参数运动的运动轨迹。
[0076] 则在另一个示例中,上述生成运动轨迹模拟数据可具体包括:
[0077] 将各关键点的位置信息转换为每一帖动画帖中运动元素的位置信息,再根据每一 帖动画帖中运动元素的位置信息生成运动模拟数据。
[0078] 运是因为运动元素在动画帖中的初始点一般不是坐标(0,0),此时,可对各关键点 的位置信息进行坐标平移,将各关键点的位置信息转换为每一帖动画帖中运动元素的位置 信息。
[0079] 可见,在本发明实施例中,使用符合物理学运动规律的运动方程式和运动轨迹设 置参数,来确定运动元素的运动轨迹,从而使运动轨迹符合客观规律。由此生成的运动轨迹 模拟数据也可客观描述运动元素基于运动轨迹设置参数运动的运动轨迹。从而解决了现有 技术中,由于需要人工手动确定关键点导致模拟出的运动对象的运动轨迹可能不符合客观 规律(物理学原理)的问题。
[0080] 图7a示出了运动轨迹模拟装置所执行的运动轨迹模拟方法的另一种示例性流程, 在本实施例中,预置的曲线公式可包括二次Beizer(贝塞尔曲线)方程式,而运动元素的运 动轨迹可为二次Beizer曲线。
[0081 ] 平抛和斜抛都是抛物线,而二次贝塞尔Beizer曲线也是抛物线。二次贝塞尔 Beizer曲线可用于表征平抛和斜抛W及重力加速度(或加速度)与竖直方向不平行(水平有 阻力)的曲线运动。
[0082] 二次Bezier 曲线公式为:B(t) = (l-t)2p〇巧 t(l-t)PiW2h;
[0083] t = 0对应Beizer曲线的起始点,t = l对应Beizer曲线的终止点。
[0084] P0-P2运3个特征点在平面或在S维空间定义了2次Bezier曲线。其中,Po为起始点, P2为终止点,Pl为中间点(或称为走向控制点)。
[0085] 二次Bezier曲线起始于Po,走向Pi,终止于P2。需要说明的是,一般二次Bezier曲线 不经过Pi, Pi点只提供方向。
[0086] 基于二次Beizer曲线,上述运动轨迹模拟方法可包括如下步骤:
[0087] 在700部分:运动轨迹模拟装置提供设置界面。
[0088] 在一个示例中,若运动轨迹模拟装置安装于终端(客户端)中,则向终端的显示屏 输出上述设置界面。
[0089] 在另一个示例中,若运动轨迹模拟装置安装于服务器端,则可向用户使用的终端 (客户端)的浏览器发送设置界面。
[0090] 请参见图8,上述设置界面包括可移动的终止点1和控制点2。
[0091] 图8中的错点坐标即是控制点2的坐标。
[0092] 终止点1和控制点2的位置均可手动调节。在702部分将介绍如何手动调节终止点1 和控制点2。
[0093] 在一个示例中,设置界面还可包括反弹次数设置区域和弹性系数设置区域。更具 体的,请参见图8,反弹次数设置区域包括反弹次数设置滑块,此外,反弹次数设置区域中还 可有提示框,用于提示推荐的反弹次数,W及反弹次数的选取范围。
[0094] 弹性系数设置区域与反弹次数设置区域类似,可包括弹性系数滑块,此外,弹性系 数设置区域中还可有提示框,用于提示推荐的弹性系数,W及弹性系数的选取范围。
[00M]用户通过输入设备(一般为鼠标、键盘,对于智能终端,还可是触摸屏)可控制反弹 次数设置滑块和弹性系数设置滑块滑动,从而实现对反弹次数和弹性系数的设置(输入)。
[0096] 当然,在发明其他实施例中,反弹次数设置区域还可有其他形式,例如提供下拉选 项,W供选择反弹次数。或者直接提供输入框,W供输入反弹次数。
[0097] 同理,弹性系数设置区域可有其他形式,例如提供下拉选项,W供选择弹性系数。 或者直接提供输入框,W供输入弹性系数。
[0098] 在另一个示例中,设置界面还可包括关键点设置区域。更具体的,请参见图8,关键 点设置区域包括关键点设置滑块,此外,关键点设置区域中还可有提示框,用于提示推荐的 关键点个数,W及关键点个数的选取范围。当然,关键点设置区域还可有其他形式,例如提 供下拉选项,W供选择关键点个数。或者直接提供输入框,W供输入关键点个数。
[0099] 在701部分:获取用户通过输入设备输入的关键点个数、反弹次数、弹性系数。
[0100] 例如,请参见图9a和图%,每一段轨迹段的关键点为6个,与每一段轨迹段的关键 点为13个相比,关键点越多,运动轨迹曲线与现实更贴切,更平滑自然。
[0101] 在动画显示中,关键点个数还会影响动画的精度和准确度。动画通过连续播放多 帖动画帖,W实现物体运动的动态效果。表现物体平抛或斜抛的多帖动画帖的个数,与关键 点的个数是相等的。
[0102] 关键点个数的多少可影响运动轨迹的精确程度。在水平方向上,运动元素从一个 关键点W线性匀速方式运动至下一个关键点,关键点个数越多,所描绘出的运动轨迹越趋 近于现实世界的实际运动轨迹,所实现的动画精度越高,但动画性能越稍有下降。
[0103] 至于反弹次数,不同的弹性系数达到的反弹效果也不尽相同。弹性系数可间接反 映反弹面的材质,例如,请参见图10a,假设弹性系数为別寸,模拟反弹面材质为玻璃,玻璃材 质反弹面能量损失少,弹性系数大,反弹效果明显。
[0104] 而请参见图IOb,假设弹性系数为3时,模拟反弹面材质为毛毯,毛面材质反弹面能 量损失多,弹性系数少,反弹效果不明显。
[0105] 在一个示例中,可令使用公式I-PXK来计算损失的能量(百分比形式)。其中K表示 弹性系数,P为调整系数。P的取值可有多种,只要能满足在K取最大值时,令PXK = I即可。
[0106] 至于K的取值范围,可为0-10,也可为0-20,也可为0-100,本领域技术人员可进行 灵活设置,在此不作寶述。
[0107] 上述输入设备一般为鼠标、键盘,对于智能终端,还可是触摸屏。
[0108] 当然,使用者也可不对关键点个数、反弹次数、弹性系数进行设置,直接采用默认 设置。
[0109] 所谓默认设置可为出厂设置,也可是记录的历史设置值。
[0110] 在702部分:获取输入设备输入的终止点的位置信息。
[0111] 上述输入设备一般为鼠标、键盘,对于智能终端,还可是触摸屏。
[0112] W鼠标输入为例,运动轨迹模拟装置会进行事件监听,当监听到鼠标有点击终止 点的事件时,令终止点追随鼠标的位移而位移,松开鼠标,则终止点的位置就被确定了。
[0113] 当然,在本发明其他实施例中,也可直接输入终止点的位置。
[0114] 请参见图Ila和图1化,终止点位置不同,导致运动轨迹也发生了变化。
[0115] 在703部分:获取输入设备输入的二次贝塞尔曲线的控制点的位置信息。
[0116] 上述输入设备一般为鼠标、键盘,对于智能终端,还可是触摸屏。
[0117] W鼠标输入为例,运动轨迹模拟装置会进行事件监听,当监听到鼠标有点击控制 点的事件时,令控制点追随鼠标的位移而位移,松开鼠标,则控制点的位置就被确定了。
[0118] 当然,使用者也可不对终止点的位置和控制点的位置进行设置,而直接采用默认 设置。
[0119] 所谓默认设置可为出厂设置,也可是记录的历史设置值。
[0120] 请参见图12a和图12b,控制点位置不同,导致运动轨迹也发生了变化。
[0121] 此外,在其他实施例中,上述初始点的位置也可手动调节。
[0122] 在7051部分:根据二次贝塞尔曲线方程式、上述初始点位置,上述终止点的位置和 控制点位置,确定W初始点为Po, W终止点为P2, W控制点为的二次贝塞尔曲线上的各关键 点的位置信息。
[0123] 请参见图13a,确定各关键点的位置信息的方式可包括:
[0124] W图13a中轨迹段1为例,Pa表示二次贝塞尔曲线的控制点坐标,Pb表示终止点坐 标,Po表示初始点坐标,B(t)表示坐标,则二次贝塞尔曲线方程式为:
[0125] B(t) = (l-t)2p〇Wt(l-t)PA+t2pB。
[0126] 由于一般Po为(0,0),所 W 可简化为B (t) = 21 (1 -1) PA+t2pB (方程式 1)。
[0127] 假定轨迹段1所花费时间为T(为方便起见,可取T=I),有N个关键点,则第i个关键 点对应的时刻为iT/N。
[012引将iT/N代入B(t) = 21 (1 -t)PA+t2PB(方程式1),则可得到第i个关键点对应的坐标。
[0129] 对于Po不为原点的,也可先按照B(t) = 2t(l-t)PA+t2PB计算,计算出来再平移即 可。
[0130] 至于反弹的轨迹段,其也是二次贝塞尔曲线,其关键点是根据二次贝塞尔曲线方 程式、反弹公式来确定的。反弹公式也属于预置的曲线公式。本发明后续将加 W介绍。
[0131] 701-704部分是前述的301部分的细化。
[0132] 在706部分:将各关键点的位置信息转换为多帖动画帖中运动元素的位置信息,根 据每一帖动画帖中运动元素的位置信息生成运动模拟数据。
[0133] 706部分与前述303部分相类似,在此不作寶述。
[0134] 图7b示出了运动轨迹模拟装置所执行的运动轨迹模拟方法的另一种示例性流程, 其至少可包括如下步骤:
[0135] 在700部分:运动轨迹模拟装置提供设置界面。
[0136] 在一个示例中,若运动轨迹模拟装置安装于终端(客户端)中,则向终端的显示屏 输出上述设置界面。
[0137] 在另一个示例中,若运动轨迹模拟装置安装于服务器端,则可向用户使用的终端 (客户端)的浏览器发送设置界面。
[0138] 仍请参见图8,上述设置界面可包括终止点1和二次贝塞尔曲线的控制点2。
[0139] 与图7a不同的是,在本实施例中,二次贝塞尔曲线的控制点2可用于调节初始投掷 角度、初始速度和加速度。
[0140] 在一个示例中,设置界面还可包括反弹次数设置区域和弹性系数设置区域。相关 内容请参见前述记载,在此不作寶述。
[0141] 在另一个示例中,设置界面还可包括关键点设置区域。相关内容请参见前述记载, 在此不作寶述。
[0142] 在一个示例中,设置界面上还可包含运动轨迹模拟数据展示区域。例如,请参见图 14的代码展示部分。
[0143] 运动轨迹模拟数据展示区域中还可包括"复制按钮",W方便对运动轨迹模拟数据 进行复制。
[0144] 在701部分:获取用户通过输入设备输入的关键点个数、反弹次数、弹性系数。
[0145] 相关内容请参见前述记载,在此不作寶述。
[0146] 在702部分:获取输入设备输入的终止点的位置信息。
[0147] 相关内容请参见前述记载,在此不作寶述。
[0148] 在703部分:获取输入设备输入的二次贝塞尔曲线的控制点的位置信息。
[0149 ]相关内容请参见前述记载,在此不作寶述。
[0150] 在704部分:至少根据终止点的位置、二次贝塞尔曲线的控制点的位置W及初始点 位置,计算初始投掷角度、初始速度和加速度。
[0151] 请参见图13b的轨迹段1,假定控制点与初始点的连线与水平轴的夹角为0,加速度 与水平轴的夹角为e,初速为VOdSa表示某关键点在水平方向上距原点的位移,抽表示某关键 点在竖直方向上距原点的位移。
[0152] Pa表示二次贝塞尔曲线的控制点的位置(XA,yA) ,Pb表示终止点坐标(XB,yB)。
[0153] 斜抛方程式:
[0154]
[0155]
[0156]
[0157] !尔曲线方程式可得:
[0158] .2)
[0159] 在方程式2中,XA、yA、祉、YB已知,贝可计算得到目、0、v日和曰。
[0160] 701-704部分是前述的301部分的细化。
[0161] 上述0、e、vo和a可认为也属于运动轨迹设置参数。
[0162] 705和706部分分别与302部分和303部分相类似,在此不作寶述。
[0163] 在本发明其他实施例中,在执行706部分之前,还可包括如下步骤:
[0164] 步骤A:获取播放总时间。
[0165] 在一个示例中,可在设置界面上部署播放总时间设置区域,通过设置界面输入播 放总时间。具体实现方式可为:播放总时间设置区域包括总时间设置滑块,例如,请参见图 14,图14中的运动总时间即为播放总时间。此外,播放总时间设置区域中还可有提示框,用 于提示推荐的播放总时间,W及播放总时间的选取范围。当然,播放总时间设置区域还可有 其他形式,例如提供下拉选项,W供选择播放总时间。或者直接提供输入框,W供输入播放 总时间。
[0166] 在706部分之后,还可包括如下步骤:
[0167] 步骤B:根据播放总时间播放多帖动画帖。
[0168] 需要说明的是,播放总时间与运动元素的重量和大小无关,其取决于所需要的动 画效果。
[0169] 假定有40帖动画帖,则通过设置运40帖动画帖的播放总时间,可实现按照不同的 速度播放运40帖动画帖。
[0170] 例如,设置播放总时间为1秒,则在1秒内播放完上述40帖动画帖。设置播放总时间 为2秒,则在2秒内播放完上述40帖动画帖。
[0171 ]在一个示例中,可在设置界面上部署演示控件,使用者操作演示控件可实现根据 播放总时间播放多帖动画帖。
[0172] 例如,请参见图14,图14中的轨迹演示即为演示控件。
[0173] 下面举例说明上述运动轨迹模拟方法及装置在动画设计中如何发挥作用。
[0174] 请参见图15,设计稿如图15所示,其要展现的内容包括:
[0175] 运动元素为肥皂;
[0176] 肥皂本身质感光滑;
[0177] 肥皂掉落后受重力作用作斜抛运动;
[0178] 肥皂在掉落到接近底部时飘过的云朵会接住肥皂并实现反弹;
[0179] 经过=次反弹后退出页面展示区域。
[0180] 根据上述展现内容可对运动轨迹设置参数设置如下:
[0181] 终止点为肥皂与云朵碰撞点:也即,云朵漂浮过程与肥皂下落过程的碰撞点坐标。
[0182] 二次贝塞尔曲线的控制点用于设置:肥皂的初始投掷角度(方向),即图15中运动 轨迹的初始运动切线方向。
[0183] 初始速度和加速度:结合整体运动位移和效果确定。
[0184] 反弹次数:为了擅染云朵卡通可爱形象,塑造其为Q弹材质,用反弹3次来描绘云朵 和肥皂的弹性质地。因此将反弹次数设置为3。
[0185] 弹性系数:由于肥皂光滑,云朵Q弹,碰撞过程能量损失较小,故设置弹性系数K为 较大值7。
[0186] 在一个示例中,能量损失使用1-0.05 X K来计算,则弹性系数取值为7所表征的物 理含义是:碰撞过程损失65 %的能量(1-0.05 X 7 = 65 % )。
[0187] 而若碰撞情况为肥皂掉落在地毯上时,由于地毯表面粗糖,可设置弹性系数K为1, 则能量(冲量)损失为95%(1-0.5X1=95%),则后续所形成的反弹轨迹也非常平缓。
[0188] 运动总时间(即播放总时间):运动总时间可根据实际动画效果进行调整获得。
[0189] 关键点个数:关键点越多,运动轨迹越拟合现实运动效果,但动画性能越稍有下 降;反之亦然。因此,可通过权衡动画效果和性能来确定关键点个数。
[0190] 下面将结合运动轨迹设置参数介绍曲线公式。
[0191] 关键点位置:
[0192] 对干平撤Ii云动,可根据自由落体相关原理(公式3)计算出每个关键点的坐标位置:
[0193] 公式3)其中,Sx表示在关键点在第一方向(一般为水平)上的位 移,Sy表不化巧一问^一般为竖直)上的位移,a表示加速度,t表示时间,Vx表示初始速度在 第一方向轴上的分速度。
[0194]对于斜抛运动,在忽略空气阻力的条件下,假定Vo为抛出速度(初始速度),0为速 度与第一方向(水平面)的夹角,g为重力加速度(也即前述的加速度a),则:
[01M]第一方向(水平方向)的速度是:
[0196] Vi二Vo ? COS白
[0197] 第二方向(竖直方向)的速度是:
[019引 Vg = Vo ? sin目-gt
[0199] 第一方向(水平方向)的位移方程是:
[0200] X = Vo ? t ? COS白
[0201 ]第二方向(竖直方向)的位移方程是:
[0202]
[0203] 4)计算出每个关键点的坐标位置:
[0204] (公式4)
[0205] 其中,y表示第二方向上的位移,X表示第一方向上的位移。
[0206] 考虑到反弹次数,需要注意的是,若一开始为平抛运动,物体在落地后,经反弹会 做斜抛运动。则Vo表示每一轨迹段的初始速度。
[0207] 反弹次数和弹性系数:
[0208] 无论反弹多少次,运动元素遇到介质时,其入射角度的大小与反弹角度的大小相 等,反弹过程中能量损失可由弹性系数计算得到。
[0209] 前已述及了如何根据弹性系数计算能量损失。
[0210] 假定能量损失为E%,则垂直方向上位移减少E%,等同于反弹后到下一次反弹前 的水平方向位移变为上一次完整的斜抛运动的水平位移的巧ra瑪,等同于竖直方向上的 速度分量变为反弹前一瞬间的為心-S雞),也等同于反弹后到下一次反弹前的运动时间变为 上一次的若梦瑟縣);。则其按照反弹公式5进行反弹,在此基础上结合斜抛运动公式可计算出 相应关键点的位置。
[0211]
[0212] 其中的表示上一次竖立方向上的位移,t/表示上一轨迹段的总运动时间。t/和 t都可W进行归一化处理。例如,可用%表示。
[0213] W垂直方向上位移减少二分之一为例,假定弹性系数k取值介于1~10,则公式3具 体变为公式4:
[0214]
[0215] 为证明本发明W上所有实施例可实现零误差模拟运动轨迹,从网络上找到了数码 相机记录的平抛运动轨迹的真实照片(图16a)。
[0216] 请参见图16b,通过本发明模拟的运动轨迹与照片中的运动轨迹进行比对,可看出 本发明模拟的运动轨迹的精确性。
[0217] 此外,需要说明的是,除了常规的平抛和斜抛,请参见图17,通过调整终止点与控 制点,本发明还可模拟不太常规的平抛或斜抛。图17示出了在强风作用下,运动元素的运动 轨迹。其所运用的公式,还是前述介绍的公式。
[0218] 图18示出了上述实施例中所设及的资源管理装置的一种可能的结构示意图,包 括:
[0219] 获取单元1801,用于提供运动轨迹设置参数设置界面,通过所述运动轨迹设置参 数设置界面获取运动元素的运动轨迹设置参数,所述运动轨迹设置参数至少包括初始点位 置和终止点位置;
[0220] 处理单元1802,用于使用预置的曲线公式和所述运动轨迹设置参数,确定所述运 动元素的运动轨迹上的各关键点的位置信息,W及,根据所述各关键点的位置信息,生成运 动轨迹模拟数据,所述运动轨迹模拟数据用于表征所述运动元素基于所述运动轨迹设置参 数运动的运动轨迹。
[0221] 获取单元1801可用于执行图3所示的301部分,图7a或图7b所示的700-703部分。
[0222] 处理单元1802可用于执行图3所示的302-303部分,执行图7a所示7051-706部分或 图化所示704-706, W及前述的步骤A和步骤B。
[0223] 上述所有实施例所设及的运动轨迹模拟装置/服务器/终端的另一种可能的结构 示意图可参见图2,包括:
[0224] 总线、处理器1、存储器2、通信接口 3、输入设备4和输出设备5。处理器1、存储器2、 通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
[0225] 总线可包括一通路,在计算机系统各个部件之间传送信息。
[0。6] 处理器1可W是通用处理器,例如通用中央处理器(CPU)、网络处理器(Network Processor,简称NP)、微处理器等,也可W是特定应用集成电路(a邮Iication-specific integrated ci;rcuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还 可W是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程口阵列(FPGA)或者其他可 编程逻辑器件、分立口或者晶体管逻辑器件、分立硬件组件。
[0227] 处理器1可包括主处理器,还可包括基带忍片、调制解调器等。
[0228] 存储器2中保存有执行本发明技术方案的程序或脚本,还可W保存有操作系统和 其他关键业务。具体地,程序可W包括程序代码,程序代码包括计算机操作指令。脚本则通 常W文本(如ASCII)保存,只在被调用时进行解释或编译。
[0229] 更具体的,存储器2可W包括只读存储器(read-only memo巧,ROM)、可存储静态信 息和指令的其他类型的静态存储设备、随机存取存储器(random access memory ,RAM)、可 存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
[0230] 输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫 描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
[0231] 输出设备5可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
[0232] 通信接口3可包括使用任何收发器一类的装置,W便与其他设备或通信网络通信, 如W太网,无线接入网(RAN),无线局域网(WLAN)等。
[0233] 控制器/处理器可用于执行图3、图7a、图7b设及运动轨迹模拟装置/服务器/终端 的处理过程和/或用于本申请所描述的技术的其他过程。控制器/处理器也可用于实现前述 处理单元1802的功能。
[0234] 通信接口则用于支持运动轨迹模拟装置/服务器/终端与其他装置进行通信。例 如,用于支持运动轨迹模拟装置/服务器/终端与图3、图7a、图7b所示实施例中的其他装置 进行通信。
[0235] 可W理解的是,图1仅仅示出了运动轨迹模拟装置/服务器/终端的简化设计。在实 际应用中,运动轨迹模拟装置/服务器/终端可W包含任意数量的发射器,接收器,处理器, 控制器,存储器,通信接口等,而所有可W实现本发明的资源管理装置/服务器/理财平台都 在本发明的保护范围之内。
[0236] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所W描述的比较简单,之处参见方法部分说明即 可。
[0237] 专业人员还可W进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够W电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。运些 功能究竟W硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可W对每个特定的应用来使用不同方法来实现所描述的功能,但是运种实现不应 认为超出本发明的范围。
[0238] 结合本文中所公开的实施例描述的方法或算法的步骤可W直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可W置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-R0M、或技术 领域内所公知的任意其它形式的存储介质中。
[0239] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对运些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义 的一般原理可W在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发 明将不会被限制于本文所示的运些实施例,而是要符合与本文所公开的原理和新颖特点相 一致的最宽的范围。
【主权项】
1. 一种运动轨迹模拟方法,其特征在于,所述方法包括: 提供运动轨迹设置参数设置界面; 通过所述运动轨迹设置参数设置界面获取运动元素的运动轨迹设置参数,所述运动轨 迹设置参数包括初始点位置和终止点位置; 使用预置的曲线公式和运动轨迹设置参数,确定所述运动元素的运动轨迹上的各关键 点的位置信息; 将所述各关键点的位置信息转换为多帧动画帧中运动元素的位置信息; 根据所述每一帧动画帧中运动元素的位置信息生成运动模拟数据;所述运动轨迹模拟 数据用于表征所述运动元素基于所述运动轨迹设置参数运动的运动轨迹。2. 如权利要求1所述的方法,其特征在于,还包括: 获取播放总时间; 根据所述播放总时间播放所述多帧动画帧。3. 如权利要求1所述的方法,其特征在于, 所述预置的曲线公式包括二次贝塞尔曲线方程式,所述运动元素的运动轨迹为二次贝 塞尔曲线。4. 如权利要求3所述的方法,其特征在于, 所述获取运动元素的运动轨迹设置参数包括: 获取所述终止点的位置; 获取所述二次贝塞尔曲线的控制点的位置; 所述使用预置的曲线公式和运动轨迹设置参数,确定所述运动元素的运动轨迹上的各 关键点的位置信息包括: 至少根据二次贝塞尔曲线方程式、所述初始点位置,所述终止点的位置和控制点位置, 确定以所述初始点,所述终止点和所述控制点为特征点的二次贝塞尔曲线上的各关键点的 位置信息。5. 如权利要求4所述的方法,其特征在于,所述运动轨迹设置参数还包括反弹次数M和 弹性系数;所述设置界面包括反弹次数设置区域和弹性系数设置区域。6. 如权利要求1-5任一项所述的方法,其特征在于,所述运动轨迹设置参数还包括关键 点个数N。7. 如权利要求6所述的方法,其特征在于, 所述运动轨迹包括M个轨迹段; 所述关键点个数N为在任一轨迹段中的关键点个数,或者, 所述关键点个数N为在所述M个轨迹段中的关键点的总个数。8. 如权利要求7所述的方法,其特征在于,所述终止点为第零次反弹的终点,或者,所述 终止点为第M次反弹的终点。9. 如权利要求1所述的方法,其特征在于, 所述弹性系数表征所述运动元素在碰到介质时的能量损失。10. -种运动轨迹模拟装置,其特征在于,包括: 获取单元,用于提供运动轨迹设置参数设置界面,通过所述运动轨迹设置参数设置界 面获取运动元素的运动轨迹设置参数,所述运动轨迹设置参数至少包括初始点位置和终止 点位置; 处理单元,用于使用预置的曲线公式和所述运动轨迹设置参数,确定所述运动元素的 运动轨迹上的各关键点的位置信息,将所述各关键点的位置信息转换为多帧动画帧中运动 元素的位置信息;根据所述每一帧动画帧中运动元素的位置信息生成所述运动模拟数据; 所述运动轨迹模拟数据用于表征所述运动元素基于所述运动轨迹设置参数运动的运动轨 迹。11.如权利要求10所述的装置,其特征在于, 所述获取单元还用于,获取播放总时间; 所述处理单元还用于,根据所述播放总时间播放所述多帧动画帧。
【文档编号】G06T13/20GK105957120SQ201610460149
【公开日】2016年9月21日
【申请日】2016年6月22日
【发明人】百聪敏
【申请人】财付通支付科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1