afukuda-Project-05-Wallpaper


afukuda-project-05-wallpaper

/* 
 * Name | Ai Fukuda 
 * Course Section | C 
 * Email | afukuda@andrew.cmu.edu
 * Project | 05
 */ 

var diamondX // x-coordinate for diamond  
var x // horizontal line increment 
var y // vertical line increment 

function setup() {
    createCanvas(400, 480);    
}

function draw() {
    background(140, 164, 212);
    stroke(219, 242, 248);
 
    for (y = 0; y <481; y += 80) {        
        for (x = 0; x < 481; x += 80) {                

        // ODD COLUMN GEOMETRY 
            if (x%160 == 0) {                                     // calling only odd columns 
                line(x, y, x+80, y);                                 // array horizontal lines 
                line(x, y+40, x+40, y);                              // array top-left diamond lines 
                line(x, y+40, x+40, y+80)                            // array bottom-left diamond lines
                line(x+40, y, x+80, y+40);                           // array top-right diamond lines
                line(x+40, y+80, x+80, y+40);                        // array bottom-right diamond lines 
               
                
                for (diamondX = 0; diamondX < 41; diamondX += 8) {    
                    if (y%160 == 0) {                             // from odd columns - calling only odd rows
                      line(x+40, y, x+diamondX, (y+40)+diamondX);       // array fanning-left lines (fan down)
                      line(x+40, y, (x+40)+diamondX, (y+80)-diamondX);  // array fanning-right lines (fan down)  

                      // TURQUOISE TRIANGLE (BOTTOM)
                      push();
                      fill(193, 228, 221);
                      beginShape();
                        vertex(x, y);
                        vertex(x+40, y);
                        vertex(x, y+40);
                      endShape();   
                      pop();

                      // LIGHT BLUE TRIANGLE (TOP)
                      push();
                      fill(209, 226, 244);
                      beginShape();
                        vertex(x, y);
                        vertex(x, y-40);
                        vertex(x+40, y);
                      endShape();   
                      pop();
                    }

                    else {                                        // from odd columns - calling now even rows 
                      line(x+40, y+80, x+diamondX, (y+40)-diamondX);    // array fanning-left lines (fan up)
                      line(x+40, y+80, (x+40)+diamondX, y+diamondX);    // array fanning-right lines (fan up)

                      noFill();
                      ellipse(x-40, y, 138, 80);                        // array oval 
                      arc(x+40, y-40, 138, 80, 0, PI);                  // array oval (bottom-half)
                      arc(x+40, y+40, 138, 80, PI, 0);                  // array oval (top-half)

                      // TURQUOISE TRIANGLE (TOP)
                      push();
                      fill(193, 228, 221);
                      beginShape();
                        vertex(x+40, y+80);
                        vertex(x+80, y+40);
                        vertex(x+80, y+80);
                      endShape();   
                      pop();

                      // LIGHT BLUE TRIANGLE (BOTTOM)
                      push();
                      fill(209, 226, 244);
                      beginShape();
                        vertex(x+40, y-80);
                        vertex(x+80, y-80);
                        vertex(x+80, y-40);
                      endShape();   
                      pop();
                    }
                } 
            }

        // EVEN COLUMN GEOMETRY
            else {
                line(x, y+40, x+80, y+40);     // array horizontal lines 
                
                line(x, y, x+40, y+40);        // array top-left diagonal lines 
                line(x+40, y+40, x, y+80);     // array bottom-left diagonal lines 
                line(x+40, y+40, x+80, y);     // array bottom-right diagonal lines 
                line(x+40, y+40, x+80, y+80);  // array top-right diagonal lines 

                if (y%160 == 0) {                    // from even columns - calling only odd rows   
                    line(x, y-40, x, y+40);          // array left vertical lines 
                    line(x+80, y-40, x+80, y+40);    // array right vertical lines 

                    // ORANGE DIAMOND OFFSET (TOP)
                    push();
                    fill(253, 203, 167);
                    beginShape();
                      vertex(x, y);      
                      vertex(x+40, y-40); 
                      vertex(x+80, y);  
                      vertex((x+80)-(20/sqrt(2)-5), y+10); 
                      vertex(x+40, y-20);
                      vertex(x+(20/sqrt(2)-5), y+10);
                    endShape();
                    pop();
                    
                    // PINK ELLIPSE (TOP)
                    ellipseMode(CENTER);
                    fill(249, 200, 203);
                    ellipse(x+40, y+26, 20, 20);     
                }

                else {                               // from even columns - calling now even rows 
                    // PINK ELLIPSE (BOTTOM)
                    fill(249, 200, 203);             
                    ellipse(x+40, y-25, 20, 20);
                    
                    // ORANGE DIAMOND OFFSET (BOTTOM)  
                    push();
                    fill(253, 203, 167);
                    beginShape();
                      vertex(x, y);
                      vertex(x+(20/sqrt(2)-3), y-10);
                      vertex(x+40, y+20);         
                      vertex((x+80)-(20/sqrt(2)-5), y-10);
                      vertex(x+80, y);
                      vertex(x+40, y+40);
                    endShape();
                    pop();
                }
            }                                                 
        }
    }  

} // draw function end bracket                 

    



    



My wallpaper was inspired by this geometric pattern I came across while brainstorming for ideas. One thing I noticed upon completing the base of the pattern, was that while it does exhibit a degree of offset row by row, it still had a very strong vertical presence. In order to mitigate the verticality of the pattern I incorporated the overlapping ellipses to create a floral, petal-like design horizontally across the canvas. Finally I added some colors in specific moments to make the wallpaper stand out more.

Leave a Reply