提问者:小点点

处理-基本!椭圆使用循环逐渐变小


我只是在学习处理的基础知识,我被循环卡住了。我如何使一行椭圆(可能是7?)逐渐变小,并且仍然附加它们?

这是到目前为止的代码,但它不起作用!

size (400,400);
float y=200;

for(int x=20; x<100; x=x+20) {
    for (int size=40; size<100; size=size-5) {
        ellipse (x,y,size,size); 
        x=x+20; 
    }
}

还有,另一个问题!这是一个圆圈交叉的网格。使用循环,我如何得到一行五个,然后是一行四个,然后是三个等等。

int x=20;
int y=30;
size(100,100); //set size of canvas screen

for(int i=0; i<5 ; i++) {
    for (int j=0; j<5; j++) {
        x=x+10; //add 10 to value stored in variable x
        ellipse(x,y,10,10);
        line (x-5,y,x+5,y);
        line (x,y-5,x,y+5);
    }
    x=20;
    y=y+10;
}

共1个答案

匿名用户

当你有这样的问题时,你能做的最好的事情就是拿出一张图纸,画出一些例子。第一个圆的半径是多少?它的X值是多少?第二个圆的半径是多少?它的X值是多少?

继续绘制示例,直到您注意到一个模式,然后您可以在for循环中使用该模式。

提示:我认为您不需要嵌套的for循环(一个for循环在另一个for循环中)。我认为您只需一个for循环即可做到这一点。