2 animation bezier actionscript-2
我想在AS2中获得一些代码来插值二次贝塞尔曲线.节点意味着彼此之间保持恒定的距离.基本上它是沿着由3点定义的非双曲线二次贝塞尔曲线以恒定速度对球进行动画制作.谢谢!
Bezier曲线数学非常简单,所以我会帮你解决这个问题,你可以把它翻译成ActionScript.
2D二次贝塞尔曲线由三个(x,y)坐标定义.我将这些称为P0 = (x0,y0),P1 = (x1,y1)和P2 = (x2,y2).另外的参数值t,其范围从0到1,用于指示沿曲线的任何位置.所有的x,y和t变量都是实数(浮点).
二次贝塞尔曲线的方程是:
P(t) = P0*(1-t)^2 + P1*2*(1-t)*t + P2*t^2
Run Code Online (Sandbox Code Playgroud)
因此,使用伪代码,我们可以像这样平滑地追踪贝塞尔曲线:
for i = 0 to step_count
t = i / step_count
u = 1 - t
P = P0*u*u + P1*2*u*t + P2*t*t
draw_ball_at_position( P )
Run Code Online (Sandbox Code Playgroud)
这假定您已经定义了点P0,P1并P2如上.如果你将控制点均匀分布,那么你应该沿曲线走得很好.只需将step_count定义为您希望看到的曲线上的步数.