作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 AS2 中获取一些代码来插入二次贝塞尔曲线。节点之间的距离应该是恒定的。基本上它是沿着由 3 点定义的非双曲二次贝塞尔曲线以恒定速度为球设置动画。谢谢!
最佳答案
贝塞尔曲线数学真的很简单,所以我会帮你解决这个问题,你可以把它翻译成 ActionScript。
二维二次贝塞尔曲线由三个 (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
因此,使用伪代码,我们可以像这样平滑地绘制贝塞尔曲线:
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 )
这假设您已经如上定义了点 P0
、P1
和 P2
。如果你均匀地间隔控制点,那么你应该沿着曲线得到很好的均匀步长。只需将 step_count 定义为您希望看到的曲线上的步数即可。
关于animation - 二次贝塞尔插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074395/
我是一名优秀的程序员,十分优秀!