Wednesday, May 8, 2013

ISTA 401: Final Project- Faces



Faces is work that achieves no clear goal, does not infer a motive, nor does it follow conventional rules regarding art. It may be best to consider it close to a Dadaist or anti-art work because if anything it’s mocking art. The project started as several ideas and has slowly merged into one clearly identifiable work.

Concept number one was an idea that with a phone you could write on a virtual wall at any time. Drawn from a project that allowed users to virtually draw on buildings with laser pointers it was a natural urge to try and condense the huge space the original project worked in to a small show room. For this we would use a camera watching a crowd in front of a projected mirror or essentially an image on the crowd just projected in front of the crowd. The crowd would watch the mirror and see themselves with but with a slight twist. If someone pulled out their phone and opened an app that turned the screen a green screen green you could then write on the mirror with your phone by holding it up to the camera. The technical details are simple enough. A camera watching the crowd would be looking for a certain color AKA green screen green. If it were to see the color it changes the pixels where the green is and output to a solid color. The projector showing the mirror then displays this altered image with a drawing on it. The total effect makes the user fell like he/she is drawing on the mirror with a phone. The idea was great for several reasons. First it was user interactive which in my opinion is always very important. Second the user controls the outcome of the work. Once the program is set, it is left to the masses for them to decide its fate. The implementation of this was more complex than we could attempt in a 4 week assignment so we moved on to our next idea.

This idea was drawn from two different sources and merged together. One of my partner’s mothers had the idea of a picture where the eyes in the picture would follow you wherever you went. Not a bad idea in our opinion, although slightly creepy. So we ran with it and combined our former idea of using a device as a drawing tool to a pointing tool. Not that far of a jump in our opinion. Thus we came up with a system where the camera looks for a laser pointers bright dot on a surface. Where that dot was located would be where the creepy eyes of our picture would be. It worked . . . for the most part. Initially we used a library called Mayron for the image analysis but we ran into limitations. The library could only see certain colors and would see every one of the pixels currently that color. A problem when a laser pointers dot generally looks like white. The program would find all pixels with white and essentially crash. This wasn’t going to work.
Our last and final iteration was only a natural step to take from iteration #2. We wanted the eye of the portraits to follow people so we need some software that could recognize people. Turns out there is a library called openCV that has a facial recognition feature embedded in it. This was perfect! We implemented it in so that the eye would follow a face walking by the image and we had our final product.

Well it wasn’t quiet that easy. openCV is a great piece of software that has been adapted and used on many different projects, programs and operating systems. It is very popular in image processing and helped us tremendously but not without some headaches. First we found that importing the openCV library into processing on a PC it’s close to impossible. Further its not possible on a 64-bit machine which is what mine is. Fortunately it is very easy to use with a Mac and so we used all Mac’s to complete the project. We also wanted a nice variation of portraits to be shown show we made a slide show feature with a fade in and out. This works perfectly creating the virtual art galllery feel that we were looking for with a special, creepy modification. Now we have the full effect. 

Together as a team we completed this very complex and ever changing projcet. I have to give full credit to my teammates for all their hard work. I personally did all of the eye placement and work to get them to match up with the pictures that my partner edited for eye holes. It was a fun project and a creepy outcome. Just picture this in an art gallery. You would initially think its just a projection of a famous painting but the notice that it is watching you everywhere you go!

Code below:

import hypermedia.video.*;
import java.awt.Rectangle;

OpenCV opencv;
// contrast/brightness values
int contrast_value    = 0;
int brightness_value  = 0;
int X1;
int Y1;
int X2;
int Y2;
int opac=255;
int order = 0;
int m=0;
int last=0;
boolean active = false;
boolean X = false;
boolean next = false;


int xcenterlefteye;
int ycenterlefteye;
int xcenterrighteye;
int ycenterrighteye;

int eyewidth;
int eyeheight;

int leftedgelefteye;
int rightedgelefteye;

int leftedgerighteye;
int rightedgerighteye;

int topedgelefteye;
int bottomedgelefteye;

int topedgerighteye;
int bottomedgerighteye;

int X12;
int Y12;
int X22;
int Y22;

int xcenterlefteye2;
int ycenterlefteye2;
int xcenterrighteye2;
int ycenterrighteye2;

int eyewidth2;
int eyeheight2;

int leftedgelefteye2;
int rightedgelefteye2;

int leftedgerighteye2;
int rightedgerighteye2;

int topedgelefteye2;
int bottomedgelefteye2;

int topedgerighteye2;
int bottomedgerighteye2;

PImage imgMona;
PImage imgjohn;
PImage imgobama;
PImage imgfarm;
PImage imggw;

void setup() {

    size( 1280, 800 );

    opencv = new OpenCV( this );
    opencv.capture( width, height);                   // open video stream
    opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );  // load detection description, here-> front face detection : "haarcascade_frontalface_alt.xml"
    
    imgMona = loadImage("Mona.png");
    imgjohn = loadImage("john.png");
    imgobama = loadImage("obama.png");
    imgfarm = loadImage("farm.png");
    imggw = loadImage("gw.png");

}


public void stop() {
    opencv.stop();
    super.stop();
}


void draw() {
    background(0);
    int h = height;
    int w= width;
    opencv.read();
    //opencv.absDiff();
    opencv.flip( OpenCV.FLIP_HORIZONTAL );
   
    print("time " +m/1000+"\n");
    print("order " +order+"\n");
    print("next " +next+"\n");
    print("active " +active+"\n\n\n\n");
    
    m = millis()-last;
    
    if(millis()>last+30000){
      last=millis();
      next=true;
    }
     if(next){
      opac = opac-25;
      print("-opac = " +opac+'\n');
     }
     if((opac<-25) && (active==false)){
       next=false;
       active = true;
       order = order + 1;
     }
     if(active){
       
       opac = opac + 25;
       print("+opac = " +opac+'\n');
     }
     if ((opac > 255) && (active)){
        active=false;
       
     }
     if(order==5){
       order=0;
     }
     
    // proceed detection
    Rectangle[] faces = opencv.detect( 1.2, 2, OpenCV.HAAR_DO_CANNY_PRUNING, 40, 40 );

   
    
    // draw face area(s)
    noFill();
    //stroke(255,0,0);
    noStroke();
    for( int i=0; i<faces.length; i++ ) {
        rect( faces[i].x, faces[i].y, faces[i].width, faces[i].height ); 
        X1=(faces[i].x+(faces[i].width/2));
        Y1=(faces[i].y+(faces[i].height/2));
        X12=(faces[i].x+(faces[i].width/2));
        Y12=(faces[i].y+(faces[i].height/2));
        //print("X "+X1+ "    Y "+ Y1+"\n");
    }
    ellipseMode(CENTER);

 stroke(0);   
    
  if (order==0){
        //Mona
        xcenterlefteye = 605;
        ycenterlefteye = 275;
        xcenterrighteye = 685;
        ycenterrighteye = 275;
        
        eyewidth = 40;
        eyeheight = 20;
        
        leftedgelefteye = xcenterlefteye - eyewidth/2;
        rightedgelefteye = xcenterlefteye + eyewidth/2;
      
        leftedgerighteye = xcenterrighteye - eyewidth/2;
        rightedgerighteye = xcenterrighteye + eyewidth/2;
      
        topedgelefteye = ycenterlefteye - eyeheight/2;
        bottomedgelefteye = ycenterlefteye + eyeheight/2;
      
        topedgerighteye = ycenterrighteye - eyeheight/2;
        bottomedgerighteye = ycenterlefteye + eyeheight/2;
        
        
        //left eye
        float x1 = map(X1, 0, width, leftedgelefteye, rightedgelefteye);
        float y1 = map(Y1, 0, height, topedgelefteye, bottomedgelefteye);
        //right eye
        float x2 = map(X1, 0, width, leftedgerighteye, rightedgerighteye);
        float y2 = map(Y1, 0, height, topedgerighteye, bottomedgerighteye);
        
        ellipseMode(CENTER);
        
        //eyes
        fill(231,192,105,opac);
        ellipse(xcenterlefteye, ycenterlefteye, eyewidth, eyeheight);
        ellipse(xcenterrighteye, ycenterrighteye, eyewidth, eyeheight);
       
         
        //pupils
        fill(0,0,0,opac);
        ellipse(x1, y1, 10, 10);
        ellipse(x2, y2, 10, 10);
        
        tint(255,opac);
        image(imgMona,width/2-400,0);
  }
  
  if (order==1) { 
        //obama
        xcenterlefteye = 640;
        ycenterlefteye = 320;
        xcenterrighteye = 710;
        ycenterrighteye = 317;
        
        eyewidth = 35;
        eyeheight = 15;
        
        leftedgelefteye = xcenterlefteye - eyewidth/2;
        rightedgelefteye = xcenterlefteye + eyewidth/2;
      
        leftedgerighteye = xcenterrighteye - eyewidth/2;
        rightedgerighteye = xcenterrighteye + eyewidth/2;
      
        topedgelefteye = ycenterlefteye - eyeheight/2;
        bottomedgelefteye = ycenterlefteye + eyeheight/2;
      
        topedgerighteye = ycenterrighteye - eyeheight/2;
        bottomedgerighteye = ycenterlefteye + eyeheight/2;
        
        
        //left eye
        float x1 = map(X1, 0, width, leftedgelefteye, rightedgelefteye);
        float y1 = map(Y1, 0, height, topedgelefteye, bottomedgelefteye);
        //right eye
        float x2 = map(X1, 0, width, leftedgerighteye, rightedgerighteye);
        float y2 = map(Y1, 0, height, topedgerighteye, bottomedgerighteye);
        
        ellipseMode(CENTER);
        
        //eyes
        fill(255,255,255,opac);
        ellipse(xcenterlefteye, ycenterlefteye, eyewidth, eyeheight);
        ellipse(xcenterrighteye, ycenterrighteye, eyewidth, eyeheight);
       
         
        //pupils
        fill(0,0,0,opac);
        ellipse(x1, y1, 7, 7);
        ellipse(x2, y2, 7, 7);
        
        tint(255,opac);
        image(imgobama, (width/2)-180, (height/2)-250);  
      
  }
  if(order==2){
        //john
        xcenterlefteye = 520;
        ycenterlefteye = 373;
        xcenterrighteye = 670;
        ycenterrighteye = 373;
        
        eyewidth = 50;
        eyeheight = 30;
        
        leftedgelefteye = xcenterlefteye - eyewidth/2;
        rightedgelefteye = xcenterlefteye + eyewidth/2;
      
        leftedgerighteye = xcenterrighteye - eyewidth/2;
        rightedgerighteye = xcenterrighteye + eyewidth/2;
      
        topedgelefteye = ycenterlefteye - eyeheight/2;
        bottomedgelefteye = ycenterlefteye + eyeheight/2;
      
        topedgerighteye = ycenterrighteye - eyeheight/2;
        bottomedgerighteye = ycenterlefteye + eyeheight/2;
        
        
        //left eye
        float x1 = map(X1, 0, width, leftedgelefteye, rightedgelefteye);
        float y1 = map(Y1, 0, height, topedgelefteye, bottomedgelefteye);
        //right eye
        float x2 = map(X1, 0, width, leftedgerighteye, rightedgerighteye);
        float y2 = map(Y1, 0, height, topedgerighteye, bottomedgerighteye);
        
        ellipseMode(CENTER);
        
        //eyes
        fill(255,209,189,opac);
        ellipse(xcenterlefteye, ycenterlefteye, eyewidth, eyeheight);
        ellipse(xcenterrighteye, ycenterrighteye, eyewidth, eyeheight);
       
         
        //pupils
        fill(0,0,0,opac);
        ellipse(x1, y1, 13, 13);
        ellipse(x2, y2, 13, 13);
        
        tint(255,opac);
        image(imgjohn, (width/2)-221, (height/2)-300);
  }
  if(order==3){
        //farm
  
  //eyes # 1
  xcenterlefteye = 485;
  ycenterlefteye = 276;
  xcenterrighteye = 525;
  ycenterrighteye = 276;
  
  eyewidth = 20;
  eyeheight = 9;
  
  leftedgelefteye = xcenterlefteye - eyewidth/2;
  rightedgelefteye = xcenterlefteye + eyewidth/2;

  leftedgerighteye = xcenterrighteye - eyewidth/2;
  rightedgerighteye = xcenterrighteye + eyewidth/2;

  topedgelefteye = ycenterlefteye - eyeheight/2;
  bottomedgelefteye = ycenterlefteye + eyeheight/2;

  topedgerighteye = ycenterrighteye - eyeheight/2;
  bottomedgerighteye = ycenterlefteye + eyeheight/2;
  
  
  //left eye
  float x1 = map(X1, 0, width, leftedgelefteye, rightedgelefteye);
  float y1 = map(Y1, 0, height, topedgelefteye, bottomedgelefteye);
  //right eye
  float x2 = map(X1, 0, width, leftedgerighteye, rightedgerighteye);
  float y2 = map(Y1, 0, height, topedgerighteye, bottomedgerighteye);
  
  ellipseMode(CENTER);
  
  //eyes
  fill(205,205,205,opac);
  ellipse(xcenterlefteye, ycenterlefteye, eyewidth, eyeheight);
  ellipse(xcenterrighteye, ycenterrighteye, eyewidth, eyeheight);

   
  //pupils
  fill(0,0,0,opac);
  ellipse(x1, y1, 4, 4);
  ellipse(x2, y2, 4, 4);

  //////////////////////////////////
  
  
  //eyes # 2
  xcenterlefteye2 = 730;
  ycenterlefteye2 = 210;
  xcenterrighteye2 = 785;
  ycenterrighteye2 = 210;
  
  eyewidth2 = 20;
  eyeheight2 = 10;
  
  leftedgelefteye2 = xcenterlefteye2 - eyewidth2/2;
  rightedgelefteye2 = xcenterlefteye2 + eyewidth2/2;

  leftedgerighteye2 = xcenterrighteye2 - eyewidth2/2;
  rightedgerighteye2 = xcenterrighteye2 + eyewidth2/2;

  topedgelefteye2 = ycenterlefteye2 - eyeheight2/2;
  bottomedgelefteye2 = ycenterlefteye2 + eyeheight2/2;

  topedgerighteye2 = ycenterrighteye2 - eyeheight2/2;
  bottomedgerighteye2 = ycenterlefteye2 + eyeheight2/2;
  
  
  //left eye
  float x12 = map(X12, 0, width, leftedgelefteye2, rightedgelefteye2);
  float y12 = map(Y12, 0, height, topedgelefteye2, bottomedgelefteye2);
  //right eye
  float x22 = map(X12, 0, width, leftedgerighteye2, rightedgerighteye2);
  float y22 = map(Y12, 0, height, topedgerighteye2, bottomedgerighteye2);
  
  ellipseMode(CENTER);
  
  //eyes
  fill(205,205,205,opac);
  ellipse(xcenterlefteye2, ycenterlefteye2, eyewidth2, eyeheight2);
  ellipse(xcenterrighteye2, ycenterrighteye2, eyewidth2, eyeheight2);

    //pupils
  fill(0,0,0,opac);
  ellipse(x12, y12, 4, 4);
  ellipse(x22, y22, 4, 4);

  
  tint(255,opac);
  image(imgfarm, (width/2)-301, (height/2)-360);
  
  
  }
   if(order==4){
        //gw
  xcenterlefteye = 556;
  ycenterlefteye = 332;
  xcenterrighteye = 630;
  ycenterrighteye = 333;
  
  eyewidth = 30;
  eyeheight = 15;
  
  leftedgelefteye = xcenterlefteye - eyewidth/2;
  rightedgelefteye = xcenterlefteye + eyewidth/2;

  leftedgerighteye = xcenterrighteye - eyewidth/2;
  rightedgerighteye = xcenterrighteye + eyewidth/2;

  topedgelefteye = ycenterlefteye - eyeheight/2;
  bottomedgelefteye = ycenterlefteye + eyeheight/2;

  topedgerighteye = ycenterrighteye - eyeheight/2;
  bottomedgerighteye = ycenterlefteye + eyeheight/2;
  
  
  //left eye
  float x1 = map(X1, 0, width, leftedgelefteye, rightedgelefteye);
  float y1 = map(Y1, 0, height, topedgelefteye, bottomedgelefteye);
  //right eye
  float x2 = map(X1, 0, width, leftedgerighteye, rightedgerighteye);
  float y2 = map(Y1, 0, height, topedgerighteye, bottomedgerighteye);
  
  ellipseMode(CENTER);
  
  //eyes

  fill(205,205,205,opac);
  ellipse(xcenterlefteye, ycenterlefteye, eyewidth, eyeheight);
  ellipse(xcenterrighteye, ycenterrighteye, eyewidth, eyeheight);

   
  //pupils
  fill(0,0,0,opac);
  ellipse(x1, y1, 6, 6);
  ellipse(x2, y2, 6, 6);
  
   
   
   tint(255,opac);
  image(imggw, (width/2)-302, (height/2)-250);
   }
    
    
    
    if(key=='o'){
      tint(255,125);
        image( opencv.image(), 0,0, displayWidth, displayHeight);
    }

    if ((key=='z')){
      X = false;
    }
      if ((key=='x')){
      X = true;
    }
    if (X){
      fill(255);
      noStroke();
      quad(X1-10,Y1+10,X1-7,Y1+10,X1+10,Y1-10,X1+7,Y1-10);
      quad(X1+10,Y1+10,X1+7,Y1+10,X1-10,Y1-10,X1-7,Y1-10);
      
    }
}





or link to project:
https://www.dropbox.com/s/flxhx7wlji4ofxm/face_detectionE2.pde

Tuesday, April 16, 2013

ISTA 401: iProcessing

      Today I wanted to explore the world of mobile Processing. In today's world we are always on the go and having our laptop at all times just isn't possible, so what are our options when it comes to mobile devices? Everyone in today's world has at least a phone and probably a smart phone if not a tablet of some kind also. I personally have an old school iPhone 4 and a new iPad. These items I can carry and often do carry everywhere I go day to day and I have always wondered if I had a moment of  inspiration about a Processing project I was working on could I sit down and crank out a sketch anywhere in the world and any time? Turns out that yeah you can and not only can you but you have options as well. Below are a few application for the iPhone and iPad. For all you non Apple people out there I'm sorry for leaving you out but I have no way of testing apps on other devices. 
      Before we continue though I must throw out a disclaimer about there cool applications. 1) They are java-script based so that they can run on Apple devices and 2) they are in some ways limited. These are not the peak of programming applications but in a spot you definitively could find a bench anywhere anytime and get your ideas out of your brain and into sketch. So enjoy the following but don't get disappointed when you can't run your favorite image, or video libraries on these primitive applications.

First up:



Processing for iOS (Javascript): FREE
By Boyd Rotgans

Simple Processing (JS) language editor.

Version 1.0
- Make new, edit and remove sketches
- Based on the ProcessingJS
- Syntax Highlighting
- Reference link
 - Portrait only

iPhone Screenshot 1  iPhone Screenshot 2 iPhone Screenshot 3

Notes: This processing app is as simplistic as you can make it. Code your sketch and press play. Simple as that! Very easy to use interface with only one exception. When trying to exit your sketch it is hard to get the menu to pop up, sure to be an easy fix in the future. This app looks great on the iPad's retina display and is a joy to play with.

Next:



Processing for dummies: $1.99
By Niccolo Consolazio
Processing for dummies is the quickest and easiest guide and reference to Processing language and by now COMPILER!!

FEATURES
- Tons of tutorials
- Complete reference to Processing!
- Support the Retina Display!
- Processing Environment
- Processing Tools
- ASCII Table
- Compatible with iPad!
iPhone Screenshot 1    iPhone Screenshot 3   iPhone Screenshot 4

Notes: This is by far the better of the two apps in my opinion. The resources given are far greater and the interface is well thought out  You can create tons of sketches easily and manage each with ease. One of the greatest features of this app is the cool keyboard for the iPad that lets your swipe to get special characters. This small feature makes writing longer codes very easy on the iPad.


Some other resources:

iProcessing
by Luckybite

http://luckybite.com/iprocessing/

Notes: This website and development is very out of date. Hopefully will undertake the project of updating to the latest iOS.


Video showing examples above.


Final thoughts:
       I think the above speak for itself in that these are a couple handy little apps here that will let you amaze your friends on the subway to work but wont let you create ultimate sketch. In my mind these are training, time wasting (in a good way), brainstorming, introduction or glimpses into Processing in its full. I hope you enjoy them as much as I do and continue to develop one of a kind sketches. Or if your one to take it to the next step, you could always do the Processing world a favor and take inspiration from these apps and make a fully functioning Processing app that provides the full rich set of features Processing provides. We all would enjoy such an accomplishment but until then - Laters!

Thursday, February 21, 2013

ISTA 401 Blog: Art Show Ideas

Idea 1: Using a connect play angry birds.
Idea 2: Display the floor on the ceiling. Down looking cameras record the view and display it on the roof. Vertigo!
Idea 3: Facial recognition! Use Facebook to identify all people who are walking around the gallery.
Idea 4: Twitter visualization?
Idea 5: Keyboard heat-map?
Idea 6: Turn wall into mirror
Idea 7: Type into wall that outputs poems
Idea 8: play sound opposite of hearing them

Sunday, February 17, 2013

ISTA 401 Blog: Artist Statement

Who are you?
I'm a regular college student at the University of Arizona majoring in ISTA.
What do you do?
I like to fly, play sports, compete and have fun!
Why are you interested in it?
I love to fly because of the freedom, skill and knowledge that it requires. It's a great challenge and the views are great! Sports are my life. I love every type of competition. I love to compete and watching others do the same is enjoyable. Having fun is critical to me. Life isn't worth living if your not having fun.
Why is it important to you?
Flying is important to me because it has been in my life sense birth. My father has flown for a living my whole life. That love has transferred to my life and I hope to make it my own career in the future. As for sports its my pressure relief valve in life. When playing or watching sports I'm very happy and relax.
How do you justify it to the world?
These are the things that make me happy and make my life enjoyable. If your not perusing your dreams and what makes you happy then your not living your life.
What are the main concepts, issues, themes you explore?
As far as art I would like to focus on human computer interaction, social networking issues, and interactive visual displays.
What are some of the major works you've done so far?
The major work that I have done previously is called probablycats.com. You can check it out at probablycats.com. Essentially it creates a Pinterest like view of redit articles. Check it out! I've also done some project earlier in this class that you can see on some of my previous posts!

Thursday, February 14, 2013

ISTA 401 Blog: Project Ideas

      I've been challenged to brainstorm and mentally develop three ideas for Multimedia Installations that I would display in an imaginary art gallery. I have an Emory room to work with and have unlimited options. The possibilities are endless. I believe thatmfirstni souks develop an idea of how I want people to interact with the gallery. I'm a technology buff and think I will shoot for a complete virtual gallery. This is an interesting idea to me for several reasons.
      First, it's an art gallery without any Art in it. Breaking the rules right off the bat. Second in a traditional art gallery (at least the one that's in my mind) you can't ever tough things. There is always a barrier between the observer and art, whether it be a rope or a rail, DON'T TOUCH signs or a 300lb security guard. With the virtual art gallery there is no art to protect and those barriers disappear!
Second a virtual gallery is flexible. You can change everything with a touch of a button! Image one night you feel like going street. You want to be gangster and put up all your graffiti, photography of the hood and such. It's an expression of illegal expression. Then the next night or even the next hour you get mad at social norms and want to display your views on stupid formalities. It's possible with a virtual gallery.
      Third, people can interact with your ideas. Traditionally the gallery master or whoever is in charge gets full command over what the overall image and meaning of a gallery is. With virtual gallery's people can disagree with you. Point out their views, even argue with other observers. There are a million ways this could be done. Let them all draw on a virtual screen, give them all a virtual marker so they can draw on your drawings, give them virtual paint to correct your mistakes, interact with other virtual galleries and so on and so on.
      So, we have flexibility, personal observer interaction, and n real art (AKA no barrier). What does all this give us? Nothing actually. Instead I think it's the opposite idea. Really its the idea of giving the observers all the power. Why?
People like to be in control of their future, including what they see, hear, taste interact with. So why not give them the control? Why not let them choose? Good idea? Probably not, we will see but I have a couple specific ideas.

Crazy Idea 1: The Circle Canvas
Mainly spawning from the following two videos.
Video #1: divIT - Multitouch Display


Video #2: Samsung Horizon Dispaly

      There are a million videos out there like this but I think you might get the idea. I would turn the room into a huge multi-touch screen for the users to do what they like with it. It would be a complete circled poor to ceiling to completely immerse the observers. Users would enter as a group and interact anywhere around the interior of the circle. Options would include drawing, writing, uploading/ posting pictures of themselves, internet access, Google maps, video streaming/chats. It would be an all inclusive experience.

Crazy Idea 2: The Worm Hole
      Take the same set up as Crazy Idea #1 and turn the whole thing into a 360 degree view of a public place in another location. Could be right outside, could be in a park on the other side of town or in another country. Both locations would have a circle canvas and a 360 degree camera essentially making in a video chat session in 360. Place each worm hole in popular public places like Times Square and Grand Central Station and you have virtual worm hole to the other location. You have to image what it would look like. Stand in the middle of a circular display interacting with random people on the "other side" in real time.

Sunday, February 10, 2013

ISTA 401 Blog: Visual Poetry

      My latest project in in Multimedia Installations in collaboration with Nelson Post is a visual poetry piece. We were asked to make a random poetry generator. After creating a word bank we converted a known poem to a part of speech blank meaning we replaced all the words with their part of speech. Once this is done we can fill in the poem with words of correct part of speech but not the original words. The result is a random poem based on an original. Once that was done we made is visual pleasing adding a raining cloud effect and each part of speech displays in a different unique font and color. The results are as follows:







    Pretty cool right? The poem was When the Sun Comes After the Rain by Robert Lewis Stevenson.

Link to my code HERE

Sunday, January 20, 2013

ISTA 401 Blog: Vorticist Composition

   
      Well that didn't take long . . week two and already some programming! Using a sketching tool called Processing we were challenged to recreate a work of art chosen off MOMA's Inventing Abstraction website. There were a thousand great pieces to choose form but I chose the work above. This is a piece painted by Lawrence Atkinson in 1914-15. It is oil on a canvas 41x33 inches large. Lawrence Atkinson was an English artist born in Manchester in 1873. He initially painted almost exclusively landscapes until he was introduced to Vorticism. Since then he became a leader in the movement. To me the painting caught my eye because of its color pallet, is possibility and its simplicity. First the colors are an unusual combination in my opinion. Pale pinks in the back and bright lime greens in the foreground. This creates an interesting depth in the painting. Also the black diagonal lines in the middle draw your gaze up and vertically stretching the painting. The abstract image also bring huge amounts of possibility to the viewer. There are many angles and views to think about this image. Its not so abstract to the point of unrecognizable to its to quite clear either. It teeters on the edge of clarity. Lastly its not overwhelming to the viewer being that it is mainly large rectangular shapes. It would be boring without the color choices. It is also interesting that there is little shading but rather solid blocks of color on each shape.
      My sketch which is below simply finds a random point in the image, averages the pixels around that point and draws a supper pixel in its place. Over time is draws and similar picture to the image but incomplete and in a sense blurred.
.
Source: http://richardawarren.wordpress.com/about/

Sunday, January 13, 2013

ISTA 401 Blog: Introduction to Multimedia Installations

      At last a new semester and that means new classes! This semester I'll be taking ISTA 401 thought be a follow up for ISTA 301 which was the reason this blog was created. The first day was fun and I think the rest of the semester will be similar . . . hopefully. As am introduction I should tell you a little about myself as relating toward this new class. I'm an Information Science and Technology major so a I have a little programming experience with Java but mainly Python, HTML and CSS. Using these I've created many programs and websites for a variety of different objectives. Last semester I also was exposed a sketchbook called processing. I had fun working with the program as it was very easy and you could seemingly do anything with it. Further I have extensive CAD experience with Solidworks and Autocad.

      This class covers multimedia installations which is a very general and broad area of art. It encompasses very cool technology innovations crated by a very large and diverse population of artists. For example Martin Fussenegger and Michael Sebastian. They have created one of my favorite machines ever the Facadeprinter. Check out their website HERE and one of their cool videos below.


Great idea and an even better result in my opinion. Multimedia works are about pushing the known boundaries of mediums to the limits and creating extraordinary art. I love this type of art because it is using technology that was meant for one thing and adopting it to complete something unrelated to its original purpose. Another great innovator is Johnny Lee. Check out his website HERE and a video of his presentation at TED in 2008.


This I think is where my true love is. Lee is once again using existing technology and adapting it to meet other goals. I especially love the human computer interaction part of his work. Human computer interaction has always spurred my interest and I would love to explore its possibilities even more during this class.

One last one that its an interesting mind stretching examples is that game company. They have created many games with the idea that video games can be art. Their most popular example would be Flower. Check out some PS3 game play below and see what interactive art looks like.


Its pretty boring looking in my opinion but I'm not an art enthusiast. Its just a great example of the range of multimedia art. Really its endless but from what I've seen its pretty interesting. Hopefully this class will continue to amaze me with different and mine blowing projects - Laters

Wednesday, December 5, 2012

ISTA 301 Blog: Visualization

      Ok people I just got my mind blown! You got to see this video!


     Yup that just happened. Its completely real too. No trickery here. Built by Fisher Technical Services, Inc. (FTSI) for the 2010 World Expo it has 1008 150mm spheres all suspended by wire and each controlled individually by micro winches. Its an amazing display of what computers can do to help visualize art. Its a stunning show perfectly performed by thousands of little motors and a very powerful computer. Add some cool lights and a good sound track and you've created a mesmerizing display. I still can't believe how cool it is and I've watched the video 3 times. Although you may have never seen it before its not the only one of its kind. Check out BMW's version in Munich, Germany.


      BMW's version is smaller but they display very recognizable objects, of course beautiful silhouettes of their cars. Both these pieces are amazing works of art that blow my mind. The smooth movements, effortless transitions and overall simplicity of the designs is perfect. I want one in my house! There's also over versions of this kind of 3D visualization. Check out these two videos below:



      Each is an amazing feat by itself. Firs the cube is huge! I've always wanted cool holographic s and this is a kind of pseudo holograms. The second video is a true hologram! I thought I'd never see the day! Its truly amazing to see. Its a dream come true. Even such raw technology makes me very excited. Visualiztion is very important and these creative ways of displaying art boggle my mind and hopefully yours. I hope you enjoyed each piece as much as I did - Laters

Tuesday, December 4, 2012

ISTA 301 Blog: Interactive Art

      I mentioned that Art today has gone down the drain. Not that it is worse in quality but has less importance in our everyday lives. I believe that this is because going to an art gallery and staring at abstract art works and such is not entertaining for most, me included. How do we fix this problem? Make art more fun and entertaining for people. Easily done with a little thing called interactive art. Its a way that artists can turn the tables on their observers. Instead of the artists doing all the work they let the observer take part in the creation of the work. Its purpose is to engage the observer, bring he/she into the mind set of the artist and share in the experience of the works creation. Enough talk lets look at a couple examples. First the coolest runway you'll ever see:


Next a dance floor that you'll never want to leave:


Or a mirror made out of wood . . . ?


There's so many of these that are awesome I cannot show you them all. I recommend just doing a simple YouTube search for interactive art and watch the endless possibilities. Hope you have a good time - Laters

ISTA 301 Blog: Generative Art

      What happened to Art? Once a interval part of every man, woman or child's life is now put aside for video games, TV and iPhone's. Its an after thought in modern times. Today we build a square building, then fill it with furniture and lastly put a little Art on the walls. Where it should be the other way around. Finding Art that connects to you, build a purpose built structure with meaning and thought to house the Art and furnish it to make it cozy. Its not the only thing we have completely backwards in today's world but I'm not going political. The mentality of taking a process and reversing it is not new and in fact in art there's a ingenious concept that's broken the order of things. Traditional art is conceptualized, perfected in the mind and performed on canvas or sculpture. The result an exact representation of the original idea in the artist mind. So how do we reverse this? A little thing called Generative Art.
     
            Generative Art refers to art that in whole or in part has been created with the use of an 
            autonomous system. - Trusty Wikipedia

      Yup generative art is art not created by the artist by rather by another being or machine. Instead of an artist creating a concept of the finalized work he/she creates a process to perform an artwork. Often a set of ambiguous steps to be followed by others each time creating a new and clearly different work. One the earliest examples would be Wolfgang Mozart's "Musikalisches Wurfelspiel" work. This is a large set of short melodies that are randomly played together based on a die roll thus creating a new piece of music every time.
      Generative art reverses the roll of artist and observer. Instead of the artist performing the work he/she is now the observer of the performers who then realize the work. Its the old switcharoo. Hundreds of works have been realized in this fashion and each and everyone is unique. A great example is Sol LeWitt's wall drawings below: 


      Very cool stuff. How about this piece?


      Wish it showed the completed work but still very cool. Hope you look for cool works like this in the future -Laters



      

ISTA 301 Blog: Evolutionary Algorithms

      Ever seen a lopsided skyscraper? Neither had until I was introduced to moh architects and evolutionary design concepts. Yup that right evolutionary design. . . what does this mean? Well check out their website HERE. Their idea was to use natural evolution to produce actual structure concepts and in this case skyscrapers. Nature has a pretty good way of making evolution happen. The weak die and the strong survive. Now apply such ideas to architecture and whala. Kinda. Its not as easy as you'd think. You need evolutionary algorithms and a rating system to determine how that algorithm does over time. These systems are often called Fitness scores. For example in the skyscraper situation we would make a rating system based on how strong the build is and whether its going to fall over when a little storm comes through. The process would be something like this. Run the algorithm and take the result. Put it through a storm and if it falls over throw it away and get the next one. When you find a few good ones that survive find the properties that made them survive and add them to the algorithm. Now repeat a couple hundred times. Eventually the goal is to get something that's going to survive the harshest hurricanes and storms. The process will vary depending on algorithm but all evolutionary algorithms require a grading system. For more information check out a trusted Wiki article HERE. For a beginners guide to EA's there's another great resource HERE.
      So whats so cool about these? Well this strategy is an interesting way to create something but often not know what your result will be at the start. Depending on your EA you may get results that you would have never predicted or imagined. Above is a pretty good example. Who would have thought of having a structurally sound skyscraper that was completely bent in the middle? These algorithms also have to great power to find the optimum result very easily for any project. On the Perl Monks website they give these great examples:

  • Finding circuit layouts that minimize production costs, using graph representations.
  • Modelling biological principles like cooperation, speciation, specialization.
  • Finding effective movement strategies for cheap (and dumb) robots.
  • Creating classifiers and predictors for data sets, often with neural nets.
  • Generating music/art that satisfies certain aesthetic criteria.
Some really great ideas and possibilities can come from this process and its easy to see that it can be applied to a huge variety of fields and problems. It would probably be a good idea to keep EA in the back of your mind if your a true problem solver - Laters
   

ISTA 301 Blog: Probably Cats

      If you haven't figured it out I'm writing some of my blogs for a class project. We're required to write about computational art related topics which is actually pretty cool. For my final project we had to actually create the art ourselves. I teamed up with Nelson Post, Marie Wilcox, Carlos Sanchez and Stephen Roda to create our visionary piece of web art. You can check it out at Probablycats.com and here is a screenshot of it.

Pretty cool right? Here's the low down on the site. Reddit.com is one that I visit on the regular because of all its interesting news and funny pictures. The only problem is that its kind of like craigslist.com where its design is very simplistic and unattractive. Well we decided to fix that and make the viewing enjoyable. Our team put together code to make it happen. First we needed to scrape the website of all its cool pictures. Easy with a little php and hours of time. We designed the website around the images giving it a hip look and easy to navigate feel. All the images are linked back to the original site if you want it from the original source. The photos are not chosen by us but rather Reddit and in actuality imgur.com. Refresh the website and it will refresh with the latest pictures. Enjoy the newest streamline way to view your favorite pictures on the web - Laters

Monday, December 3, 2012

ISTA 301 Blog: Virtual Reality

      Keeping on the theme of cool future technologies lets take a look at the sister of augmented reality, virtual reality. I understand if you think they are the same but in fact they are quite different. Here's the definitions as per trusty Wikipedia:
   
           Augmented Reality (AR) is a live, direct or indirect, view of a physical, real-world environment
           whose elements are augmented by computer-generated sensory input such as sound, video,
           graphics or GPS data.

           Virtual Reality (VR) is a term that applies to computer-simulated environments that can simulate
           physical presence in places in the real world, as well as in imaginary worlds.

     So whats the big difference? Augmented reality is the real world with computer outputs overlaid on it where virtual reality is complete immersion in a computer generated world. For example an augmented reality demonstration:


      Very cool right? Now lets look at an example of virtual reality:

     
See the difference? Its pretty cool. There are many projects like these ongoing. The experience is very interesting. The SCAPE project at the University of Arizona supports two users that can exist in the same virtual world but in different places in that virtual world. You can interact with the environment or each other in that environment. A new world within a world. Its like a little bit of inception. Hope it blew you mind a little - Laters




ISTA 301 Blog: Google Glass

      One of my previous posts was about cyborgs and I touched on an amazing piece of technology Google Glass. To me this is one of the coolest concepts I've been exposed to in years. If you didn't see the video last time here it is again:


      If only it were here already. The idea of effortless control over technology demonstrated in the video makes me very excited for the future. We can see that you can video chat (Google Hangout), send and receive text messages, make calls and get turn-by-turn navigation at the blink of an eye. To me its just mind blowing so I've got to dive further into augmented reality. Wondering what Wikipedia's definition of augmented reality is? So am I, so here it is:

            Augmented Reality (AR) is a live, direct or indirect, view of a physical, real-world 
            environment whose elements are augmented by computer-generated sensory input such 
            as sound, video, graphics or GPS data.

      Pretty straight forward and nothing really surprising there. Its a technology that has come along directly with the development of faster computers, cheap cameras and better video graphics. Combine all that with smartphones it has made augmented reality possible in everyone's pocket. Sweet! I don't know about you but I have always wanted cool holographic HUD's like Tony Stark has in Iron Man. There's also plenty of other great examples of augmented reality technology. Digitalbuzz did a great article about some HERE. This new technology has unlimited possibilities in my mind. I'll leave with a cool video of Google Glass being demonstrated live.

-Laters


     

ISTA 301 Blog: Pinterest

      Social media has taken over the modern world. Face to face social interaction is now unneeded. It has enabled us to share our lives with the world in real time. We can post our location, our opinion, what hear or see. One form of social media that has exploded is the micro blogging scene and there are many options. Twitter, Facebook, Picasso, MySpace, YouTube, Google+, Blogger, Wordpress, Tumbler and Pinterest just to name a few. All let you show the world clip-its of your life. There's hundreds of them all offering a outlet to express yourself online. For me I'm just a newbie to the whole scene. I have had a Facebook account for a long time but only recently signed up for a Twitter account (@rlof11) and Blogger. I have enjoyed each but my latest adventure is the Pintrest world. If you haven't joined me and the 25 million other unique visitors a month on Pinterest I'll clue you in on whats going on in this virtual photo sharing world. I just joined a week ago so I'm no expert but where my knowledge fails we can always trust the most reliable web resources out there Wikipedia.
      The simple jist of Pinterest is you post a picture on your virtual pin board. Others can see it and if they think its worthy of adding to their own board they "re-pin it". Simple and very entertaining. People "pin" images of everything. For me I mostly search for those fly outfits, cool gadgets or cool cars. Search for anything and you'll receive a never ending stream of related photos that might "interest" you. Its a great idea and a time killing fun way to explore your own interests.
      Pinterest as a company is an amazing story. They launched in March 2010 and literally two years later became a $1.5 billion dollar company. It was the fastest company to reach that mark in history. Why so popular so quick? I believe its because of its simple design and simple concept. I have spent a small amount of the website and have enjoyed it thoughoutly. So far I have used it to pass samll amounts of time between events or classes. I'm not usually one to jump on these websites but this is one I have enjoyed with the little amount of time I've spent with it. Check it out or follow me if your already a member. Till then - Laters

Wednesday, November 28, 2012

ISTA 301 Blog: Video Games Are Video Games

      Recently in a lecture I was introduced to the ongoing academic discussion about a question that in my opinion is pointless: What is "art". I'll give the the quick version. "Art" is whatever you want it to be. Simple done right? Maybe. I would have never write about this just based on this but then my Professor continued to expand right into the category of games and specifically video games. Sweet now were talking, something I know more about than my professor. I'm thinking this is going to be good. "Art" and video games. Then he pulls up this video:


      Didn't make it all the way through? I don't blame you. Let me sum it up for you. Kellee Santiago thinks video games are "art". She gives several arguments why, all with gaping holes that anyone could walk through and argue the opposite. Then my professor offers the other side of the story presenting this article HERE. If you don't bother to read it I don't blame you and will once again sum it up for you. Roger Ebert thinks that Kellee Santiago is stupid and that video games can never be "art" for reasons that me nor you care about. (if you do read the article)
      For me it doesn't matter because both are wrong, kinda.  On Santiago's side how can video games be "art" if no one can define "art"? Now I'll agree that there is "art" in a video game but that does not make it "art", it makes it a video game with "art" in it. On the other side I will agree with Ebert, in that video games are not art, but not because of whatever he says but because video games are video games. So to sum up I'm arguing against arguing about this because there shouldn't need to be an argument in the first place. Video games are video games and "art" is "art" whatever "art" might be. Now stepping down from the soapbox. - Laters

Thursday, October 4, 2012

ISTA 301 Blog: FLASH MOB!

      Who has seen the crazy flash mobs all over YouTube? There's tons of them, and most are really cool to watch. This is a pretty cool phenomena in the last 9-10 years that I have yet to participate in but would love to get involved. I did a little quick wiki-research and apparently the first flash mob was performed in 2003 in a Macy's with over 130 people all trying to agree on one "love rug" to buy. (I'm not making this stuff up I swear.) I'm not sure if I believe Wiki on the true "first mob" but let's move on. In recent years there have been countless more all making a scene for the unsuspecting public's enjoyment. There have even been groups created to do these crazy gatherings like Improv Everywhere. Check them out HERE. Too bad I live on the other side of the country or I would probably participate in the annual No Pants Subway Ride. Even better yet though are their MP3 experiments. These are flash mobs where everyone is listening to the same MP3 track and it tells you what to do! This is what we in 301 would call a little algorithmic art. Check this video out: (Watch till the end, it gets a little crazy.)


      Yup, epic craziness that I wish I could have been a part of. Improv does these and many more experiments, each is as good as the last but they are not alone. There's even prisoners doing it! Check it:


What? How? Why? Prison? Anyways this video does bring up a small debacle. Is this really a flash mob or a choreographed dance? It's hard to define a Flash Mob and the reason is because it is used to describe everything from 130 people all in Macy's trying to buy one rug, to a Michel Jackson dance by prisoners. Flash mob in my mind mean a spontaneous gathering somewhere thus creating a mob. Probably doesn't happen much though. For a more experienced opinion here's Improv Everywheres' take on it:

How can you call it “improv”? Your missions are clearly pre-planned!
We are not claiming that what we are doing is improv. The majority of Improv Everywhere Agents met each other through the Upright Citizens Brigade Theatre in New York, the nation’s most awesome improv comedy theatre and school. While staging organized stunts in public places is obviously completely different from improv comedy in a theatre, the two activities do share similar techniques. We stay in character at all costs and usually have no script beyond the mission’s idea. We have no clue how people are going to react to us, and that is where the improvisation comes in. If I could go back in time and chose a different name, I would. After 11 years, I think I’m stuck with it.
Aren't these flash mobs?
No. Improv Everywhere was created about 2 years before the first “flash mob.” While some of our missions may have certain similarities to a flash mob (large numbers of people engaging in a coordinated activity in a public place), we have never embraced that term. Some missions use just a few folks while others might use thousands, depending on what suits the idea. Also, our projects are rarely over in a flash. Many last for hours.
Over the years the term “flash mob” has been beaten to death by the media and co-opted by marketers. It’s become a lazy, catch-all term to describe things as varied as people dancing at a Black Eyed Peas concert to surprise Oprah Winfrey to teens meeting up to commit crimes in Chicago. I’m not sure what it even means anymore, and I don’t really care to use it to describe what we do.
      So there you got it. It's not a definitive answer but no one really cares about what we call them just where and when they happen. I'd encourage you to try participating in one if you ever get the chance. Like I said I would love to myself. Maybe I'll run into you at Macy's one day. Till then - Laters