Mimi Jiao – Project 5 – Section E

sketch

/*
Mimi Jiao
wjiao@andrew.cmu.edu
Section E
Project-05
*/
var h = 5;
var w = 25;
var gap = 5;
function setup() {
    createCanvas(400, 400);
}

function draw() {
    background(0, 0, 255);

    //adds an extra interactive element so that the wallpaper
    //changes as the mouse is held and dragged 
    if (mouseIsPressed) {
        w = mouseX / 10;
        h = mouseY / 10;
    }

    //draws vertical rectangles in the for loop
    for (var y = 0; y < 40; y ++) {
        //draws horizontal rectangles in every quarter of the canvas
        for (var x = 0; x < 4; x ++) {

            //white longer rectangles
            push();
            noStroke();
            rect(x * (width / 4), y * (h + gap), w, h);
            pop();

            //empty fill green outline longer rectangles
            push();
            noFill();
            stroke(0, 255, 0);
            rect(w + (x * width / 4), gap + (y * (h +  gap)),
                 w, h);
            pop();

            //red fill longer rectangles
            push();
            fill(255, 0, 0);
            rect((3 * w / 2) + (x * width / 4),
                 y * (h + gap), w, h);
            pop();

            //black fill shorter rectangles
            push();
            fill(0);
            rect(w * 3 + (x * width / 4), gap + (y * (h +  gap)),
                 w / 2, h);
            pop();

        }            
    }
}

This project was an extension of one of my past projects for another class I’m taking, Color for Communciations, Products, and Environments. For that project, I created a repeating grid on Adobe Illustrator and made many different versions of it with different colors to study color interactions. I wanted to apply the same idea this time using code as my medium of expression, which allows me to play with more colors using the RGB colorspace that the CMYK colorspace doesn’t cover. In addition, it lets me play around with the interactive mouse, a function I really enjoy using.

 

 

Vicky Zhou – Project 5 – Wallpaper

sketch

/*Vicky Zhou
Section E
vzhou@andrew.cmu.edu
Project-05-Wallpaper*/

var x1 = 50; 
var y1 = 50; 

function setup() {
    createCanvas(480, 480);
    background(250, 240, 220);
    noLoop();
}

//creating own function to draw one houndstooth 
function houndstooth(x1, y1) {
	print(x1,y1);
	//draw one houndstooth
	var sqsize = 50; 
	// for (var i = 0; i <= 100; i += 10);
		fill(177, 92, 62); //brown
		noStroke();
		rect(x1, y1, sqsize, sqsize); //rectangle center
		triangle(x1, y1, //first triangle pointy part 
				x1 - (sqsize/2), y1,
				x1, y1 + (sqsize/2));
		triangle(x1, y1, //second triangle pointy part
				x1 + (sqsize/2), y1,
				x1, y1 - (sqsize/2));
		triangle(x1, y1 + (sqsize), //left top 
				x1 + (sqsize/2), y1 + (3 * sqsize/2), 
				x1 + (sqsize/2), y1 + (sqsize));
		triangle(x1 + (sqsize/2), y1 + (3 * sqsize/2), //left bottom
				x1 + (sqsize), y1 + (3 * sqsize/2),
				x1 + (sqsize), y1 + (2 * sqsize));
		triangle(x1 + (sqsize), y1, //right top 
				x1 + (sqsize), y1 + (sqsize/2),
				x1 + (3 * sqsize /2), y1 + (sqsize/2));
		triangle(x1 + (3 * sqsize/2), y1 + (sqsize/2), //right bottom
				x1 + (3 * sqsize/2), y1 + (sqsize),
				x1 + (2 * sqsize), y1 + (sqsize));
		triangle(x1 + (sqsize/2), y1 + (sqsize), //left connecting triangle
				x1 + (sqsize/2), y1 + (3 * sqsize/2),
				x1 + (sqsize), y1 + (3 * sqsize/2));
		triangle(x1 + (sqsize), y1 + (sqsize/2), //right connecting triangle
				x1 + (3 * sqsize /2), y1 + (sqsize/2),
				x1 + (3 * sqsize/2), y1 + (sqsize));
				
				
}

function draw() {
	for (var y = 0; y <= height; y+= 100){
		for (var x = 0; x <= width; x += 100){
			houndstooth(x + 30, y + 30); //draws houndstooth

			//first stitch mark
			fill(40, 32, 24, 150); //black
			ellipse(x, y + 50, 3, 60);
			ellipse(x, y + 50, 60, 3);

			//second stitch mark
			fill(250, 240, 220, 100); //cream 
			ellipse(x + 50, y + 50, 3, 60);
			ellipse(x + 50, y + 50, 60, 3);

		}
	}
}

In this project prompt, the idea of a “wear-able” pattern immediately made me think of houndstooth, plaid, and Patagonia’s fleeces. In the end, I decided to draw my main inspiration from an urban outfitter’s houndstooth dress. I constructed it using squares and triangles, and also wanted to add an element of a “stitch” to create the texture of fabric. The concept that I struggled the most with during this pattern was constructing my own function (houndstooth), because it was difficult to reposition it in the draw function.

Curran Zhang- LookingOutwards-5

In today’s era, the line between 3D and 2D has long been erased. With the help of digital tools, 2D and 3D is practically the same thing. The work of Matteo Zamagni is proof of such occurrence. In his film, “Horror Vacui”, he dives into the dimensions of the earth. Through the help of software like PhotoScan, Google Earth, Houdini, Cinema 4D, and more, Zamagni strives to blur the distinction between reality and digital perceptions. These technologies have allowed the Zamagni to create terrains that also begin to distinguish between nature and man.

Example of 2D drawings created from various softwares

As an architecture student, the idea of blending 2D and 3D is always within our works. The additional steps of mapping out nature and man gives it another push into what architecture students should aim to contribute or change. The idea of mapping out terrains can be stretched out into different fields of work. Through the idea of mapping, concepts of actions and non-tangible things can be produced into 2D works. This would open up many pathways of the representation in all fields.

Factors, like the sea, that change the Earth are also mapped
Mapping of human interaction with the nature is a major component within the project

 

Source:

Horror Vacui – Exploring Earth’s (un)real geological formations

Alice Fang – Project 5 – Wallpaper

sketch

/*
Alice Fang
Section E
acfang@andrew.cmu.edu
Project-05-Wallpaper
*/

var citrusSize = 80;

function setup() {
    createCanvas(600, 600);
    background(176, 196, 222);
    noStroke();
}

function draw() {
	var offset = 5; // offset for fruit outlines

	// draw oranges
	for (x = 75; x < width; x += 150){ 
		for (y = 75; y < height; y += 150){
			noStroke();
			fill(244, 164, 96); 
			ellipse(x, y, citrusSize, citrusSize);

			// orange outline
			noFill();
			strokeWeight(5);
			stroke(220, 120, 30);
			ellipse(x + 5, y + 5, citrusSize, citrusSize);

			// orange dot details
			point(x + 20, y - 20);
			point(x + 15, y - 15);
			point(x + 10, y - 20);
		}
	} 
	var citrusX = 150; // width between lemon and lime
 	var citrusY = 150; // height between rows of lemon/lime
 	textStyle(ITALIC);

	// draw lemon and lime wedges
	for (x = 0; x < 6; x++) {
		for (y = 0; y < 5; y++) {
			var px = x * citrusX; // horizontal spacing between wedges
			var py = y * citrusY + 10; // vertical spacing between wedges
			
			if (x % 2 == 1) { // lemon wedges for even columns
				noStroke(); 
				fill(255, 250, 205);
				arc(px, py, citrusSize, citrusSize, 0, PI);
				
				fill(240, 230, 140); // lemon wedge shading
				triangle(px, py+5, px+5, py+30, px-10, py+30);
				triangle(px+2, py, px - 40, py + 10, px-35, py + 25);
				triangle(px+2, py, px+15, py + 30, px+30, py+10);

				text("lemon", px-10, py-50);
			}
			else { // lime wedges for odd columns
				noStroke();
				fill(154, 190, 20); 
				arc(px, py, citrusSize, citrusSize, 0, PI);
			
				fill(200, 255, 80); // lime wedge shading
				triangle(px, py+5, px+5, py+30, px-10, py+30);
				triangle(px+2, py, px - 40, py + 10, px-35, py + 25);
				triangle(px+2, py, px+15, py + 30, px+30, py+10);

				text("lime", px-10, py-50);
			}
			noFill();
			strokeWeight(5); // offset outline (citrus rind)
			stroke(255, 215, 10);
			arc(px - offset, py - offset, citrusSize, citrusSize, 0, PI);
		}
	}
	noLoop();	
}

This was inspired by a pajama set that I own, and my own affinity for citrus prints (I also own a tshirt that has a different style of citrus illustration). For some reason, I’m drawn to these fruits, and I thought it would be an interesting way to combine the two different citrus clothing that I own. It was definitely good practice in nested loops, and getting more familiar with the % operator, since I wrote the lemons and limes separately before deciding to combine them into a nested for loop.

The pajama set with lemons and other fruit
Explorations of citrus illustration

Jaclyn Saik-Looking Outwards 05

Dalmiro Buigues is a 3D graphics and motion designer from Buenos Aires. He is a director at the Argentinian design studio “Buda”, and has created 3D work for a variety of high profile clients like Nickelodeon and FOX. One project that really stood out to me was a series of 6 animations he created for the Argentinian launch of the running shoe NIKE EPIC REACT. Each animation sequence is defined by a descriptions of wearing the shoe, and the resulting video includes graphics that show this paired with actual users describing the experience.

It’s like riding a marshmallow unicorn.

It’s like jumping into a cotton candy pool.

It’s like a pillow fight in space

It’s like jumping on velvet springs.

It’s like huging a real size jelly bear.

it’s like diving on a cake made of clouds.”

Original sketches, without 3D graphics
Now with graphics applied.

I was drawn to this project because there was so much information published about the process. First, I watched the final video, and the graphics were stunning in their complexity and photorealistic lighting, even though the animated character were cartoons. I think it’s impressive and important to note that the entire video is spoken in spanish, and yet I could understand practically everything that was going on because the visuals were so compelling and informative of the mood. I think Buigues’s main goal was to create a happy-go-lucky feeling with bright colors and big, smilling characters, and juxtapose the seriousness of the shoe and the task of running with the pleasure of comfort and high jumping and other fun activities that he chose to animate.

I think it is especially interesting to see the process work because I can see Buigues’s original sketches, where he was brainstorming the character, and then I can see renderings using photoshop or other 2D-focused software, and then move onto the final stills, where he used CG software to create these fantastic effects like reflected lighting on space helmets and spongey-yet-metallic texture of springs. I am curious about computer graphic software now because I want to learn more about how you can create characters that have set widths and heights and limbs that maintain their form, and then move them within a space so that the light adjusts accordingly. I know this is how they animate most films now, and I think this is one of the most complex and widely consumed forms of computer art today.

Elena Deng Project 5 Wallpaper

sketch

/*Elena Deng
Section E
  edeng1@andrew.cmu.edu
  Project-05
}
*/

function setup() {
    createCanvas(600, 600);
    noStroke();
}

function draw() {
    background("pink");

//draws background lines (light pink)
    for(var i=-20; i<width; i+=30){
      rect(i,0,20,height);
      fill(250,171,206);
    }

    //draws circles (dough)
    for (var y = 20; y < height; y += 80) {
        for (var x = 20; x < width; x += 70) {
            fill(200,164,118);
            ellipse(x, y, 60, 60);
        }
    }
//draws icing (chocolate)
    for (var y=20;y<height;y+=80){
      for (var x = 10;x<width;x+=70){
        fill(126,87,49);
        ellipse(x+10, y, 48, 48);
      }
    }

//draws donut hole
    for (var y=20;y<height;y+=80){
      for (var x = 10;x<width;x+=70){
        fill("pink");
        ellipse(x+10, y, 15, 15);
      }
    }
//sprinkles (yellow and blue)
    for(var y=10;y<height;y+=80){
    for(var x=10;x<width;x+=70){
      stroke("yellow");
      strokeWeight(2.5);
      line(x,y,x+3,y+3);
      line(x+5,y+20,x,y+23);
      line(x+25,y+10,x+28,y+14);
      line(x+10,y-5,x+14,y-2);
      stroke(126,211,247);
      line(x+22,y+2,x+19,y+6);
      line(x-9,y+13,x-5,y+15);
      line(x+14,y+22,x+20,y+25);

    }
    }
    noLoop();
}

I’m not completely satisfied with this iteration but I’m proud of the overall visual result. As you can see in my sketchbook (will upload soon), I originally wanted to attempt a more complex shape, however after trying multiple times to create Shrek, I was unable to get it to how I wanted it to look, so I changed my idea.

Out of all the projects we’ve done thus far, I am not as proud of this assignment compared to the other ones, I hope in the future I can improve on the skills that can be used through nested functions. I hope by the end of this class I will be able to create Shrek.

Mimi Jiao – Looking Outwards 5 – Section E

Eggy (1990)
Created using custom algorithm derived from repetition in nature

Yoichiro Kawaguchi is a well known pioneer in the field of Computer Graphics since 1975. He is best known for his “GROWTH Model” and “metaballs,” which are algorithms that he developed from growth patterns in natural forms like shells and plants. These algorithms have helped him create and animate many life-like and fluid-like forms through coding. Although created in the 1900s, I am really intrigued by his algorithm generated works such as Eggy (1990) and Festival (1991). First off, the colors and texture of the works really capture my attention. I personally really enjoy a wide range of bright, saturated, and neon colors, and his work perfectly includes those colors. In addition, through his algorithms, he creates a very life-like and three-dimensional structure that almost pops out of the page. Eggy in particular embodies this three dimensionality really well, as it looks like the shapes are reflecting light. Each element is rendered with such attention to detail and nothing is left unfinished. The colors and texture perfectly transitions into one another. His other piece, Festival, continues on the same trail of colors, but this time, he took a more primitive approach to rendering the elements. Kawaguchi left out most of the reflective quality in Eggy and began to explore creating depth through contrast of form, contours, and colors. This really caught my attention as I am also currently experimenting with creating three dimensionality through contrast in color and form. Overall, his pieces really give off a psychedelic vibe and I am left wanting to see more. Something I want to see more of is how he would approach these works in the current time. He has definitely been able to develop his algorithms more and I want to see how he would interpret these past works with his current skillset and code. In addition, since many of his pieces are quite old, I want to see how they would look animated. Eggy and Festival already look so three dimensional; it would be crazy to see how that would translate when these elements are visualized traveling through time and space. These works really inspire me and it is close to what I want to create, so I would love to see more of his work as well as his process.

Eliza Pratt – Project 05

sketch

/*
Eliza Pratt
Section E
elpratt@andrew.cmu.edu
Project 05
*/

function setup() {
    createCanvas(600, 500);
    background(103, 196, 92);

    //ladybug placement
    for (y = -5; y < height; y+=35) {
        //even rows
        if (y%2 == 0) { 
            for (x = 15; x < width; x+=30) {
                ladybug(x, y);
            }
        }
        //odd rows
        else {
            for (x = 15; x < width; x+=30) {
                ladybug(x - 15, y);
            } 
        }
    }
    noLoop();
   }

//draws ladybug
function ladybug(x, y) {
    push();
    translate(x, y);

    var headW = 30; //size of head
    var bodyY = y + 20; //body origin
    var bodyW = 50; //size of body

    //head and antenna
    noFill();
    strokeWeight(2);
    arc(x, y - headW*(2/3), headW, headW, 0, PI);
    fill(0);
    ellipse(x, y, headW, headW);

    //body
    noStroke();
    fill(255, 0, 0);
    ellipse(x, bodyY, bodyW, bodyW);

    //wing line
    stroke(0);
    strokeWeight(2);
    line(x, bodyY - bodyW/2, x, bodyY + bodyW/2);
    
   //spots 
    fill(0);
    ellipse(x - 15, bodyY, 8, 8);
    ellipse(x - 10, bodyY - 15, 8, 8);
    ellipse(x - 8, bodyY + 15, 8, 8);
    ellipse(x + 15, bodyY, 8, 8);
    ellipse(x + 10, bodyY - 15, 8, 8);
    ellipse(x + 8, bodyY + 15, 8, 8);

    pop();

}

This was the first time I’ve created a function to help with my code! I was trying to find a way to have the individual ladybugs rotate at random angles, but I got too confused. I probably wouldn’t put this wallpaper in my house, but maybe it would make a nice paper napkin print?

Early sketches:

Shirley Chen – Project – 05 – Wallpaper

sketch

// Shirley Chen
// Section B
// junfanc@andrew.cmu.edu
// Project-05



function setup() {
  createCanvas(600, 450);
  noStroke();
}
 
function draw() {
  background(255, 230, 178);
  noLoop();
  
//Draw the background dots pattern
  for (var y = 30; y < 450; y += 50) {
    for (var x = 30; x < 600; x += 50) {
      fill(137, 188, 157);
      ellipse(x, y, 4, 4);
    }
  }

//Draw the background orangle line pattern
  for (var y = 50; y < 450; y += 120) {
    for (var x = 50; x < 600; x += 120) {
      strokeWeight(4);
      stroke(252, 155, 85);
      line(x, y, x+4, y+2);
    }
  }
  
//Draw the background blue line pattern
  for (var y = 10; y < 450; y += 60) {
    for (var x = 20; x < 600; x += 200) {
      strokeWeight(2);
      stroke(129, 182, 211);
      line(x+5, y, x, y+7);
    }
  }

//Draw grid for the smiling watermelon
  for (var y = 0; y < 450; y += 80) {
    for (var x = 0; x < 600; x += 200) {
      noStroke();
      push();
      translate(x, y);
      drawMellon();
      pop();
    }
  }

//Draw grid for the screaming watermelon
  for (var y = 0; y < 450; y += 100){
    for (var x = 100; x < 600; x += 200){
      push();
      translate(x, y);
      drawTiltedMellon();
      pop();
    }
  }
}



function drawMellon(){
//Draw the skin of the watermelon
    fill(86, 135, 109);
    arc(50, 50, 60, 60, 0.2*PI, 0.45*PI);
//Draw the fruit of the watermellon
    fill(226, 133, 143);
    arc(50, 50, 50, 50, 0.2*PI, 0.45*PI);
//Drawing the face for the smiling watermellon
    stroke(6);
    strokeWeight(2);
    line(52, 58, 54, 62);
    line(56, 55, 60, 59);
    noFill();
    strokeWeight(1);
    arc(50, 50, 40, 40, 0.3*PI, 0.4*PI)


}

function drawTiltedMellon(){
//Draw the skin of the watermelon
    fill(86, 135, 109);
    arc(50, 50, 80, 80, 0.5*PI, 0.75*PI);
//Draw the fruit of the watermelon
    fill(226, 133, 143);
    arc(50, 50, 70, 70, 0.5*PI, 0.75*PI);
//Drawing the face for the screaming watermelon
    stroke(6);
    strokeWeight(2);
    line(40, 56, 43, 60);
    line(39, 62, 43, 60);
    line(50, 58, 46, 60);
    line(50, 62, 46, 60);
    fill(216, 55, 49);
    strokeWeight(1);
    ellipse(45, 70, 5, 10);
    noFill();
    strokeWeight(1);
    arc(45, 50, 40, 40, 0.3*PI, 0.4*PI)
    arc(50, 40, 50, 80, 0.5*PI, 0.65*PI)
}

For this wallpaper project, I created two variation of watermelon, smiling watermelon and screaming watermelon. I used the “for” loop command to create two sets of grid to define the position of the watermelon. And I add two kinds of faces on the watermelon. For the background, I also used “for” loop to add dot and line pattern with different color and stroke weight. In general, this project is very fun to work with and helps me get more practice on the “for” loop command.

Jenny Hu — Looking Outwards 05

project titled 227 :: blooming thoughts, created in blender
post titled 234 :: breeze
post titled 395 :: testing

 

 

 

 

 

 

Agatha Yu is a Designer at Oculus. Most of her non-Oculus related though exists on her  Instagram where she frequently posts 3D Graphic Art. I think what I admire a lot about her work is the ability to bring her personality and her childhood into the art she creates. The sensibility placed in the motion creates a style that is both grounded in reality while also being completely fictional.

I think this really speaks to the power of generated 3D realities (especially within the realm of VR), and the opportunities it brings to establish new perceptions of physics, the way things work together, and the interactions we can have with objects and the digital realm.