我想绘制同心圆,所以我写下面的代码
int radius = 30;
void setup(){
size(1000,500);
background(255,255,255);
}
void draw(){
ellipse(500,250,radius,radius);
radius ++;
}
但结果不是同心圆,而是扩大的圆圈
为什么会出现这个结果?
答案 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;
}