2015-10-16 86 views
0

我試圖在Processing中創建一個半徑不同的橢圓。我創建了一個半徑值的數組,並使用for循環來創建具有不同半徑的一系列橢圓。如何在多行中使用for循環組織橢圓處理

有八個橢圓線性排列。我不想將橢圓保持在一行中,而是希望將它們放在兩三行中。我怎樣才能做到這一點?在這種情況下for循環的性質是什麼?

float [] r = {10,20,30,50,30,22,16,12}; 


void setup(){ 
size(400,400); 
smooth(); 
} 

void draw(){ 
background(225); 

for(int i = 0;i<r.length;i++){ 

    ellipse(50+i*30,50,r[i],r[i]); 

} 

} 
+0

@gsamaras他做到了,他說的編程語言爲[處理](https://processing.org/)。 –

回答

0

我建議拿出一張紙和一支鉛筆,並畫幾個例子。每個圈子的x,y位置是什麼?什麼是每個圈子的指數?除非您自己注意到模式,否則您可能無法理解任何答案。

無論如何,你可以用一個for循環做到這一點:使用modulo operator來計算位置,和/或將y位置存儲在你增加的變量中。

但它可能會更容易只使用一個嵌套循環:

float [] r = { 
    10, 20, 30, 50, 30, 22, 16, 12 
}; 

void setup() { 
    size(400, 400); 
    smooth(); 
} 

void draw() { 
    background(225); 

    for (int row = 0; row < 2; row++) { 
    for (int column = 0; column < 4; column++) { 
     int index = row*4 + column; 
     ellipse(50+column*30, 50+row*50, r[index], r[index]); 
    } 
    } 
} 
+0

謝謝@Kevin Workman。 :) –

+0

@ v.k。你的編輯有哪些變化?我沒有看到並排比較中的差異,但我可能會錯過一些東西! –

+0

@KevinWorkman語法高亮。 '<! - language:lang-java - >'。更好地看到代碼;)您可以在並排降價視圖中看到它 –