如何沿贝松线路径绘制形状

时间:2017-04-16 10:57:46

标签: processing

我想在bezier路径上绘制一系列椭圆,但我正在努力绘制除路径之外的任何东西。我根本不需要它移动。到目前为止,我有:

void setup() {
  size(150, 150);
  background(255);
  smooth();
  // Don't show where control points are
  noFill();
  stroke(0);
  beginShape();
  vertex(50, 75); // first point
  bezierVertex(25, 25, 125, 25, 100, 75);
  endShape();
}

如何绘制椭圆以跟随贝塞尔曲线而不是直线?

1 个答案:

答案 0 :(得分:4)

为什么你会期望代码画圆圈?它不包含对ellipse()函数的任何调用。

无论如何,听起来你正在寻找bezierPoint()功能:

noFill();
bezier(85, 20, 10, 10, 90, 90, 15, 80);
fill(255);
int steps = 10;
for (int i = 0; i <= steps; i++) {
  float t = i / float(steps);
  float x = bezierPoint(85, 10, 90, 15, t);
  float y = bezierPoint(20, 10, 90, 80, t);
  ellipse(x, y, 5, 5);
}

bezier points

与往常一样,the reference可以找到更多信息。