读书人

lt;转gt;用AS制造flash引导线(等分贝塞尔

发布时间: 2012-09-14 23:00:49 作者: rapoo

<转>用AS制作flash引导线(等分贝塞尔曲线)

最近遇到了这样的问题,所以特意花时间好好研究了一番。

普通贝塞尔曲线运动:

<转>用AS制造flash引导线(等分贝塞尔曲线)

匀速贝塞尔曲线运动:

<转>用AS制造flash引导线(等分贝塞尔曲线)



二次贝塞尔曲线的构建方式为:确定起点P0、贝塞尔点P1以及终点P2。用B(t)表示该条曲线,公式如下:

<转>用AS制造flash引导线(等分贝塞尔曲线)?

?

展为代码:
var pos_x:Number = Math.pow(1 - t, 2) * P0.x + 2 * t* (1 - t) * P1.x + Math.pow(t, 2) * P2.x;
var pos_y:Number = Math.pow(1 - t, 2) * P0.y + 2 * t* (1 - t) * P1.y + Math.pow(t, 2) * P2.y;


例子:
<转>用AS制造flash引导线(等分贝塞尔曲线)?贝塞尔曲线运动.swf?(1.5 KB)?


用一个动画来演示,可以更加清楚的表明这条曲线的构建过程:
<转>用AS制造flash引导线(等分贝塞尔曲线)?


如图,t变量本身线形变化的话,这条贝塞尔曲线本身的生成过程是并不是匀速的,通常都是两头快中间慢。

为了解决这个问题,问了许多人,搜索了很多网页,最后抱着试试看的心里去某论坛把问题抛了出来,没想到过了2、3天意外的得到了满意的答复。
好了,说明问题了,接下来开始说解决方法了。

具体解决方法的说明在这位好心网友的Blog中:
http://www.thecodeway.com/blog/?p=293



然后,为此做了一个小效果。
<转>用AS制造flash引导线(等分贝塞尔曲线)?效果.swf?(3.82 KB)?


我把等分贝塞尔曲线的公式加工成了工具类,方便调用。打个包做成附件,如果有需要的朋友有download吧。
<转>用AS制造flash引导线(等分贝塞尔曲线)?贝塞尔.rar?(16.74 KB)?




最后,如果还有朋友对贝塞尔曲线有更深层的兴趣,三次或n次的,提供一点微薄资料参考:(其实都能搜的到)

三次贝塞尔运动公式(非等分)

读书人网 >Flash

热点推荐