为什么不绘制同心圆,而是画一个不断增长的圆圈?

时间:2013-08-31 12:05:59

标签: processing

我想绘制同心圆,所以我写下面的代码

int radius = 30;

void setup(){
  size(1000,500);
  background(255,255,255); 
}

void draw(){
  ellipse(500,250,radius,radius);
  radius ++;
}

但结果不是同心圆,而是扩大的圆圈

为什么会出现这个结果?

2 个答案:

答案 0 :(得分:3)

您的fill设置正在绘制以前的圈子。你想实现这个目标吗?

int radius = 30;
size(1000, 500);
background(255, 255, 255); 
noFill();

for (int i=0; i<100; i++) {
  ellipse(500, 250, radius, radius);
  radius += 10;
}

答案 1 :(得分:2)

你没有看到较小的圆圈,因为较大的圆圈顶部隐藏了前一个圆圈。解决方案是使用noFill()

的透明填充
int radius = 30;

void setup(){
  size(1000,500);
  background(255,255,255); 
}

void draw(){
  noFill();
  ellipse(500,250,radius,radius);
  radius ++;
}

使半径增量更大(10)你可以更好地看到圆圈

int radius = 30;

void setup(){
  size(1000,500);
  background(255,255,255); 
}

void draw(){
  noFill();
  ellipse(500,250,radius,radius);
  radius +=10;
}