Multi Player Art
I just woke up this morning and thought about a java(processing) program that I wrote last night. I was really only looking to create a proof-of-concept for the midi connection but it evolved into something pretty cool. It really only became interesting when my girlfriend walked up to take a look, and she started controlling the brush settings as I painted on the screen with my Wacom.

Player 1 uses a drawing tablet. Their responsibilities are; controlling the act of painting and the direction/ speed of the brush.
Player 2 uses the M-Audio Trigger Finger. Their responsibilities are; Controlling the color, alpha & brush size using the sliders and knobs of the Trigger Finger.
The basic GUI displays the color selected on the bottom left. As Player 1 clicks the mouse or presses the pen to the tablet, the drawing is initiated. Drawing ceases when the mouse click is released or the pen is lifted from the surface of the tablet. While drawing is occuring, Player 2 may dynamically control the brush settings and color palatte.
The goal is to create a system that lets two artists combine specific parts of their talent to create a unique artwork.
If you consider the elements and principles of Design and Colour;
Player 1 is responsible for only the line and the direction in the elements of design. Player 2 controls the oscillation of shape, size, texture and value.
With the principles of design it is not so cut and dry. Balance in a design is created from a combination of line, color and shape. Player 2 contributes most to the balance through the color and shape but there is significant influence by Player 1. Gradation is a result of a color oscillation and is created by Player 2. Interestingly enough, Player 1 could create themes of gradation by careful placement of the brush. The creation of repetition in a work can be done by either player. Player 1 may create repetition through placement of the brush while Player 2 can create it through careful selections of color and line style. Contrast is created through the juxtaposition of opposing elements. With this system, there are infinite ways that contrast can be created when two people are affecting the same work. If the two players communicate a strategy for creating the work then pleasing contrast may be easily achieved. If the two players work against each other, it could quickly create chaotic, un-appealing contrast. Harmony, Dominance and Unity are much like Contrast in that they can be difficult to get right without communication between players.
It will be interesting to explore how this type of interactive art can be used by different people. I plan to connect this to Twitter for the art show!
When everything is said & done (& re-factored!) I will post the source code for anyone with a M-Audio Trigger Finger who wants to try it out.
Big thanks to Ruin & Wesen for their Java/Processing Midi Classes. Read about their amazing work at http://ruinwesen.com/blog?id=95
Math Is My Friend
I am working on a website that uses a very large grid of pages that are shifted around to display content. I am building a map that lets you navigate to any rectangle on the board through a simple grid box.
The HTML is laid out in a simple list. The opening ul and then 44 li tags with nothing inside. This structure is styled with CSS and then each of the 44 rectangles sit nicely in a 4×11 grid.
With jQuery it is easy to get the index of a clicked element, what I really need is that element’s position in the grid. Specifically the row and column that it is in.
I spent some time thinking about the best possible solution and after trying to normalize the numbers, I remembered that I could use remainders!
Here is the code I used, it works like a charm. If you have a different size grid, replace the proper number and you are all set.
Loading Data Across Domains in Flash
I have been working on a small AS3 project that uses the Yahoo Image Search API to generate a composite image out of a number of slices. Each slice is taken from one image in the image search result. This is a project for my Outsider Art class. My goal is to randomly generate new artworks based on a combination of internet images.
I managed to script together a working model last night but I was having trouble displaying it in my portfolio website. For some reason I could not get the images to load. As it turns out, because the images are all being pulled from external sources the security restrictions of the Flash player silently block my request.
There are workarounds but none will be as elegant as the way that the program operates when run from the Flash IDE. I may re-write it in JavaScript or I may try the PHP workaround. Either way, here is more information on the restrictions and workarounds…. http://kb2.adobe.com/cps/165/tn_16520.html