Javascript Catmull Rom样条线到贝塞尔样条线转换器
我正在尝试将catmullRom2bezier函数从移植到canvas (我只对封闭路径使用它):Javascript Catmull Rom样条线到贝塞尔样条线转换器,javascript,canvas,snap.svg,Javascript,Canvas,Snap.svg,我正在尝试将catmullRom2bezier函数从移植到canvas (我只对封闭路径使用它): 功能catmullRom2bezier(pts){ 变量立方=[]; 对于(变量i=0,iLen=pts.length;i
功能catmullRom2bezier(pts){
变量立方=[];
对于(变量i=0,iLen=pts.length;i
以下是我尝试使用它的方式:
ctx.beginPath();
var cubics = catmullRom2bezier(points);
for( var i = 0; i < cubics.length; i++ ){
ctx.bezierCurveTo(cubics[i][0],cubics[i][1],cubics[i][2],cubics[i][3],cubics[i][4],cubics[i][5]);
}
ctx.fill();
ctx.beginPath();
变量立方体=catmullRom2bezier(点);
对于(变量i=0;i
但我肯定错过了一些东西,因为生成的路径不是完全圆的。Spencer Cohen已经为canvas实现了Catmull Rom——除非你想自己体验一下:谢谢,这真的很有帮助!
ctx.beginPath();
var cubics = catmullRom2bezier(points);
for( var i = 0; i < cubics.length; i++ ){
ctx.bezierCurveTo(cubics[i][0],cubics[i][1],cubics[i][2],cubics[i][3],cubics[i][4],cubics[i][5]);
}
ctx.fill();