Javascript 纸js中的路径细分

Javascript 纸js中的路径细分,javascript,paperjs,Javascript,Paperjs,正在研究一种简单的方法来细分纸张js中的现有路径(或复合路径)。有没有人有什么建议,或者知道我在这方面可能会出什么问题?我的想法是,我可以选择一条路径和要进行的细分的数量(细分(路径,级别)),然后在该路径中循环,在中点创建新点,然后使用这些点,插入或剪切原始路径 function subdivide(path,level){ var numPoints = path.index; var t_seg = []; for(var i = 0; i < level; i++){

正在研究一种简单的方法来细分纸张js中的现有路径(或复合路径)。有没有人有什么建议,或者知道我在这方面可能会出什么问题?我的想法是,我可以选择一条路径和要进行的细分的数量(细分(路径,级别)),然后在该路径中循环,在中点创建新点,然后使用这些点,插入或剪切原始路径

function subdivide(path,level){
  var numPoints = path.index;
  var t_seg = [];

  for(var i = 0; i < level; i++){
     for(var j = 0; j < path.index*2; j+=2){
        var p_1 = j;
        var p_2 = j+1;

        var t_p = new Point((p_1.x+p_2.x)/2,(p_1.y+p_2.y)/2);
        t_seg.push(t_p);
     }
  }
  var t_path = new Path(t_seg);

  return t_path;
}
功能细分(路径、级别){
var numPoints=path.index;
变量t_seg=[];
对于(变量i=0;i
有什么建议吗?有一种简化方法,但我真的只想细分现有路径…

您可以使用:

(如果我理解正确的话)

// Create a circle shaped path at { x: 80, y: 50 }
// with a radius of 35:
var path = new Path.Circle({
    center: new Size(80, 50),
    radius: 35
});

// Select the path, so we can inspect its segments:
path.selected = true;

// Create a copy of the path and move it 150 points to the right:
var copy = path.clone();
copy.position.x += 150;

// Convert its curves to points, with a max distance of 20:
copy.flatten(20);