使用處理和遞歸,我想畫一個形狀類似於此: 試圖繪製一個特定形狀遞歸,嘗試一切可能的方式,我知道如何
但我覺得我要失去我的腦海裏想盡一切辦法畫出形狀。這是最接近我得到了:
加上我的代碼,任何幫助,將不勝感激。感謝:
void setup(){
size(600,600);
}
void draw(){
background(255);
draws(300, 300, 50, 5);
}
void draws(int x, int y, int x2, int num){
stroke(0);
strokeWeight(2);
line (x, y, (x+x2), y); //right
line(x, y, x, y-50); //right up
line (x-x2, y, x-(x2*2), y); // left
line(x-x2, y, x-x2, y-50); //left up
line (x, y-50, x-x2, y-50); //top
if(num>0){
draws(x-x2, y-x2, x2/2, num-1);
}
}
爲什麼你在每個地方都使用魔術數字'50'?我想你可以用'x_start','x_end','y_start'和'y_end'來完成這個工作,其中缺口的高度和寬度是'(x_end-x_start)/ 3'。你還必須考慮如何繪製你想用缺口替換的扁平位。 – jozzas
你在用什麼語言? – John