Eunice Choe – Looking Outwards-09

The Bund Finance Center combines traditional Chinese theatre and digital technology.

A Looking Outwards report that I found interesting and unfamiliar was the report by my peer Jacky Tian. Jacky’s first Looking Outwards report was about the Bund Finance Center in Shanghai China. This building inspired Jacky because it combines traditional Chinese elements with digital technology. Like Jacky, I am also interested in seeing environments that combine physical and digital spaces. Seeing architectural structures and pieces of art that combine physical and digital elements allow for more interaction with the people in the space. Digital technologies also allow people to have new, dynamic experiences and emotions that are not static and one dimensional. As I am continuing my education, I find that I am becoming more and more interested in discovering design and architecture that incorporate digital technology.

Looking Outwards 09

For this week I’m analyzing  Sean Meng’s review of Avatar from week 5.

It’s been a while since this movie came out and I had nearly forgotten the sheer computational power involved in this movie. To create such realistic environments and personalities, animators had to work with a new system of motion-capture that revolutionized the industry.

What I think is worth mentioning that not only on the generated computer graphics front, there was a huge amount of processing power necessary for the film to exist. The film used a company called Weta Digital and rendered the movie, which consisted of processing 8 gigabytes of data per second running 24 hours for over a month. Often each of Avatar’s frames took several hours to render. And when you consider that is just one frame out of 24 for every second of film, you can imagine why the major processing power at Weta Digital was needed.

avatar computer generated graphics

Jaclyn Saik- Looking Outwards 09

This week, I chose to look at an artist that Sophia Kim found in week 7. “Unnumbered Sparks” is a giant interactive installation that was made by artists Janet Echelman, Aaron Koblin and the rest of the people at Google Creative Lab. The installation was made to celebrate TED’s 30th anniversary, and was installed in Vancouver, Canada from March 15-22, 2014. It was most effective at night, when it was illuminated.

I was interested in this piece not only because it’s absolutely beautiful and something I would definitely pay to see in real life, but also since it is work from  the Creative Lab and I’ve always been interested in what they put out.

Sophia did a really good job talking about how interactive the sculpture is with devices like tablets and smartphones. I found it interesting that the sculpture is a representation of Google Chrome: since the lighting represents a “single fullscreen Google Chrome window over 10 million pixels in size”. This is also a pretty obvious way for Google to brag about their own web browser, but nevertheless, it’s pretty to look at.

Something that I want to look further into the the library Polymer, which the entire project is based on. Polymer is an open source library that lets you make unique, customized HTML elements. As a future digital designer, I find it interesting that there are libraries like this where you can create data that’s open to the public to use. In a way, it makes this art feel more approachable and easier to fathom.

Daytime, when the translucent materials are most obvious.
At dusk, when you can really start to see the colors.
Illuminated at night.

Christine Chen-Looking Outwards-09

2017 Nike Air Max Video. Link: https://vimeo.com/192130017

I was captivated by the 2017 Nike Air Max promo video that Vicky discovered. I watched the video over and over again and was just simply fascinated by how well the creators utilized various organic textures, pastel colors of blue and pink, and dynamic forms to create this enchanting motion graphic. I completely agree with Vicky about her comment on the creator’s incredible use of 3D computer graphic to help viewer’s understand the ways in which the materials of the shoes behave when they are under use. To add on to her comment, I think the how the creator’s uses metaphorical graphics, such as movements of the pumping of air balloons, the swirling of light fabric wrapping around the shoes and others, really helps the viewers understand and visualize the functionality and material of the shoes. One of the main pros of the shoe is its incredible lightweight, and the three-dimensional graphics of the forms really help to put emphasis on this. This video again reminds me of what first drew me towards stepping into the world of design and why I chose this major in the first place.

Vicky’s post: https://courses.ideate.cmu.edu/15-104/f2018/2018/09/23/vicky-zhou-looking-outwards-05/

 

Christine Chen-Project-09-Portrait

Christine Chen-Project-09-Portrait

/*
Christine Chen
Section E
cyc1@andrew.cmu.edu
Project-09
*/
var hiddenImage;

function preload() {
    var imageURL = "https://i.imgur.com/uGrwjUm.jpg";
    hiddenImage = loadImage(imageURL);
}

function setup(){
    createCanvas(480, 480);
    background(100);
    noStroke();
    imageMode(CENTER);
    hiddenImage.loadPixels();
    frameRate(150);
}

function draw() {
    //randomizes pixel location
    var pixelX = random(0, width);
    var pixelY = random(0, height);

    //constrains pixel x values
    var imageX = constrain(floor(pixelX), 0, width); 

    //constrains pixel y values
    var imageY = constrain(floor(pixelY), 0, height);

    //get hiddenImage data
    var locationXYcolor = hiddenImage.get(imageX, imageY);

    //rect size increases with increasing mouseX
    var size = map(mouseX, 0, width, 5, 20)

    stroke(135, 183, 237); //blue
    strokeWeight(0.1); //thin line
    fill(locationXYcolor);
    rect(pixelX, pixelY, size, size);

    //faster on right, slower on left
    //smaller pixels on right need to run faster to show imge
    if (mouseX > width/2){
        frameRate(10);
    } else {
        frameRate(250);
    }
}

//redraws background(start over)
function mousePressed(){
    background(100);
}


For this project, I used my brother’s photo, which I took for his high school senior d. I was playing around with pixel sizes and frame rates. The smaller mouse x is, the smaller the pixels are. Because smaller pixels take more time to draw out a bigger part of the image, I made the frame rate faster for them.I gave the pixels light blue outlines to give the image more of a “mosaic” feeling.

Original photo
Initial stages
When mouse is at the right(large pixels)
When mouse is at the left(small pixels)

 

Project 09: Jaclyn Saik

sketch

/* Jaclyn Saik 
Section E
project 09 
*/
var ryder;

function preload(){
    var buddy = "https://i.imgur.com/PGxudTG.png"; //my brother eating corn!
    ryder = loadImage(buddy); //variable to contain the pixels in image  
}
function setup() {
    createCanvas(480, 470);
    background("goldenrod");
    ryder.loadPixels(); //loads actual pizels into program 
    frameRate(1000);
}

function draw() {
    var px = random(width); //randomized variable for x position 
    var py = random(height);//randomized variable for y position 
    var ix = constrain(floor(px), 0, width-1); //var for grabbing pixel data
    var iy = constrain(floor(py), 0, height-1);
    var theColorAtLocationXY = ryder.get(ix, iy);
    var rando = random(-30, 30); //variable to randomize stroke weight later
    var stro = random(1, 5); //variable to randomize stroke weight later
    var stroTwo = random(1, 10);

    noStroke();
    fill(theColorAtLocationXY); //fills with the color at that particular pizel
    stroke(theColorAtLocationXY);
    strokeWeight(stro); //randomized stroke weight so stars are unique
    drawStar(px, py); //draws star at random x and y position each time draw is called
    line(px, py, px+rando, py+rando); //pritns "tails" connected to stars

    var theColorAtTheMouse = ryder.get(mouseX, mouseY);
    stroke(theColorAtTheMouse);
    strokeWeight(stroTwo); //makes a line that changes stroke weight 
    line(pmouseX, pmouseY, mouseX, mouseY); //draws line with the mouse, 
    //so you can paint on the canvas a little bit

}

function drawStar(x, y) {
    textSize(random(20, 70)); //randomizes size of star
    text("*", x, y); //creates object that can be manipulated by position later

}

function mousePressed() { //draws "yum" when mouse is pressed
    noStroke();
    textSize(random(10, 40)); //alternates size of text
    fill("yellow");
    text("yum", mouseX, mouseY);

}

For this project, I instantly though of my little brother: he is always posing for funny photos and I especially miss him right now. I chose to use an asterisk to color in his image, since I think it adds a whimsical touch to the image. I added some randomized tails to each asterisk is order to try to create this oil-painting technique where the image looks like it has some motion to it. I also edited the mouse function so that the stroke is randomized each millisecond, so that it appears like your mouse is a brush that is applying varying amounts of paint. Since my brother Ryder is eating corn in this image, when you click your mouse, the word “yum” pops around. It makes him somewhat of a meme, which is how I see him a lot so it makes sense to me.

The original image: my little brother Ryder
When the image is just starting out
As it continues, you can decorate it with yellow “yums” and draw with the mouse to create a line.
Somewhat finished, with yums included
After being left alone for about 3 minutes.

Eunice Choe – Project-09 – Portrait

sketch

/*Eunice Choe
Section E
ejchoe@andrew.cmu.edu
Project-09*/

var underlyingPic;

function preload(){
    var imageURL = "https://i.imgur.com/EhGYYMu.jpg";
    underlyingPic = loadImage(imageURL);
}

function setup() {
    createCanvas(320, 480);
    background(200, 100, 107);
    underlyingPic.loadPixels();
}

function draw() {
    var px = random(width);	//random y within width
    var py = random(height);	//random x within height
    var iX = constrain(floor(px), 0, width-1);
    var iY = constrain(floor(py), 0, height-1);
    //extracting color from base image
    var colorAtXY = underlyingPic.get(iX, iY);
    noStroke();
    fill(colorAtXY);
    // ellipses with random widths and heights fill canvas
    ellipse(px, py, random(1, 10), random(1, 10));

   	// when the mouse moves across canvas, rectangles of random
    // sizes will follow the mouse
    var colorAtMouse = underlyingPic.get(mouseX, mouseY);
   	fill(colorAtMouse);
    noStroke();
   	rect(mouseX, mouseY, random(3, 6), random(3, 6));
   }

function mousePressed(){
    // when mouse clicks, the name "sophia" appears on mouse location
    // with base image colors
    var colorAtXY = underlyingPic.get(mouseX, mouseY);
    textSize(20);
    text("sophia", mouseX, mouseY);


   }

My project reveals an image of my friend Sophia through ellipses of random widths and heights. Also, someone can use the mouse to speed up the image reveal because there is a trail of rectangles that follow the mouse’s location. Another fun element I added was showing Sophia’s name when the mouse is clicked on the canvas. Overall, this project was fun to complete because of its personal significance to me. Going forward, I am excited to see how I can represent more images computationally.

This screenshot shows the start of the image reveal, the trail of rectangles, and the “sophias” that appear when clicked.
The final image that appears.
The original image.

Vicky Zhou – Looking Outwards – 09

For this week’s looking outwards post, I found my fellow peer, Jason Zhu’s Looking Outward from week 1 quite interesting. The project he discussed is Colorspace, “an interactive sculpture that translates text messages into breathtaking animations of colored light.” He pointed out that this kind of interactive space could be used in “spaces where users have a lack of or no emotional connection to, but spend a significant portion of their time”, and/or schools and and workplaces. My main question would be though, aside from creating an interest for the first couple of interactions, how else could this environment be beneficial? For example, instead of just creating a sense of community and momentary interest, could this kind of interactive digital media be used to facilitate learning, if placed in a school environment, or help engage productivity, in placed in a work environment? In addition, I personally thought of a hospital, when Jason mentioned placing this installation in a space where people typically do not feel as connected and/or emotional to, and if that could possibly shift the user into having a more positive experience.

Vicky Zhou – Project 09 – Computational Portrait

sketch

/*Vicky Zhou
Section E 
vzhou@andrew.cmu.edu
Project-09-Computational Portrait*/


var maandpa;

function preload() {
    var myImage = "https://i.imgur.com/2z2nvGR.jpg";
    maandpa = loadImage(myImage); //image of my mom and dad 
}


function setup() {
    createCanvas(350, 370);
    background(140, 200, 200, 100);
    imageMode(CENTER);
    maandpa.loadPixels();
    frameRate(900);
}


function draw() {
    var x = 1;
    var y = 1;
    var xvel = random(1, 400); //random x to add to x position 
    var yvel = random(1, 400); //random y to add to y position 
    x += int(x * xvel);
    y += int(y * yvel);


    var pcol = maandpa.get(x, y); //getting pixel color 
    noStroke();
    tint(255, 100); //makes a white tint; half opacity 
    fill(pcol);
    var size = random(0, 10); //generating random ellipse sizes 
    ellipse(x, y, size, size);

    //creating chinese word for mom on mom's side 
    if (x >= 200 & x <= 350){
        tint(255, 150);
        textSize(random(0, 20));
        text("妈", x, y);
    }
    //creating chinese word for dad on dad's side 
    if (x >= 0 & x <= 200){
        tint(255, 150);
        var space = random(0, 30);
        text("爸", x + space, y);
    }
}





For this computational portrait project, I used a cool hip photo of my momma and papa from their ol’ days. I loved seeing other people manipulate different types of text and utilizing it as their generative pixels, and so I wanted to do the same but by using the Chinese word for “mom” and “dad” on their respective side of the image. I also included ellipses to add more to the background, because I did not like it as much with the gaps. Both text and ellipses are generated to have a certain tint, to create a better layering effect, and also are generate to be of varying random sizes.

Original Image:

Generative Image:

Jenna Kim (Jeeyoon Kim) – Project 09 – Portrait

jeeyoonk09

/* Jenna Kim (Jeeyoon Kim)
Section E
jeeyoonk@andrew.cmu.edu
Project 9: Portrait
*/

//GLOBAL variable for the IMAGE
var jen;

// preloading image ON THE CANVAS
function preload() {
    jen = loadImage("https://i.imgur.com/gvGuJiN.jpg?1"); 
}

function setup(){
	//canvas setting
	createCanvas(600, 400);
	background(255);
	jen.loadPixels(); //draw image
	noStroke();
	imageMode(CENTER);
	frameRate(150);
} 
function draw(){
	// starting from the first half of the page and then the left
	var jx = random(width);
	var jy = random(height);
	//constraining to canvas
	var jjx = constrain(floor(jx), 0, width - 15);
	var jjy = constrain(floor(jy), 0, height - 15);
	//picking color from the image
	var C = jen.get(jjx, jjy);

	//drawing rectangular pixels
	noStroke();
	fill(C);
	rectMode(CENTER);
	rect(jx, jy, random(5, 10), random(5, 10));

	//when mouse is pressed, pink circles are created
	if (mouseIsPressed){
		noStroke();
		fill("pink");
		ellipse(jx, jy, 5, 5);

	}
}

For this project, I used a portrait of my friend Jenny. I randomized simple rectangular forms to complete Jenny’s portrait. Looking at others’ portraits and trying different codes for my project, I was amazed by how many variations you can use to create a
pixelated portrait. When you click on the screen, pink circles come up because I personally like the pink sky in the back and I wanted the pink color to show up on other parts of the portrait too. It’s fun to look at the pink circles disappear as more rectangular shapes show up.

original photo

middle process
What it’s supposed to look like as the forming of portrait goes to end