I was inspired by the popular palm leaf design as I wanted to choose a design with a balance between organic and geometric forms. In my design, the geometric repeating layered square pattern in the background is contrasted with the randomly placed leaves in the foreground.
My Inspiration:
I first began by drawing creating a function that draws the squares to then rotate the pattern so they create a diamond-shaped configuration for the basis of my background design. The leaves add interest to the geometric pattern that would otherwise be basic and uninteresting without a random organic design in the foreground. The two different types of leaves compose the foreground design and they are placed in aesthetically pleasing random positions. Overall, I could see a wall or a shirt featuring this design for a casual look.
//Angela Rubin
//Section C
//aerubin@andrew.cmu.edu
//Project-05-Wallpaper
function setup() {
createCanvas(400, 480);
background(220);
noLoop();
}
function draw() {
//Background Square Pattern
push();
rotate(radians(45));
translate(-150,-300);
for(var i = 0; i < 10; i++) {
for(var r = 0; r < 1000; r +=130) {
squares((i*130), r);
}
}
pop();
//Fan Leaves Design
push();
for(var m = 10; m < 20; m++) {
rotate(radians(m*3));
fanleaves(m+40, m-50);
}
pop()
//Fan Leaves Design (Upper Left)
push();
for(var u = 0; u < 2; u++) {
fanleaves(u-100, u-160);
}
pop();
//Wide Leaves (Upper Right & Lower Left)
push();
for(var v = 0; v < 20; v+=2) {
rotate(45);
wideleaves(v+100,v+200);
}
pop();
//Wide Leaves (Upper Left)
push();
rotate(20);
for(var e = 0; e < 40; e+=10) {
wideleaves(e-100, e-190);
}
pop();
//Wide Leaves (Lower Right)
push();
rotate(radians(-30));
for(var h = 0; h < 1; h++) {
wideleaves(h-180, h+370);
}
pop();
//Wide Leaves (Lower Middle)
push();
rotate(radians(15));
for(var k = 0; k < 90; k+=80) {
wideleaves(k, k+100);
}
pop();
}
function squares(p,q) {
fill(0);
noStroke();
rectMode(CENTER);
//p = x cordinate
//q = y cordinate
rect(-55+p, 35+q, 150, 150);
fill(244, 218, 215);
rect(-55+p, 35+q, 120, 120);
fill(0);
rect(-55+p, 35+q, 90, 90);
fill(244, 218, 215);
rect(-55+p, 35+q, 60, 60);
fill(0);
rect(-55+p, 35+q, 30, 30);
}
function fanleaves(f,l) {
translate(f+200, l+300);
fill(86, 165, 78);
stroke(38, 84, 32);
for(var t = 10; t < 28; t++) {
rotate(radians(t*.5));
triangle(0, 0, 100, 70, 90, 70);
}
}
function wideleaves(w,o) {
translate(w, o);
noFill();
strokeWeight(4);
stroke(41, 96, 51);
line(300, 320, 300, 100);
strokeWeight(2);
for(var a = 0; a < 77; a+=2.7) {
line(300, 300-a, 270-(a*.4), 280-a);
}
for(var b = 0; b < 155; b+=2.7) {
line(300, 223-b, 239+(b*.4), 203-b);
}
for(var c = 0; c < 77; c+=2.7) {
line(300, 300-c, 330+(c*.4), 280-c);
}
for(var d = 0; d < 155; d+=2.7) {
line(300, 223-d, 361-(d*.4), 203-d);
}
}