如何关闭路径
How to close the path
我有一个使用 'for' 循环创建的形状。第一条路径没有锚点,因此是尖的。我不确定那是不是因为它没有关闭?加入了吗? Sketch
var circle= new Path.Circle({
radius: 100,
position: [200,200]
})
splat= new Path()
splat.fillColor= 'pink'
var count= 5
var length= circle.length
for(var i = 0; i <= count; i++){
var offset= i / count * length
const normal = i === 0 || i === count
? new Point(0, 0)
: circle.getNormalAt(offset) * (Math.random() * 50);
const point = circle.getPointAt(offset).add(i % 2 == 0 ? normal
: -normal);
console.log(point)
splat.add(point)
splat.smooth({ type: 'catmull-rom', factor: 0.5 });
}
splat.fullySelected= true
splat.closed= true
再次感谢。
只需要调用smooth()
函数一次,设置路径为closed
后调用即可。
那么阻止平滑正常工作的另一件事是路径的第一个点和最后一个点是相同的,删除最后一个点,它将按预期工作。
我有一个使用 'for' 循环创建的形状。第一条路径没有锚点,因此是尖的。我不确定那是不是因为它没有关闭?加入了吗? Sketch
var circle= new Path.Circle({
radius: 100,
position: [200,200]
})
splat= new Path()
splat.fillColor= 'pink'
var count= 5
var length= circle.length
for(var i = 0; i <= count; i++){
var offset= i / count * length
const normal = i === 0 || i === count
? new Point(0, 0)
: circle.getNormalAt(offset) * (Math.random() * 50);
const point = circle.getPointAt(offset).add(i % 2 == 0 ? normal
: -normal);
console.log(point)
splat.add(point)
splat.smooth({ type: 'catmull-rom', factor: 0.5 });
}
splat.fullySelected= true
splat.closed= true
再次感谢。
只需要调用smooth()
函数一次,设置路径为closed
后调用即可。
那么阻止平滑正常工作的另一件事是路径的第一个点和最后一个点是相同的,删除最后一个点,它将按预期工作。