0

我的 processing.js 草图遇到了速度问题,我想通过使用 beginShape() endShape() 创建我的 25 个椭圆来加快速度。我知道这功能有限,但否则处理将在每个椭圆调用上执行 context.beginPath() ,如下所示:

function line (x1, y1, x2, y2) {
  context.beginPath();
  context.moveTo(x1, y1);
  context.lineTo(x2, y2);
  context.closePath();
  context.stroke();
};

如果我能以某种方式创建带有贝塞尔顶点或简单曲线顶点的椭圆,那么我也许能够完成此任务。有没有人以这种方式成功创建圈子?还是有更好的选择?

4

1 回答 1

3
void draw() {
  translate(width/2,height/2);
  drawCircle(10,width/3);
}

void drawCircle(int sides, float r)
{
    float angle = 360 / sides;
    beginShape();
    for (int i = 0; i < sides; i++) {
        float x = cos( radians( i * angle ) ) * r;
        float y = sin( radians( i * angle ) ) * r;
        vertex( x, y);    
    }
    endShape(CLOSE);
}

有代码))

于 2018-09-29T10:35:22.547 回答