LookingOutwards-09-ssontag

In my peer, Sara Jahanian’s, most recent Looking Outwards she looked into the work of Jake Barton. Personally I found his work and her post about his work very compelling. She wrote about her appreciation of his work as work that is breaking ground by bringing together a diverse groups of creators to produce experiences like none other. His firm Local Projects specializes in storytelling through an interactive space. This is actually a field of work that I am extremely interested in pursuing. Using my space making skills learnt in Architecture school and a growing background in coding and hopefully human computer interaction, I will one day make spaces as dynamic and impact full as the his work called “A Museum of Collective Memory.” This space is a memorial for those who experienced the tragedy of Sept 11.

Here is Their Website.

Here is  a Video about the Project

Project- 09- ssontag

Cross Hairs

var baseImage;

//pre load my underlying image
function preload() {
    var imgurLink = "https://i.imgur.com/jjMBr8v.jpg";
    baseImage = loadImage(imgurLink);
}

function setup() {
    createCanvas(480, 480);
    background(0);
//load the pixels of the image so they can be referenced later
    baseImage.loadPixels();
    frameRate(15);
}

function draw() {

//randomly select a pixel on the canvas
    var px = random(width);
    var py = random(height);
    var ix = constrain(floor(px), 0, width-1);
    var iy = constrain(floor(py), 0, height-1);
//loads the color from the base image so the cross hairs coordinate with the colors of the base image
    var theColorAtLocationXY = baseImage.get(ix, iy);
//randomly generate points for the lines to make cross hairs
    var rX = random(1,8);
    var rY = random(1,8);

    noStroke();
    fill(theColorAtLocationXY);
    stroke(theColorAtLocationXY);

//create cross hairs
    line(px, py, px + rX, py + rX);
    line(px + rY, py, px + rX - rY, py + rX);

}

For this Project I decided I did not want to make shapes like ellipses or rectangles, but I wanted to use line work. Instead of just randomly placed lines I decided to make randomly generated cross hairs to add another layer to the sketch.

Project 9, odh

odhP9

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 9

var underlyingImage;
var pict;

function preload() {
    //Loads two different images:
    //Image 1
    var myImageURL = "https://i.imgur.com/AOEHv7s.jpg";
    //Image 2
    var myImageURL2 = "https://i.imgur.com/iGOj0Sd.jpg"; 
    underlyingImage = loadImage(myImageURL);
    underlyingImage2 = loadImage(myImageURL2);
}

function setup() {
    createCanvas(480, 480);
    background(0);
    underlyingImage.loadPixels();
    underlyingImage2.loadPixels();
    frameRate(60);
    pict = random(1,2);
}

function draw() {
    var px = random(width);
    var py = random(height);
    var ix = constrain(floor(px), 0, width-1);
    var iy = constrain(floor(py), 0, height-1);
    //"gets" the pixels color in each image
    var theColorAtLocationXY = underlyingImage.get(ix, iy);

    //Draws Randomly sized, randomly located rectangles reflecting the colors in image 1
    noStroke();
    fill(theColorAtLocationXY);
    rect(px, py, random(1, 10), random(1, 10));

    //Draws a line the follows the mouses location that reflects the colors in image 2
    var theColorAtTheMouse = underlyingImage2.get(mouseX, mouseY);
    stroke(theColorAtTheMouse);
    strokeWeight(10);
    line(pmouseX, pmouseY, mouseX, mouseY);
}

I chose to have different photos in my portrait, each revealed and shown in different ways. One image is revealed with random varying sized rectangles and the other with the mouse with ellipses. One appears cubist-like, and the other more expressionist.

Both shown finished:

Looking Outwards 9, odh

I chose to look at Jihee Kim’s Looking Outwards focused on randomness. She talks about a collaboration project between visual artists Memo Akten and Quayola. i agree with Jihee in that the project looks at the motions of the human body as it performs, in this case, extreme physical movements. I, however, don’t see the link of the randomness to the forces exerted on or by the human, as Jihee states. I see the randomness controlled by the motions of the human body, depicting a trail of motion that gives further context to their movements.

I also agree with the success of the artists to give life to this piece, purely made of basic, unnatural geometries. Through the randomness, I can see a human. Their success in beautifully depicting motion gives the audience enough to see a normal person carrying out the movement.

enwandu-Project-09-Portrait

sketch

// Emmmanuel Nwandu
// enwandu@andrew.cmu.edu
// Section D
// Project-09: Computational Portrait

var underlyingImage;
var angle = 5;
var radius = 1;
var eWidth = 2;

function preload() {
    underlyingImage = loadImage("https://i.imgur.com/fP2WiY5.jpg?1");
}

function setup() {
    createCanvas(400, 360);
    background(0);
    underlyingImage.loadPixels();
    frameRate(5000);
}

function DrawSpiral(){
    // Start spiral in the middle of canvas
    translate(width/2, height/2);
    var x = cos(radians(angle))* radius;
    var y = sin(radians(angle))* radius;
    var centerX = 0;
    var centerY = 0;

    // Gets the color of the pixels in the underlaying image
    var theColorAtLocationXY = underlyingImage.get(width/2 - x, height/2 - y);

    fill(theColorAtLocationXY); // Colors the pixel based on the underlaying image
    noStroke(0);
    ellipse(centerX - x, centerY - y, eWidth, eWidth)

    //pixel dimensions
    angle += 2; //the angle between rays of pixels
    radius += 0.02; //the density of the spiral
    eWidth = eWidth + .0005; //the increase in pixel size
}

function draw(){
    DrawSpiral();
}

This computational portrait in one of myself. It is an image from my 60’s album cover entitled “A Romantic Evening With You”. I used a spiral of ellipses to generated the underlying image in order to give the portrait a nostalgic vinyl record type feel or spinning record.

Original:

Final Computational Portrait:

enwandu_Looking Outwards-09

BikeCycle by Nick Felton

I really enjoyed the topic of computational information visualizations from Week 7, so I found myself scrolling through the Looking Outwards submissions of that week. I was then that I found the work of Ryu “the kangaroo” Kondrup. He wrote about Nick Felton, an info-graphic designer, and an icon for the world of data visualization. Ryu focused on the BikeCycle project, one which plots activity from bike sharing program in New York City. I think that the work done by Nick Felton and other info-graphic designers is extremely important because it adds another layer to information that would usually be monotonous, as well as makingthe information a little easier on the eyes. I also agree with Ryu’s observation that “the advantage of utilizing such a means of visualization over more regular representational methods is that rental bike use can be related to time of day, time of year, and other factors, data which would otherwise be lost in the quagmire of conventionally compiled data sets.”

The BikeCycle project as well as many of Nick Felton’s other projects such as the Annual Report, are remarkable well designed from a graphic standpoint, but are also very intriguing in his ability to map these somewhat static datasets into more dynamic domains. I think Ryu does a great job in understanding the nature of Nick Felton’s project. I’m very interested in where the world of data visualization can take us; it is an exciting concept.

Link to “The Kangaroo’s” Post…

rkondrup-Project-09-Computational-Portrait

sketch

// ryu kondrup
// rkondrup@andrew.cmu.edu
// sectionD
// project-09
var underlyingImage;
var ellipseSizeX;
var ellipseSizeY;


function preload() {
    var myImageURL = "https://i.imgur.com/p5EnT0V.jpg";
    underlyingImage = loadImage(myImageURL);
}

function setup() {
    createCanvas(480, 480);
    background(0);
    underlyingImage.loadPixels();
    frameRate(60);
}


//MAKE THE DOTS LARGER FARTHER FROM THE CENTER
function draw() {

//to draw puzzle pieces spaced on a grid 12 pixels apart
    var px = floor(random(width/12))*12;
    var py = floor(random(height/12))*12;
    //to constrain puzzle pieces to canvas
    var ix = constrain(px, 0, width-1);
    var iy = constrain(py, 0, height-1);
    var theColorAtLocationXY = underlyingImage.get(ix, iy);

    noStroke();
    fill(theColorAtLocationXY);
    //to draw the actual pieces at random locations
    puzzle(px, py);

    var theColorAtTheMouse = underlyingImage.get(mouseX, mouseY);
    // stroke(theColorAtTheMouse);
    // line(pmouseX, pmouseY, mouseX, mouseY);
}
//to draw the puzzle piece
function puzzle(x, y) {
    push();
    translate(x, y);
    //blocks of puzzle piece
    rect(1, 4, 11, 3);
    rect(9, 7, 3, 8);
    rect(4, 7, 5, 5);
    rect(1, 12, 3, 3);
    //pegs of puzzle piece
    rect(5, 1, 3, 1);
    rect(6, 1, 1, 3);
    rect(12, 9, 3, 1);
    rect(14, 8, 1, 3);
    //final fills of puzzle piece
    rect(1, 7, 1, 1);
    rect(3, 7, 1, 1);
    rect(1, 11, 1, 1);
    rect(3, 11, 1, 1);
    rect(4, 12, 1, 1);
    rect(4, 14, 1, 1);
    rect(8, 12, 1, 1);
    rect(8, 14, 1, 1);
    pop();
}

My plan for this project was to create a puzzle that gradually completes itself. Using the marvelous Maggie as a subject wearing her signature origami hat, I made a single puzzle piece that could be repeated infinitely on a square grid. Although I initially had no idea how to draw a good-looking curved puzzle piece, i soon realized that the pieces were so small that I could draw them using only rectangles and end up with a recognizable piece at the end.
In the end I was relatively happy with the result, I only wish the final product could have a higher resolution, perhaps each piece could contain multiple colors.

dnoh-sectionD-lookingoutwards-09

Student: Ryu Kondrup
Looking Outwards 2

As a student in architecture, I do find this project (Alex Dragulescu) very intriguing. It fascinates me how spatial qualities can be so easily generated through computation. However, although the image on Ryu’s post is very picturesque and beautiful, it seems, in my opinion, that half of the mass is not spatial. Nonetheless, I find the project very interesting.

It is very interesting how so many different shapes could be created through, quoted from Ryu, “bothersome digital flotsam”, also known as spam mail.

dnoh-sectionD-project8-portrait

(edited to change sketch size)

click to change direction pixels come from.

sketch

//Daniel Noh
//Section D
//dnoh@andrew.cmu.edu
//Project-09

//global variables
var squares = [];
var direction;
var side;


function preload(){
    var picurl = "https://i.imgur.com/ABZ50uF.jpg";
    pic = loadImage(picurl);
}

function setup(){
    createCanvas(400,400);
    pic.loadPixels();
    background(0);
    direction = 30; //setting up initial values of the variables to start
    side = 0;
}



function drawsquares() {
    var ix = constrain(floor(this.x), 0, width-1);
    var iy = constrain(floor(this.y), 0, height-1);
    var colourXY = pic.get(this.x, this.y);//gets fill colour from image

    fill(colourXY);//fills with pixel colour
    noStroke();
    rect(this.x, this.y, this.size, this.size);
}


function movesquares() {//function to make the squares roll
    this.x += this.dx*0.1;
}

function portrait(px, py, pdx) {
    s = {x: px,
         y: py,
         dx: pdx,
         squares: drawsquares,
         speed: movesquares,
         size : random(1,3)//randomizes the size of each individual square
        }
    return s;
}
function draw(){
    noStroke();
    newlines = []; //empty array to hold lines
    for (var i=0; i<squares.length; i++){
        var s = squares[i];
        s.speed();//returns function speed
        s.squares();//returns function squares
        newlines.push(s);
    }
    squares = newlines;
}

function mousePressed(){//changes the side and the direction of the lines each time mouse is pressed
    direction = -1*direction;
    if (side == 0){
        side = 400;
    }
    else if (side == 400){
        side = 0;
    }

}
function mouseMoved() {
    var newsquare = portrait(side, mouseY, random(direction));
    squares.push(newsquare);
}

The initial idea for this sketch was to create a portrait that slowly appeared from the sides. However, to integrate the mouse, I made the pixels appear where mouseY is and made clicking change whether the pixels appeared from the right or left.

This is not the complete portrait, however this shows the code’s aesthetics better.

danakim-Project-09

sketch

//Dana Kim
//danakim@andrew.cmu.edu
//Section D
// Project-09

var Image;
var initials = []; //my friends and my initials

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

function setup(){
  createCanvas(270, 480);
  Image.loadPixels();
}

function draw(){
  var initials = ["DK", "MC", "WYL"];
  var InitialsIndex = 0;
  var px = random(width); //x-coordinate of text
  var py = random(height);// y-coordinate of text
  var qx = constrain(floor(px), 0, width);
  var qy = constrain(floor(py), 0, height);
  var colorAtXY = Image.get(qx, qy);
  var colorAtMouse = Image.get(mouseX, mouseY);

  for ( var i = 0; i < initials.length; i++){
    InitialsIndex = i;

    //draws text with image color at randomized x and y-coordinates
    textSize(random(10,20));
    strokeWeight(random(3,6));
    fill(colorAtXY);
    text(initials[InitialsIndex], px, py);

    //draws text with image color at mouse x and y-coordinates
    textSize(random(10,20));
    strokeWeight(random(3,6));
    fill(colorAtMouse);
    text(initials[InitialsIndex], mouseX, mouseY);
  }
}

I used a picture of my friends and I that I took last winter. I used my friends and my initials to draw the image. The locations and who’s initials were drawn were randomized.