回到uni我记得有一个算法用于计算2个关键帧的x和y值之间的点的x和y位置,我知道直线的那个
x =((KeyFrame2.x - KeyFrame1.x)/ duration)* time
我的理解是,2个关键帧之间的差异除以持续时间,可以得出每个时间单位(通常是1帧)的测量单位(大多数是像素),所以你只需乘以该值虽然时间轴有多远
即。
x =((KeyFrame2.x - KeyFrame1.x)/ duration)*时间
x =((10 - 0)/ 10)* 3
x =(10/10)* 3
x = 1 * 3
x = 3(在3个时间单位之后,对象的位置将是沿着x轴从KeyFrame1开始的+3个像素)
这个我理解然而在那里我也被告知一个用于曲线路径的一个,比如一个球弹跳前进,关键帧是它撞到地面的时候,当它看到它的反弹时,这个是什么的我已经忘记了,我不知道我的笔记到底在哪里
我要问的是用于计算具有这样的路径的对象的x和y位置的算法,我要求的是与代码相互依赖的数学算法,我要做的是为数字设置动画将围绕屏幕中心圈出徽标的球体,我已经让代码中的对象移动但我需要调整关键帧之间的计算
注意:即使我不是要求代码,算法也会用于动画编程,因此我的问题与编程有关
注2:KeyFrame2.x和KeyFrame1.x不是代码,我将关键帧视为类的实例,其中包含x,y,z等值,前一帧等的持续时间
答案 0 :(得分:1)
您不是要求算法,而是要求方程式。您可以根据您正在模拟的运动类型使用各种方程式;例如,重力下的抛射物运动由抛物线描述 - 形式的曲线
x = a * y^2 + b
对于由某些智能力控制的运动,基于高阶多项式或贝塞尔曲线的曲线拟合更为合适。谷歌是你的朋友。
答案 1 :(得分:0)
如果你知道你有圆周运动,你可以圈出方程来预测下一个位置或在它们之间进行插值。由于圆可以由3个点唯一定义,因此需要3个点插入其间。这是有道理的,只有2点,你甚至不知道它是凸圆形还是凹圆形。
根据你的分数所带来的移动,你选择的方程至少与你的运动相似。在大多数情况下,你所指出的线性方程式就足够了。