cduong-LookingOutwards-02

This is an architectural project that aims to get the public to have an experiential feel while they are in this space using all of their senses. It is known as Phenomena and was made by Benjamin Dillenburger and Demetris Shammas. It is a piece of architecture that reacts differently with its surroundings depending on the time of day: reflects light and casts shadow during the day and transforms into an “oversized 3D display for video projection” at night.

In my architectural modern history class we are learning about more modern architecture and how the idea of architecture is no longer only about buildings, which is exactly what this project incorporates. Phenomena is considered architecture because of its experience and not because it is a building, which I find amazing because I used to think that architecture was only associated with buildings.

Based on the complexity of the shape of Phenomena it is obvious that the creators had to use a computer program to create this project and based on several algorithms that they had to create, such as the different types of materials and how each material reacts to different factors, including light. Another algorithm could have been how different forms could come together to create a certain feeling.

The creator’s artistic sensibilities are manifested in the algorithms because they had to create the set of variables that they wanted this project to be based on. Based on what they wanted this project to accomplish they had to create a set of algorithms for those goals they had for the project. Also the creators had to add their own artistic touch to the project, whether it be what types of forms they wanted to create and what types of materials and color they wanted to use.

Phenomena by Benjamin Dillenburger and Demetris Shammas (2015)

http://www.michael-hansmeyer.com/projects/phenomena_info.html?screenSize=1&color=0#undefined

VideoLink: http://www.michael-hansmeyer.com/projects/phenomena_video.html?screenSize=1&color=0

cduong-Project02-Variable Faces-SectionD

project02variablefaces

/*
Name: Colleen Duong
Class Section: D; 9:30AM
Email: cduong@andrew.cmu.edu
Project-02-Variable Faces
*/

//List of Variables that are used for the Front Character
var eyeSize = 20;
var faceWidth = 200;
var faceHeight = 200;
var Blush = 60;
var Mouth = 30;
var Sprout = 30;
var BodyShake = 300;

//List of Variables for the background Characters
var ShadowPosseHead = 100;
var ShadowPosseBody = 200;
var ShadowBack = 0;
var ShadowMiddle = 30;
var ShadowFront = 60;


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

function draw() {
    background(137, 0, 0);
    noStroke();

    //Stalkers Body (Left/Black). The variables will make the shapes move left and right frequently
    fill(ShadowBack);
    ellipse(ShadowPosseBody+80, 450, ShadowPosseHead, ShadowPosseHead);
    ellipse(ShadowPosseBody+130, 450, ShadowPosseHead, ShadowPosseHead);
    ellipse(ShadowPosseBody+150, 420, ShadowPosseHead, ShadowPosseHead);
    ellipse(ShadowPosseBody-100, 450, ShadowPosseHead, ShadowPosseHead);
    ellipse(ShadowPosseBody-200, 450, ShadowPosseHead, ShadowPosseHead);

    //Stalkers Body (Left/DarkGrey). The variables will make the shapes move left and right frequently
    fill(ShadowMiddle);
    ellipse(ShadowPosseBody, 350, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody, 380, 20, 40, 10);
    arc(ShadowPosseBody+10, 440, 70, 70, PI, 0);
    rect(ShadowPosseBody-30, 430, 75, 70, 10);
    ellipse(ShadowPosseBody-100, 370, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody-100, 400, 20, 40, 10);
    arc(ShadowPosseBody-90, 460, 70, 70, PI, 0);
    rect(ShadowPosseBody-125, 460, 70, 70);

    //Stalkers Body (Left/LightGrey). The variables will make the shapes move left and right frequently
    fill(ShadowFront);
    ellipse(ShadowPosseBody-50, 400, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody-50, 430, 20, 40, 10);
    arc(ShadowPosseBody-40, 490, 70, 70, PI, 0);
    rect(ShadowPosseBody-80, 480, 75, 70, 10);
    ellipse(ShadowPosseBody+80, 400, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody+80, 430, 20, 40, 10);
    arc(ShadowPosseBody+90, 490, 70, 70, PI, 0);
    rect(ShadowPosseBody+60, 480, 75, 70, 10);
    ellipse(ShadowPosseBody-150, 400, ShadowPosseHead-10, ShadowPosseHead-10);
    rect(ShadowPosseBody-150, 430, 20, 40, 10);
    arc(ShadowPosseBody-140, 485, 70, 70, PI, 0);
    rect(ShadowPosseBody-170, 480, 75, 70, 10);

    //Stalkers Body (Right/Black). The variables will make the shapes move left and right frequently
    fill(ShadowBack);
    ellipse(ShadowPosseBody+300, 450, ShadowPosseHead, ShadowPosseHead);
    ellipse(ShadowPosseBody+400, 450, ShadowPosseHead+10, ShadowPosseHead+10);
    ellipse(ShadowPosseBody+200, 450, ShadowPosseHead, ShadowPosseHead);

    //Stalkers Body (Right/DarkGrey). The variables will make the shapes move left and right frequently
    fill(ShadowMiddle);
    ellipse(ShadowPosseBody+300, 350, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody+300, 380, 20, 40, 10);
    arc(ShadowPosseBody+310, 440, 70, 70, PI, 0);
    rect(ShadowPosseBody+280, 430, 75, 70, 10);
    ellipse(ShadowPosseBody+200, 370, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody+200, 400, 20, 40, 10);
    arc(ShadowPosseBody+210, 460, 70, 70, PI, 0);
    rect(ShadowPosseBody+180, 445, 70, 70);

    //Stalkers Body (Right/LightGrey). The variables will make the shapes move left and right frequently
    fill(ShadowFront);
    ellipse(ShadowPosseBody+250, 400, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody+250, 430, 20, 40, 10);
    arc(ShadowPosseBody+260, 490, 70, 70, PI, 0);
    rect(ShadowPosseBody+230, 480, 75, 70, 10);
    ellipse(ShadowPosseBody+380, 400, ShadowPosseHead, ShadowPosseHead);
    rect(ShadowPosseBody+380, 430, 20, 40, 10);
    arc(ShadowPosseBody+390, 490, 70, 70, PI, 0);
    rect(ShadowPosseBody+360, 480, 75, 70, 10);

    //Face Shape. Variables makes the face change size.
    fill(256);
    ellipse(width / 2, height / 2, faceWidth,  faceHeight);

    //Blush. Variables makes blush change size in correlation with the eyes.
    var eyeLX = width / 2.1 - faceWidth * 0.25;
    var eyeRX = width / 2.1 + faceWidth * 0.25;
    fill(255, 114, 129);
    ellipse(eyeLX, 270, Blush, Blush);
    ellipse(eyeRX+20, 270, Blush, Blush);

    //Eyes. Variables makes blush change size in correlation with the head.
    fill(0);
    rect(eyeLX, height / 2.3, eyeSize, eyeSize*2, 10);
    rect(eyeRX, height / 2.3, eyeSize, eyeSize*2, 10);

    //Mouth. Variable makes mouth change size.
    fill(0);
    arc(310, 290, Mouth, Mouth, PI, 0);

    //Sprout. Variable makes sprout grow in height
    fill(201, 208, 126);
    ellipse(290, 100, 50, 30);
    ellipse(340, 100, 50, 30);
    rect(305, 100, 20, Sprout+30, 10);

    //Body. Variable makes body move right to left to make it look as though it's shaking.
    fill(256);
    rect(BodyShake+5, 310, 35, 50, 10);
    arc(BodyShake+30, 390, 100, 100, PI, 0);
    rect(BodyShake-20, 385, 100, 100);
}

function mousePressed() {
    faceWidth = random(180, 220);
    faceHeight = random(180, 220);
    eyeSize = random(10, 30);
    Blush = random(50, 70);
    ShadowPosseBody = random(190, 210);
    Mouth = random(10, 50);
    Sprout = random(20, 30);
    ShadowBack = random(0, 20);
    ShadowMiddle = random(30, 50);
    ShadowFront = random(60, 80);
    BodyShake = random(295, 305);

}

For my code I wanted to draw a character that I tend to doodle a lot.

Initially I wanted to make the sprout look evil and scary, but after coding it I realized it wasn’t really possible with it’s basic characteristics, which were ellipse eyes, blush, and a big sprout coming out of its head. So after coding the sprout and making the facial features and the sprout move I decided to continue with my “evil and scary” idea and made these shadow-like creatures behind my sprout character. Initially I was going to just leave them there but I wanted them to move a little as if they were moving towards the sprout character.

At this point I thought I was done but I thought having the sprout character’s body stay still made the entire picture look a bit static when it was clicked on, so I decided to make it look as though the sprout character’s body was shaking as the shadows behind it were coming after it.

My ideas did not really come in an orderly manner so my code was a bit difficult to work with and a bit unorganized, but hopefully it is easier to read after I added some comments to it.

cduong_Project-01-Face

sketch

function setup() {
    createCanvas(600, 600);
    background(255, 179, 179);

}

function draw(){

    //Hair
    noStroke();
    fill(0);
    rect(100, 160, 400, 480);

    //Ears
    noStroke();
    fill(255, 204, 153);
    ellipse(110,290,70,100);
    ellipse(490,290,70,100);

    //Clothes
    fill(209, 209, 224);
    rect(220, 480, 155, 300);

    fill(164, 164, 193);
    rect(260, 550, 5, 50);
    rect(330, 550, 5, 50);

    //Face + neck
    fill(255, 204, 153);
    arc(300, 480, 50, 50, 0, PI);
    rect(280, 450, 40, 30);
    ellipse(300,270,370,370);

    //Facial Expression
    fill(0);
    ellipse(200,240,45,10);
    ellipse(390,240,45,10);

    ellipse(200,295,90,60);
    ellipse(390,295,90,60);

    fill(256);
    ellipse(200,295,80,50);
    ellipse(390,295,80,50);

    fill(0);
    rect(370, 270, 40, 50);
    rect(180, 270, 40, 50);

    //Nose
    rect(290, 300, 5, 70);
    rect(300, 400, 20, 5);

    //Sleeves
    fill(209, 209, 224);
    rect(250, 480, 20, 30);
    rect(330, 480, 20, 30);

    //Side hair
    fill(0);
    rect(110, 220, 20, 200);
    rect(470, 220, 20, 200);

    //Glasses
    fill(77, 51, 0);
    rect(100, 250, 10, 80);
    rect(270, 250, 10, 80);
    rect(100, 250, 180, 10);
    rect(100, 330, 180, 10);

    rect(270, 280, 40, 10);

    rect(310, 250, 10, 80);
    rect(480, 250, 10, 80);
    rect(310, 250, 180, 10);
    rect(310, 330, 180, 10);

    //Bangs
    fill(0);
    translate(280/2, 130/2);
    rotate(1/2.1);
    ellipse(250, -50, 280, 130);

    translate(280/2, 130/2);
    rotate(-1/1.05);
    ellipse(10, -50, 280, 130);

    //sprout
    fill(0, 256, 0);
    translate(280/2, 130/2);
    rotate(1/2.1);
    ellipse(250, -50, 100, 60);

}

So I know some basic coding but I never really thought about how you could code shapes to make art so this was really interesting to try. I designed my self portrait on photoshop first and then tried to mimic what I drew using code.

cduong_Looking Outwards 01

Several years ago there was a hotel in Cupertino, California that used a 3-foot-tall robot called A.L.O. Botlr (short for “robot butler”). I really admire how society is starting to slowly try and integrate robots into society, especially in working positions like being a butler or a maid, which would allow the rest of the staff to do more than just have to run around and tend to a customer’s basic need like getting them a bottle of water.

A.L.O. Botlr was created by a start-up company known as Savioke. They used a previous robot, SaviOne, to create the robot butler, so they didn’t have to actually start “from scratch” to make this robot butler but they had to figure out what SaviOne could and couldn’t do that would be necessary in creating a successful robot butler. Although they do not specifically say how long it took to create the robot butler, it could be easily assumed that it took years to develop a working model of the robot and it is still being modified to this day to try and improve it.

There is no talk about how the robot was programmed but I can assume that there had to be some custom software/script because it is known for its “industry-first smart check-in program, “Cool Concierge” program and piloting Apple TV in-room services” to accomadate for the basic skills necessary for a robot butler working in a hotel.

Prior works that inspired A.L.O. Botlr would definitely include the SaviOne, which was a delivery robot that worked in service industries (hotels, hospitals, restaurants, etc.).

This project presents opportunities for more advanced robotics to be incorporated in a person’s everyday life such as Moley. Moley is a kitchen robot that was recently made that is a professional cook with skills equivalent to a master chef.

https://www.entrepreneur.com/article/236759

https://techcrunch.com/2014/08/13/starwood-introduces-robotic-butlers-at-aloft-hotel-in-palo-alto/

http://www.alofthotelshub.com/news/botlr/

*More videos available in the article links above the video.