Recently I have been working with Gautam Agarwal, a neuroscientist at UC Berkeley, on a piece for the Mind Matters show next Spring at UCSF. His work is focused on understanding the relationship between spatial awareness and neural activity. He has been teaching me about his research and I have been developing data visualization tools in Processing to view and navigate through the massive data sets he is using:
OpenGL in Processing has allowed us to visualize hundred of thousands of data points, animate them, rotate them in three dimensions, and change parameters in real time. In the visualization below, color represents spatial positioning and the height of the curves represent neural activity, showing clear connections between the two variables:
We don’t yet have a vision of what this all becomes for the show, but we are developing a large cache of materials to work with.
Last Spring, avatar internet artist LaTurbo Avedon visited my Internet Tools class at SFAI. It was certainly the most unorthodox guest speaker I’ve had visit a class. Check out her intro video and then check out her projects, both of which are great.
To install on a Mac, control+click on the Processing icon, select “Show Package Contents” and replace the existing theme.txt file found at “Contents–>Resources–>Java–>modes–>java–>theme”. Then get hacking!
I also added documentation of my last two shows to the Projects page and a few photos from March on the Photo page.
Inspired by Robert Hodgin’s Introduction to Cinder, I started experimenting with animated patterns using trigonometry functions in Processing.js. The size of the circles are calculated by a single line of code which uses their x,y position and an angle variable that is incremented over time. Here’s one of them: “ellSize = sin(x*y+angle)*7 + cos(angle)*8;”. Things got pretty op-arty! Click to cycle through different patterns:
I’ve been playing with sound reactive 3-D particle systems in Processing using OpenGL. Above is one of sketches I’ve been working on (which has way too much information for online video compression formats, hence the fuzziness). Different colored particles react to different frequency bands (audio track not included here) and orbit at different radii around the center.
Kyle and I are bringing building to the Maker Faire at the San Mateo Event Center on May 21st and 22nd. We will be part of a project called “SpaceCamp” which will focus on hacking/making and creating community spaces. The space will include a bunch of groups from around the country doing exciting projects along those lines. Our project is called building: a how to which will include a lot of our previous software projects, hands-on workshops on how we made them, and, of course, some surprises.
“The United States has over 700 military bases on foreign soil in sovereign countries, where we have no declaration of war. This project seeks to gather covers by American musicians of songs that are associated by origin with each of these places.”
This spring, I’m going to try to remember how to play music and put something together for this.
Then this summer, in addition to riding my bicycle all over the place, I’ll be teaching a class called “Hacking for Artists” at UC Santa Cruz. We’ll be making digital media art projects by hacking code together from various places. It will be something of a crash course in programming for artists who want to do crazy things with computers but who don’t want to study computer science.
Here are some photos of people playing my video game at the art.tech exhibition at the Lab in San Francisco. And below is the Processing code for the game. It’s currently configured to run on a computer with an internal video camera and an external video camera attached via firewire. I have tested it using an iSight camera and a DV camera, both work great. I recommend running it with two mirrored screens set at 640×480. You will also need to add sounds to the Processing data folder named “good.wav” and “bad.wav”–classic video games sounds work well. See this post for instructions on playing. Have fun!
This is a video of two people playing a video game I made using Processing last May. Each player sees a silhouette of themselves on screen whenever they move (their silhouette disappears when they are still). The player also sees a silhouette of the other player. The object of the game is to collect the blue balls while avoiding the red balls to achieve a high score. Balls can only be collected when both players’ silhouettes overlap each other and a ball, so the two players must work together. Each blue ball collected is worth one point while each red ball is worth one negative point.