众所周知,做动画用的比较多的就是贝塞尔曲线,贝塞尔曲线能够平滑的绘制动画,让计算机比较僵硬的直线变得视觉效果更好。
贝塞尔曲线:它是依据四个位置任意的点坐标绘制出的一条光滑曲线。而贝塞尔追踪方程则是以点运动的形式描述了贝塞尔曲线的形成过程,将曲线描述为了一条随连续时间而形成的点迹。
贝塞尔曲线一阶方程,一阶方程指得是只有两个点
我们将迹点运动的总时间记为1,并把这两个端点分别记作 P0 和 P1 ,运动的迹点记作 M0 ,就有 t 时刻对应 M0 的位置为 P0 + (P1 - P0)t,将其写成方程形式:
M1(t) = P0+(P1−P0)t
= (1−t)P0+tP1
二阶方程:
二阶在一阶的基础上增加一个点 P2 ,此时不能够直接得出迹点的位置。 P0 和 P1 做一次一阶得到 M0 的位置,P1 和 P2 做一次一阶得到了 M1 的位置,此时出现了两个临时迹点 M0 和 M1 ,需要再对 M0 和 M1 求一次一阶来得到真实迹点 M/0 。即:
M2(t) = M0+(M1−M0)t
=P0+(P1−P0)+[P1+(P2−P1)t−P0−(P1−P0)t]t
=P0+2(P1−P0)t+(P0−2P1+P2)t2
=((1−t)^2)P0+2t(1−t)P1+(t^2)P2
三阶方程:
M3(t) =M′0+(M′1−M′0)t
=M0+(M1−M0)+[M1+(M2−M1)t−M0−(M1−M0)t]t
=M0+2(M1−M0)t+(M0−2M1+M2)t2
=P0+(P1−P0)t+2[P1+(P2−P1)t−P0−(P1−P0)t]t+{P0+(P1−P0)t−2[P1+(P2−P1)t]+P2+(P3−P2)t}t2
=((1−t)^3)P0+3t((1−t)^2)P1+3t2(1−t)P2+(t^3)P3
N阶:
待续......
看的头晕目眩得,这些大佬太厉害啦,我这种菜鸟就记住公式就行啦,用得比较多的还是二阶和三阶吧。
比较详细得看这里:https://blog.youkuaiyun.com/iSunwish/article/details/78935257