Sunday, February 24, 2013

Project Ideas

I had multiple ideas on what I wanted to do for a project. But thing that seemed to stand out the most for me was something that was less interactive because of the limited amount of resources.

One idea would be using a wide variety of music, making snippets so that the whole track is maybe at most 5-7 minutes long and having some sort of animation that interacted with the music changing to change with the music.
(that one is my favorite).

Another idea that is of course less plausible was to have something similar to the kinect and have it see where you are, the closer you got to the screen a panda (of course) would peek out more and more behind the bamboo brush. The farther people walk away from the screen, the more pandas disappear. Insinuating that the less people care, the less pandas will be alive due to them becoming extinction.
(you said to incorporate my pandas idea Angus..)

The more I think about this project, the more I get an anxiety attack. I can't think of anything that is my skill range that would be good enough to put into a exhibition. I am at a loss of words and generally need assistance in the matter.

Thursday, February 14, 2013

Artist Statement


Marie Wilcox has a very unique outlook on art and how it impacts everyone who interacts with it. She takes things that are most important to her and incorporates it into her artwork. Her most recent piece is entitled “Bamboo Forest”, which combines her love for pandas and Japanese culture into one magnificent artwork. Her natural knack for technology are shown in each piece, especially in her first piece entitled “The Path Taken”. The technology used tracks the viewer’s positioning as they move and when they go down a certain path things would change. Marie does all these things while staying eco-friendly and contributing to the environment. ¼ of all the money made is donated to the World Wildlife Fund, which is her favorite charity. Not only will going to Marie’s exhibitions be an experience that one will not forget but it is good for the world around you as well. 

Projects


Bamboo Forest
Bamboo Forest is a display of extinction awareness. It has multi-colored paint splattered in an abstract manner on top of a cartoonist version of bamboo on the wall. There are pandas hidden in the dark shadows of the above. Depending on where you move the pandas will come cascading from the ceilings and come towards you. They then rise back into the darkness as if never there.  

The Path Taken
The Path Taken has a tile like flooring which in reality has a movement sensor underneath it.  The floor will then light up when you walk over it. There is a preferred path outlined on the floor, if you are to step outside of the path it will light up red and red lights will flash everywhere. It demonstrates the complexity of choosing your own path and following your dreams 

Sunday, February 10, 2013

Problems on problems

This is as far as I got. Still can not decode the error code. Will work on it more in the morning.



import java.util.*;

List<Word> words;

PFont font = createFont("Arial", 25, true);
float x; // Horizontal location
int index = 0;


void setup() {
  size(600,200);
  frameRate(50);
  x = width;
  textAlign (LEFT);

 
  Map<String, List<String>> wordMap = loadInWords("words.txt");
 
  for (String k : wordMap.keySet()) {
   //println("key = " + k);
 
    List<String> values = wordMap.get(k);
 
    for (String v : values) {
     // println("\tvalue = " + v);
    }  
  }
 
 
  words = parseGrammar(wordMap, "grammar.txt");
}


/***
  Loads in a text file indicating words assoicated with parts of speech, parses it,
  and returns a Map of each part of speech and its assoicated List of words.
  Assumes each line looks like:

    POS:word1,word2,...,wordN
***/
Map<String, List<String>> loadInWords(String filename) {
 
  Map<String, List<String>> m = new HashMap<String, List<String>>();
 
  String[] lines = loadStrings(filename);
 
  for (int i = 0 ; i < lines.length; i++) {
    //println("LINE = " + lines[i]);
    String[] chop = split(lines[i], ':');
   
    String POS = chop[0];
    //println("POS =" + POS);
    String wordsStr = chop[1];
    //println("\tLEFT SIDE = " + POS);
    //println("\tRIGHT SIDE = " + wordsStr + "\n");
   
    String[] wordsArr = split(wordsStr, ','); //split right side into an array of Strings
    List<String> wordsList = Arrays.asList(wordsArr); //turns array into a List
   
   
 
    for (String tmpStr : wordsList) {
      //println("\t\tword="+tmpStr);
    }
   
   
    m.put(POS, wordsList);
  }
 
  return m;
}


/***
  Reads through a text file of parts of speech and looks through a Map m for a random word
  that corresponds to each part of speech. Returns a populated List of Word objects, where
  each type of Word has its own render() method.
***/

List<Word> parseGrammar( Map<String, List<String>> m, String filename) {
 
  List<Word> ws = new ArrayList<Word>();
  // TO DO -
  // 1. Load in Strings from "grammar.txt" and loop through each line.
  String[] lines = loadStrings(filename);
 
 
  for(String line : lines) {
    //println(line);
   
    String[] posArr = line.split(" ");
    List<String> posList = Arrays.asList(posArr); //turns array into a List
   
    for (String p : posList) {
      //println("\t" + p);
     
      List<String> listOfWords = m.get(p);
     
      int randNum = (int) random(0,listOfWords.size());
     
      String randomWord = listOfWords.get( randNum );
      println("\t\t" + randomWord);
     
      Word w;
      if (p.equals("NOUN")) {
        w = new WordNoun(randomWord, p);
      } else {
        w = new Word(randomWord,p);
      }

      ws.add(w);
     
    }
  }
 
 
  // 2. For each POS in the line, get the associated List of words from Map m.
  // 3. Choose a random word from the list.
  // 4. Place this word in a List that we will read from in the draw() loop.
 
  return ws;

 }



void draw(){
   background(255,0,0,255);
 
   int pX = 10;
   int pY = 50;
 
   for (Word w : words) {
    w.render(pX, pY);
    int sw = (int)textWidth(w.word);
    pX += sw + 10;
   
    if(pX > width-90) {
      pX = 10;
      pY += 50;
    }
   }
 
  text(1,x,180);
 
  x = x - 3;
 
  float w = textWidth(w[index]);
  if (x < -w) {
    x = width;
  }
}