当前位置:  开发笔记 > 编程语言 > 正文

二次贝塞尔插值

如何解决《二次贝塞尔插值》经验,为你挑选了1个好方法。

我想在AS2中获得一些代码来插值二次贝塞尔曲线.节点意味着彼此之间保持恒定的距离.基本上它是沿着由3点定义的非双曲线二次贝塞尔曲线以恒定速度对球进行动画制作.谢谢!



1> Naaff..:

Bezier曲线数学非常简单,所以我会帮你解决这个问题,你可以把它翻译成ActionScript.

2D二次贝塞尔曲线由三个(x,y)坐标定义.我将这些称为P0 = (x0,y0),P1 = (x1,y1)P2 = (x2,y2).另外的参数值t,其范围从01,用于指示沿曲线的任何位置.所有的x,yt变量都是实数(浮点).

二次贝塞尔曲线的方程是:

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,P1P2如上.如果你将控制点均匀分布,那么你应该沿曲线走得很好.只需将step_count定义为您希望看到的曲线上的步数.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有