自由抽象图案是指按照一定的形式美规律,将自由抽象的点,线,面作为基本造型元素,以自由构图形式,色彩组合和处理手段,重新组织产生的抽象化的自由造型。
下面以一个递归函数创造随机分布的不同颜色圆形构成的图案。
1 void setup() { 2 size(900, 600); 3 background(#B9E4FF); 4 noStroke(); 5 DrawPattern(width/2, height/2, 200); 6 } 7 void DrawPattern(float x, float y, float r) { 8 float ang, nx, ny; 9 fill(lerpColor(#FF0AE7, #0AF5FF, random(1)), 150); 10 circle(random(width), random(height), r); 11 if (r > 1) { 12 ang = random(TWO_PI); 13 nx = x + r/2 * sin(ang); 14 ny = y + r/2 * cos(ang); 15 DrawPattern(nx, ny, r/2); 16 17 ang = random(TWO_PI); 18 nx = x + r/2 * sin(ang); 19 ny = y + r/2 * cos(ang); 20 DrawPattern(nx, ny, r/2); 21 22 ang = random(TWO_PI); 23 nx = x + r/2 * sin(ang); 24 ny = y + r/2 * cos(ang); 25 DrawPattern(nx, ny, r/2); 26 } 27 }
效果图: