贝塞尔曲线的绘制

比如屏幕上有N个点,我们需要用线将他们连接起来,如果是直线很好办,

直接用moveTo和lineTo就搞定了。但如果是曲线呢,比如我们在绘制图表的过程中,

需要用贝赛尔曲线将N个点连接,怎么办呢?

如果你认为用graphics.curveTo能搞定就错了,因为难以计算控制点,

你无法连接成一条平滑的曲线。

好在还有第三方的类库CubicBezier,看它完成的效果:

 

 

使用方法

 

代码
import flash.display.MovieClip;
import flash.geom.Point; 
this .graphics.lineStyle( 3 , 0x000000 , 1 );
var points:Array 
=  [];
for (var i: uint   =   1 ;i < 8 ;i ++
{    
    var m:MovieClip 
=   this [ " m " + i];
    points.push(
new  Point(m.x,m.y));
}
CubicBezier.curveThroughPoints(
this .graphics,points);

 

 

 

CubicBezier类

 

 

 

转自:http://www.riameeting.com/node/731

你可能感兴趣的:(贝塞尔曲线的绘制)