Taisei Manheim – Looking Outwards – 11

Sculpture created from Digital Simulation.

The project that I chose was Liquid Sound Collision by Eva Schindling.  Eva creates hardware and software in the interdisciplinary zone between art, science, technology, and design.  She received a MSc. in Art and Technology from Chalmers University in Sweden and a degree in Interaction and Media Design from FH Joanneum in Austria.  Her work ranges from embodied evolutionary robotics and algorithmic pattern formation to the visualization of otherwise invisible sound waves and has been shown at the Japan Media Arts festival, Hong Kong’s Museum of Art, Moscow’s Biennale of Contemporary Art, Burning Man, the Pixxelpoint festival in Slovenia, and Nuit Blanche Toronto. 

The project is a study of the interactions that occur when recorded voices engage with computer simulated fluids.  Each individual study sends two words that are considered opposites, such as chaos and order or body and mind, and send them as vibration sources through opposite ends of a fluid simulation.  The sounds create waves that collide with each other and the moment of collision is translated into a digital 3D model that is then 3D printed into a sculpture. I find it very interesting how she is using a very scientific technology in order to create these very fluid sculptures.  The words that are chosen are opposites and there is something poetic about capturing the intersection of these opposites.

Timothy Liu — Looking Outwards — 11

SUGAR, a game experience designed by Heather Kelley.

For this week’s Looking Outwards, I examined the work of Heather Kelley, a game designer, digital artist, and media curator focused on sensory interactions and aesthetics in video games. Heather holds a Masters of Arts from the University of Texas at Austin and has worked in a variety of entertainment-technology realms throughout her career. She’s made stops at Subotron, Quake, Unreal, and even the Entertainment Technology Center at Carnegie Mellon, bringing her expertise and work to the classroom as well as to gamer screens worldwide. As a lifelong video game fan, her name immediately caught my eye when I was browsing the list of accomplished women in the field because of her ties to the video game industry and her incredible success within it. After reading over her bio, I was even more impressed by all she’s accomplished, especially her work on the UNFPA Electronic Game to End Gender Violence. It’s clear that Heather is an inspiration to all game designers out there, as she’s managed to combine her creative talents with her desire to create societal change.

One of Heather’s works that I found most impressive was SUGAR, a “cross media collaborative event featuring an original game, scent-generating networked electronics, and couture fashion” (perfectplum.com). SUGAR is, simply put, an immersive video game experience that light-heartedly satirizes the imperial court and Hapsburg history from a romantic perspective. In the game, two players work together to coordinate the dancing of two horses in order to appease the medieval crowd. The art style and imagery are whimsical and geometric, adding a light-hearted flair to her game design and visuals. But what was most unique about SUGAR is the inclusion of an “Action Olofactorizer,” a device that combines hardware, software, and chemicals to produce scents and smells based on the player’s actions. For example, grass, leather, and even horse poop scents are produced to accompany gameplay! Heather’s ability to fully immerse the player and make SUGAR, as well as the rest of her games, interactive experiences is remarkable, and I really enjoyed learning about her work.

Some of the scents, sights, and visuals from SUGAR, Heather Kelley’s cross-media collaborative gaming experience.

Sources:

perfectplum.com

Timothy Liu — Project 09 — Portrait

I am using 1 grace day on this project.

tcliu-openended-09

// Timothy Liu
// 15-104, Section C
// tcliu@andrew.cmu.edu
// OpenEnded-09

var Eileen; // variable name of the person in my project!

function preload() {
    Eileen = loadImage("https://i.imgur.com/V7NYz2M.jpg"); // preloading the image
}

function setup() {
    createCanvas(300, 450);
    background(255);
    Eileen.loadPixels();
    frameRate(250);
    Eileen.resize(300, 450);
}

function draw() {

    // variables to determine the location of each hamburger
    var burgerX = random(width);
    var burgerY = random(height);

    // variables that ensure the hamburger drawn remains on the canvas
    var burgerOnCanvasX = constrain(floor(burgerX), 0, width - 1);
    var burgerOnCanvasY = constrain(floor(burgerY), 0, height - 1);

    // variables to determine the proportions and shape of each burger
    var burgerW = random(8, 14);
    var burgerH = random(6, 10);
    var meatWStart = burgerW / 2 - burgerW * 0.125;
    var meatW = burgerW * 0.75;
    var meatH = random(2, 4);

    // variable that identifies the pixel color of the underlying images
    var pixelColor = Eileen.get(burgerOnCanvasX, burgerOnCanvasY);

    // applies the pixel color to each hamburger in the foreground
    noStroke();
    fill(pixelColor); 

    // drawing each individual hamburger
    arc(burgerX, burgerY, burgerW, burgerH, PI, TWO_PI);
    rect(burgerX - meatWStart, burgerY, meatW, meatH);
    arc(burgerX, burgerY + meatH, burgerW, burgerH, 0, PI);

}

For this project, I used a photo I took of my girlfriend Eileen at In-n-out burger in California. I really liked the photo because it has a lot of vibrant colors (red, green, yellow, etc) which I thought would be fun to portray through abstract shapes and pixels. I decided to make each building block of the portrait shaped like a hamburger as a reference to the burgers in the foreground of the picture and the restaurant the photo was taken at. Each burger is proportionally built based on a random bun height and width, which means that each burger is a different, randomly generated size. Together, each of the burgers collects to form a portrait!

The early stages of hamburgers…
As more hamburgers are drawn, the color and shape begins to show…
A more complete version of my piece when more of the hamburgers have been drawn. The hamburgers aren’t super small, so it’s hard to depict the fine details, but the shape and figure are definitely there!
The original photograph!

SooA Kim: Looking Outwards-09


I’m citing on the week 5 of Looking Outwards and the topic was on 3D Computer Graphics. As a person who follows this artist’s work on instagram, I thought Sydney Salamy’s topic on Tyson Ibele’s work would be enthusiastic.

I agree on the peer’s assessment with the psychological play of the imagery in the work. The artist approached the viewer, using realistic texture and simulations to create the animation. Nowadays, most of the 3D animation software programs provide these simulations with scripts encoded. So, it gives more flexibility and options for 3D artist to just apply their objects/polygons to soft body or cloth simulation tag. Some of these software programs, such as Maya, provide a script content window for VFX artist to write their own Python code and generate it. Every time I watch this video post, it gives me chills as if my limbs were getting cut off; pretty similar to the reaction when you see someone getting a paper cut. However, there is this weird, visual pleasure of watching his 3D generative animation post in loop.

Peer’s link: https://courses.ideate.cmu.edu/15-104/f2019/2019/09/21/sydney-salamy-looking-outwards-05/

SooA Kim – 09 – Portrait


sketch

For this project, I did a portrait of my dad and our two dogs by using text emojis to generate the pixels. It took a lot of time to cover using the texts, so I applied mouseMoved() to generate the photo faster.

Continue reading “SooA Kim – 09 – Portrait”

/* SooA Kim
sookim@andrew.cmu.edu
Section C
Project-09-Portrait
*/

var baseImage;
var dogs = ["♡°▽°♡", "(◕‿◕)♡"];
var brush = ["°˖✧◝(⁰▿⁰)◜✧˖°"];

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

function setup() {
  createCanvas(baseImage.width, baseImage.height);
  imageMode(CENTER);
  noStroke();
  background(255);
  baseImage.loadPixels();
  frameRate(5000000);
}

function draw() {
var bx = random(width); // randomize pixels to initialize
var by = random(height);

var cx = constrain(floor(bx), 0, width - 1);
var cy = constrain(floor(by), 0, height-1);

var paintPix = baseImage.get(cx, cy);


noStroke();

fill(paintPix);
textSize(random(12));
text(dogs[0], random(0, width/2), by); //filling the half of the canvas

textSize(random(12));
fill(paintPix);
text(dogs[1], random(width/2, width), by); // filling other half of the canvas

}

//using mouse to generate faster 
function mouseMoved(){
  var paintPixMouse = baseImage.get(mouseX, mouseY);
  fill(paintPixMouse);
  textSize(15);
  text(brush, mouseX, mouseY);
}


Aaron Lee-Looking Outwards-09

For this week’s looking outward post, I decided to find inspiration from CJ’s post on computational fabrication. Although I do not know CJ personally, this post about the design studio called Nervous System looked very interesting to me.

While generative design system is pretty much ubiquitous these days including architecture field, finding a form making specifically inspired by flowers was interesting to me. When I visited the studio’s website, I was drawn to their past project, especially the kinematic clothing.

Commissioned by the Museum of Fine Arts Boston, the project shows how digital fabrication is not limited to only certain field. The interconnected system of tessellated triangular panels adjusts accordingly to the user’s posture. Emerged from 3d printer fully assembled, the project perhaps shows the glimpse of next generation of customized production.

Original LO post: https://courses.ideate.cmu.edu/15-104/f2019/2019/09/14/cj-walsh-looking-outward-03-computational-fabrication/

Creator’s website: https://n-e-r-v-o-u-s.com/projects/tags/3dprint/albums/kinematic-petals-dress/

by nervous system in 2016

Sean Meng-Project-09-Custom Pixel

hmeng-project 09

//Sean Meng
//hmeng@andrew.cmu.edu
//Section C
//Project-09-Custom Pixel

var underlyingImage;

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

function setup() {
    createCanvas(500, 500);
    background(0);
    underlyingImage.loadPixels();
    frameRate(70);
}

function draw() {
    var x = random(width);
    var y = random(height);
    var ix = constrain(floor(x), 0, width-1);
    var iy = constrain(floor(y), 0, height-1);
    var theColorAtLocationXY = underlyingImage.get(ix, iy);

//set randomized dimensions for the geometry
    var a1 = random(2, 10);
    var a2 = random(8, 15);
    var a3 = random(2, 15);
    var b1 = random(10, 20);
    var b2 = random(20, 50);

    noStroke();
    fill(theColorAtLocationXY);

//draw quadrians according to the image
    quad(x, y, x + a1, y - b1, x + a2, y, x + a3, y + b2);

//draw ellipses in random sizes along the mouse
    var theColorAtTheMouse = underlyingImage.get(mouseX, mouseY);
    stroke(theColorAtTheMouse);
    ellipse(pmouseX, pmouseY, random(5, 20));


}

//refresh the canvas when the mouse is pressed
function mousePressed(){
    clear();
}

In this project I chose a portrait of myself that was taken by someone else. To represent the portrait in a more interesting way, I explored different geometries and layered them together.

After 20 seconds
After 40 seconds

Aaron Lee-Project-09- Portrait


sketch

/*
Aaron Lee
Section C
sangwon2@andrew.cmu.edu
Project-09-Computational Portrait
*/
         
var theImage

function preload() {
   var imageLocation = "https://i.imgur.com/OVTGqnb.jpg"; //preload the theImage from link
   theImage = loadImage(imageLocation);
}

function setup() {
   createCanvas(240, 260);
   background(0);
   theImage.loadPixels();
   frameRate(1000);
   colorMode(RGB);
}

function draw() {
   var pixelX = random(0, width); //random x coordinate of a pixel
   var pixelY = random(0, height); //random y coordinate of a pixel
   var iX = constrain(floor(pixelX), 0, width - 1);
   var iY = constrain(floor(pixelY), 0, height - 1);
   var pixelColor = theImage.get(iX, iY);//getting color info for rectangle fill
   var rectLength = map(brightness(pixelColor), 0, 50, 0, 10);
   var imageatthemouse = theImage.get(mouseX, mouseY); //pixel at the mouse position

   fill(pixelColor);
   rectMode(CENTER);
   rect(pixelX, pixelY, 4, rectLength);
   noFill();
   stroke(imageatthemouse);
   rect(pmouseX, pmouseY, 10, 10);
}

I chose a portrait of myself with high frame rate in order to see quick change. The rectangles with random size and appropriate stroke give a balanced finished look at the end. The portrait is also user interactive with mouse that creates hollow rectangles.

Nawon Choi— Looking Outward 09


Mark Kirkpatrick’s commission piece for Apple, Inc. 2017

For this week’s Looking Outward I will be responding to CJ Walsh’s post from week 5.

He analyzes works by digital artist and designer Mark Kirkpatrick. These works also caught my eye because of how serene and beautifully they represent scenes in nature through a highly digital medium. I agree with CJ’s noting the cohesive color palettes that really do a great job at setting the overall mood of each image. To add to this point, the use of the soft gradients in the background (sky and sun) in contrast with the geometric shapes also creates interesting textures.

I also really appreciate how CJ researched and mentioned the artist’s background (or lack of) in the arts. Kirkpatrick has received no formal training in artistic practices, yet he was commissioned by Apple in 2017 to create the above image. I think this point goes to show how far discipline and self-learning can take a person.

Nawon Choi— Project 09 Computational Portrait

sketch

// Nawon Choi
// nawonc@andrew.cmu.edu
// Section C
// Computational Portrait


// starting with sample code
var underlyingImage;

// some code taken from my Exam 2 Problem B solution
var xArr = [];
var yArr = [];

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

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

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);
    var theColorAtLocationXY = underlyingImage.get(ix, iy);

    noStroke();
    fill(theColorAtLocationXY);

    var theColorAtTheMouse = underlyingImage.get(mouseX, mouseY);

    for (var i = 1; i < (xArr.length); i++) {
        // add a random value to each point
        var rx = randomize();
        var ry = randomize();
        var x1 = xArr[i - 1];
        var y1 = yArr[i - 1];
        var x2 = xArr[i] + rx;
        var y2 = yArr[i] + ry;
        stroke(theColorAtTheMouse);
        line(x1, y1, x2, y2);
        xArr[i] = x2;
        yArr[i] = y2;
    }

    // create colored rectangles to reveal the image 
    strokeWeight(3);
    stroke(theColorAtLocationXY);
    rect(px, py, 10, 10);
}

function mouseMoved() {
    // remove last point on array if length is greater than 3
    if (xArr.length > 3) {
        xArr.shift();
        yArr.shift();
    } 
    // add mouse points to an array
    xArr.push(mouseX);
    yArr.push(mouseY);   
}

function randomize() {
    // find a random value from -4 to 4
    var x = random(-4, 4);
    return x;
}

For this project, I wanted to create something interactive and playful. The user is actually disrupting the image from being revealed in an orderly way. The random lines generated by the mouse movement were taken from a previous assignment. I tried to apply it to this project because I thought the random lines would create a fun and playful brush stroke effect. Depending on how the user moves the mouse, it can either disrupt the image, or add interesting movement to the portrait. See the imgur link in the code to see original image.