selinal-Looking-Outward-10

Work from Home

by Hanski aka Hannah Epstein

http://hannahness.com/work-from-home

Work from home was an interactive walk in installation. Users would use their phones to text short code to a number which then triggered a response on the participant’s phone. Hannah Epstein was a MFA candidate at Carnegie Mellon and TA’d one of my sculpture classes. Her work uses humor as means of expression in reflecting serious topics and consists mainly of rug-hooking, a type of soft sculpture, and video games. It was inspiring to hear her talk about her games and how she exists in the field because before, gaming in my mind belonged only to an audience and to creators of men.

Project-10 Thomas Wrabetz

sketch
The landscape is space with planets that have varying orbiting moons.

//Thomas Wrabetz
//Section C
//twrabetz@andrew.cmu.edu
//Project-10

planetArray = [];
planetFrames = 0;
planetFrequency = 110;

function stepPlanet()
{
    this.x += this.xspeed;
    this.y += this.yspeed;
    return ((this.x < width + this.radius * 2) & (this.y < height + this.radius * 2) && (this.y > 0));
}

function drawPlanet()
{
    push();
    translate( this.x, this.y );
    rotate( this.tilt );
    for( var i = 0; i < this.moonArray.length; i++ )
    {
        val = (this.moonArray[i].orbitFrames * this.moonArray[i].orbitSpeed) % TWO_PI;
        if( val < PI / 2 || val > 3 * PI / 2 )
        {
            this.moonArray[i].draw( this );
        } 
    }
    fill( this.planetColor );
    ellipse( 0, 0, this.radius, this.radius );
    fill( this.ringColor );
    ellipse( 0, 0, this.radius * this.ringWidth, this.radius * this.ringWidth / 10 );
    fill( this.planetColor );
    ellipse( 0, 0, this.radius * (this.ringWidth - 1) / 2 + this.radius, this.radius * (this.ringWidth - 1) / 20 );
    fill( 0 );
    arc( this.radius / 2, 0, this.radius * (this.ringWidth - 1) / 2, this.radius * (this.ringWidth - 1) / 20, -HALF_PI, HALF_PI);
    arc( -this.radius / 2, 0, this.radius * (this.ringWidth - 1) / 2, this.radius * (this.ringWidth - 1) / 20, HALF_PI, PI+HALF_PI);
    fill( this.planetColor );
    arc( 0, 0, this.radius, this.radius, PI, TWO_PI );
    for( var j = 0; j < this.moonArray.length; j++ )
    {
        val = (this.moonArray[j].orbitFrames * this.moonArray[j].orbitSpeed) % TWO_PI;
        if( val > PI / 2 & val < 3 * PI / 2 )
        { 
            this.moonArray[j].draw( this );
        }
    }
    pop();
}

function makePlanet()
{
    planet = { radius: random( 50, 125 ), x: 0, y: 0, 
               planetColor: color( random(256), random(256), random(256) ), ringColor: color( random(256), random(256), random(256), ), ringWidth: random( 1.15, 2 ), 
               tilt: random( 360 ), xspeed: random( 0.75, 2 ), yspeed: random( -0.5, 0.5 ), moonArray: [], draw: drawPlanet, step: stepPlanet };
    numMoons = random( -2, 4.5 );
    for( var i = 0; i < numMoons; i++ )
    {
        planet.moonArray.push( makeMoon() );
    } 
    planet.y = random( planet.radius, width - planet.radius );
    planet.x = - planet.radius * 2;
    return planet;
}

function drawMoon( planet )
{
    moonDist = planet.radius * this.orbitDistance * sin( this.orbitFrames * this.orbitSpeed );
    moonPerp = planet.radius * this.orbitDistance * cos( this.orbitFrames * this.orbitSpeed ) * this.orbitAxis2;
    sizeModifier = 1 - cos( this.orbitFrames * this.orbitSpeed )/4;
    moonX = moonDist * cos( this.orbitAxis ) - moonPerp * sin( this.orbitAxis );
    moonY = moonDist * sin( this.orbitAxis ) + moonPerp * cos( this.orbitAxis );
    fill( this.moonColor );
    ellipse( moonX, moonY, this.radius * sizeModifier, this.radius * sizeModifier );
    this.orbitFrames++;
}

function makeMoon()
{
    moon = { radius: random( 10, 20 ), orbitSpeed: random( 0.025, 0.05 ), orbitDistance: random( 1, 2 ), orbitAxis: random(0,TWO_PI), orbitAxis2: random(0,1), orbitFrames: 0,
             moonColor: random( 125, 255 ), draw: drawMoon };
    return moon;
}

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

function draw()
{
    background( 0 );
    if( planetFrames <= 0 )
    {
        planetArray.push( makePlanet() );
        planetFrames = random( 90, 130 );
    }
    planetFrames--;
    for( var i = 0; i < planetArray.length; i++ )
    {
        planetArray[i].draw();
        if( !planetArray[i].step() )
        {
            planetArray.splice( i, 1 );
            i -= 1;
        }
    }
}

afukuda-Project10-Landscape

sketch

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

var clouds = [];  // array containing clouds 
var boat;         // variable containing boat image 
var boatX;        // x-coordinate of boat 

function preload() {               // load boat image 
    boat = loadImage("https://i.imgur.com/Z33aV9X.png")  
}

function setup() {
    createCanvas(400, 200); 
    
    for (var i=0; i<8; i++) {      // create initial collection of the clouds
        var rx = random(width);
        clouds[i] = makeCloud(rx); 
    }
    frameRate(10);

    boatX = 0;                     // initial position (x-coord) of boat 
}


function draw() {   
    background(214, 233, 248);     // sky color setting 

    updateClouds();    // calling cloud functions       (background)
    addClouds(); 

    drawTerrain();     // calling terrain draw function (middle ground)
    drawWaveDistant(); // calling wave draw function    (foreground)
    drawBoat();        // calling boat draw function    (adding element)
    drawWaveClose();   // calling wave draw function    (foreground)
}


// ---- ELEMENT - BOAT ----
function drawBoat() {
    image(boat, boatX, 102, boat.width/10, boat.height/10);  // draw boat image at 1/10 scale 
    
    boatX = boatX + 2;    // move boat across the canvas at constant speed 
    
    if (boatX > width) {  // reset boat once it hits the right edge of canvas 
        boatX = 0;
    }
}


// ---- UPDATE FUNCTION ----
function updateClouds() {  // update position of clouds & draw them 
    for (i=0; i<clouds.length; i++) {
        clouds[i].move();
        clouds[i].display();
    }
}


// ---- ADD FUNCTION ----
function addClouds() {    // add more clouds 
    var newCloudLikelihood = 0.005; 
    if (random(0,1) < newCloudLikelihood) { 
        clouds.push(makeCloud(width));        // add new cloud to start of cloud array 
    }
}


// ---- ADDING MOTION TO OBJECT ----
function cloudMove() {    // add motion to clouds 
    this.x += this.speed;
}
    

// ---- DEFINING WHAT IS GOING TO BE DISPLAYED ----
function cloudDisplay() { 
    var u = 10;                      // constant unit (multiply depth to show clouds better)
    var cloudDepth = this.depth * u; // depth of cloud 

    noStroke();
    fill(252);                       // color setting - white 

    push();
        translate(this.x, height-90);
        beginShape();
            ellipse(0, -cloudDepth,  this.x * 0.25, u*1.25);
        endShape(); 
    pop();
}


// ---- DEFINING OBJECT ----
// ---- BACKGROUND - CLOUDS ----   
function makeCloud(cl) {
    var cloud = {
                x: cl,
                speed: -1,
                depth: round(random(6,12)), // need to adjust 
                move: cloudMove,
                display: cloudDisplay
                }
    return cloud;
}


// ---- MIDDLE GROUND - TERRAIN ----
var terrainSpeed = 0.0005;
var terrainDetail = 0.007;

function drawTerrain() {  
    noStroke();
    fill(147, 183, 147, 180); 

    beginShape();
        for (x=0; x<width; x++) {
            var t = (x * terrainDetail) + (millis() * terrainSpeed);
            var y = map(noise(t), 0, 1, 40, 120);
            vertex(x, y);
            vertex(0,height);
            vertex(width,height);
        }
    endShape();
}


// ---- FOREGROUND - WAVES ---- based on stevenraysimon sine wave script 
var offset = 0;
var amplitude = 1;

function drawWaveDistant() {   // function drawing waves (distant)
    stroke(256);
    strokeWeight(2);
    fill(90, 185, 224);  // color setting - blue 

    beginShape();
        vertex(0, height);
        for (x=0; x<width; x++) {       
            var angle = offset + x * 0.04; 
            var y = map(cos(angle), -amplitude*2, amplitude*2, 120, 160); 
            vertex(x, y);
        }
        vertex(width, height);
    endShape();
    offset += 0.2;
}

function drawWaveClose() {   // function drawing waves (close) 
    stroke(256);
    strokeWeight(4);
    fill(1, 106, 161, 250);  // color setting - dark blue 

    beginShape();
        vertex(0, height);
        for (x=0; x<width; x++) {       
            var angle = offset + x * 0.03; 
            var y = map(sin(angle), -amplitude, amplitude, 120, 160); 
            vertex(x, y);
        }
        vertex(width, height);
    endShape();
    offset += 0.4;
}













For this project I wanted to create a generative sea landscape from the perspective of someone on a boat ride. This was inspired by a boat ride during my Asia trip over the summer. Something I had difficulty with was to oscillate the waves in the vertical direction simultaneously; as a result the waves are simply moving in the horizontal direction. What is intriguing, however, is that if you stare at the waves for some time you get an illusion that the waves are moving in their “wave-like” manner. I made the landscape elements be of continuous motion, and experimented with using images (rather than generating the geometries through p5js) to add the boat element into the program.

Initial sketch of my generative landscape

ashleyc1-Section C-LookingOutwards-10

Rachel Rossin
Lossy

Rachel Rossin’s work is a multi-media, installation artist based in New York City. Her exhibition Lossy, is an investigation of the limitations of VR especially in a physical realm. She takes pre-created images and scans and alters them via VR functions and photogrammetry – creating infinite VR worlds that viewers can explore beyond her paintings. She then creates large oil paintings from these altered images within the VR world. I think this recycling process of taking reality and altering then putting back into reality is very cool. During her artist talk at the VR convention in Pittsburgh last year, Rossin says that she’s just trying to make sense of VR through painting and it’s just there to be a physical encapsulation. But I think there’s more because there is the complexity about translating something physical to virtual to physical again.

Gif animation of her contributing work for the VR salon in Pittsburgh

Maybe it’s a commentary about perceived reality, or maybe it’s about entropy, though Rossin denied it during the presentation. Her piece at the VR salon, a floating wreck composed of juxtaposed scenes from her life, felt ethereal as one floated around; something I find present in her translated paintings. Since she is a rather young artist, I’m interested to see how she develops and whether or not she decides to venture in recreating the digital world through other mediums besides painting.

Sources:

http://ziehersmith.com/exhibition/139/lossy

rossin.co/

Rachel Rossin’s Trippy Paintings of Reality as Seen Through VR

 

Ziningy1 – Section C – Looking Outwards 10

 

Graduated with a MFA degree in media art in UCLA, Nova Jiang is a visual artist that work with computational system that are structurally open and aim to evoke the tactile and creative participation of the audience. When I was browsing through her website, my attention was attracted to this little garden-like installation project called Landscape Abbreviated. Landscape Abbreviated is a kinetic maze consisting of modular elements with rotating planters, which form a garden that is simultaneously a machine. The planters are controlled by a software program that continuously generates new maze patterns based on mathematical rules; they rotate to form shifting pathways that encourage visitors to change direction and viewpoints as they move through the space. I really enjoyed this project as it combines the rigorous software system with the organic setting to induced the unpredictable element in the experience. It is also highly immersive while the participants are in the maze, and the randomly moving planters in a way influences the viewers to be more conscious and sensitive surroundings. Through the changes in maze, visitors will be presented a variety of different perspectives to enjoy the whole installation, which also adds on to the overall immersive experience.

Bettina-SectionC-LookingOutwards10

For this week’s looking outwards, I found Mimi Son’s work to be quite intriguing. She co-founded a studio, Kimchi and Chips, with UK artist Elliot Woods and together they work on a mixture of tangible and digital installation projects. I liked A Journey, London, for its use of paper craft and lights — two mediums I particularly like. I appreciate how delightful the environments the studio creates are.

Above: Image of project “A Journey, London”

What’s interesting, since we are bringing up the topic of underrepresented females in the industry, is that Elliot Woods, Son’s male studio partner, is listed first in all descriptions of their studio. Perhaps I’m affect by confirmation bias (after all, their studio name suggests Son is first since Kimchi references Korean culture) but I’m curious if it was a publicity decision or a sincere representation of who has more contribution in the studio.

Jdbrown – LookingOutwards 10 – Les Artistes Females

About a month ago, CMU greeted several innovators in the field of computational design and robotics for a research symposium on smart design and the trajectories of computer-aided architecture / modeling practices. It was a pretty interesting event, and I got to hear five panelists discuss their research areas, and even though my work has nothing to do with computational design, I enjoyed the symposium.

One of the presenters was a woman by the name of Madeline Gannon, a roboticist whose work explores biological models for computer-aided design and mechanical installation. The image I most closely associate with Gannon is that of her interacting with Mimus, her 1,200kg industrial robot arm-thing. Mimus was exhibited at a robotics installation earlier this year and attracted the attention of gallery-goers both young and old.

She has also done work with “painter tools” for 3D printing interfaces, called Reverb. Modeled after squids, these long, drapy tendrils can be layered onto a 3D-scanned torso model to create immediately wearable, intricately geometric shapes with relative ease.

Overall, her work is very interesting, and it’s fun to see her build bonds with these massive hunks of steel and bloodlust. I’ve always been a fan of bio-based design, and her research areas have a solid blend of pragmatic technical expertise and curiosity for the living world.
To see more of Gannon’s work, explore her website.

ikrsek-Looking Outwards-10

Alka Cappellazzo is an artist and creative coder whose body of work seems to center around code-based animations. She doesn’t have a website, or any interviews and it was generally pretty difficult to find information regarding her. In a way she seems like the type of artist who likes to step out of the spotlight and let her work take center-stage for those who are interested in it. From what I was able to find however, I can say that she is currently based out of Italy and graduated from the Brera Academy of Fine Arts with degrees in New Art Technologies and Network Medias. She is also the current vice-president and co-founder of Invalid Code – an Italy based collective of “artists and programmers born to explore and spread the potential of the code.”

I want to take the time to talk about a body of work of hers, as opposed to an individual work, the series is called White Transparency and consists of a variety of animations or static images which are repetitions of graphics creating an ornamental and visually intriguing design. These patterns cleanly represent her interest in exploring the repetition of images and patterns in nature through the medium of code. Using Processing to facilitate these designs, she frequently codes these patterns while including random and noise functions so as to get some real/interesting or unexpected designs, similar to the unpredictability that nature holds with code. She also makes sure to make the code available to the audience, as she believes that code is something to be shared and expanded upon instead of huddled away and to be jealous of.

Below I am including some links to the processing pieces in addition to screenshots because I believe they are better experienced in real-time than seen in a still image.

 

White Transparency IV Link https://www.openprocessing.org/sketch/187998/embed/?width640&amp;height=480&amp;border=true

White Transparency IV

 

White Transparency II

White Transparency II Link https://www.openprocessing.org/sketch/173726/embed/?width=640&amp;height=480&amp;border=true

afukuda-LookingOutwards-10

[ a video synopsis of the project]

Vertical Cinema is a program of ten films by avant-garde filmmakers, musicians and visual artists, printed on 35mm celluloid and projected vertically by means of a specially developed set-up. Vertical Cinema is a site-specific cinema, a cinema attuned to the architecture of the church. What I admire about this project is how it pushes the boundaries of what constitutes a “cinema”. It first challenges the conventional projection of films horizontally by projecting it vertically. And as shown in the video, the installation distorts the films to the point where it looks like projection of light beams. It makes us ponder whether this can still be considered a “cinema”?

A little about Tina Frank:

Tina Frank is a graphic designer, media artist as well as a professor of graphic design at the University of Art and Design in Linz, Austria. She pursued her academic studies in graphic design at Graphische Lehr-und Versuchsanstalt Vienna. She was the founder & creative director for the design offices U.R.L. Agentur für Informationsdesign. Her roots were in web design and cover designs for experimental electronic music during the mid 1990s when she also started to work with digital real-time visualization, video & multimedia.

Link | http://www.tinafrank.net/audiovisual-art/colterrain/

Work | Tina Frank. Vertical Cinema. Oct 12 2013

lookingoutwards-09 Thomas Wrabetz

My looking outwards of someone else’s looking outwards is the Ross Spiral curriculum from week 7 (data visualization).

Ross Spiral Curriculum

The original looking outwards

I agree that the visualization is quite cool and nicely suggests the spiral nature of k-12 education (most of it anyways- in my british elementary school all we spiraled through was the tudors). However I am skeptical about the computational nature of the spiral- i.e., it seems to just be a linear sequence of topics arranged into a spiral, and not reflecting an actual data computation that would reveal the spiral-like nature of data on certain parameters of k-12 curricula.