绘制具有3个以上控制点的贝塞尔曲线

时间:2013-01-13 15:58:43

标签: javascript kineticjs bezier

我知道我可以使用bezierCurveTo()绘制一个带有3个控制点的贝塞尔曲线。 如何绘制超过3个控制点的贝塞尔曲线?我尝试使用来自KineticJS的样条曲线(因为我可以指定尽可能多的点),但结果曲线看起来不像贝塞尔曲线(例如,如果我只设置3个点)。我能以某种方式将更多的二次贝塞尔曲线连接在一起,得到一个超过3个控制点的曲线吗?

1 个答案:

答案 0 :(得分:0)

假设您有3条曲线:

 curve1, curve2, and curve3

你需要一条连接所有曲线的曲线,称之为:

 curve 4

使用kineticJS(此时为4.3.1),您可以:

 var points1 = curve1.getPoints();
 var points2 = curve2.getPoints();
 var points3 = curve2.getPoints();
 var joined = points1.concat(points2,points3);

 curve4.setPoints(joined);
 // make sure to redraw the layer