Friday 23 October 2009

Myron Krueger

One of the earliest examples of motion detection is the work of Myron Krueger. He graduated in the sixties and remarkably was working with 'responsive environments' (his term) that responded to peoples movements without the use of any special gadgetry (no gloves or headgear). He used a computer, video camera and projector in exactly the way that artists and game designers are doing now. However what he didn't have was a programming language and so he worked on the machine level language without an operating system 'in the way', as he puts it. In 'Video Place'(1988) he is using techniques and conceptual frameworks that artists today are mirroring.
Kruegers work dates back almost forty years and is credited as the pioneering start of virtual reality. It is not surprising that responsive environments would lead to complete virtual environments, but perhaps it is the play between the so called 'real' and 'virtual', that of 'natural commuting' that has seen a renewed interest in Kruegers work. The idea that we will one day live in Virtual reality has lost some of its charm, partly as a result of the actualisation of virtuality being assimilated into our 'real' world.
Here is Kruegers description of  'Video Place':

'In the installation, the visitor faces a video-projection screen. A screen behind him is backlit in order to produce a high contrast image for the camera and allow the computer to distinguish the visitor from the background.
Interesting that he back lights the video projection,,,, I will experiment with this!! The other project I did I back projected onto a touch screen. It was alright but the image was de-saturated. I would like to find a way of front projecting where the image does not get interrupted by a person moving in front of it. Ideas anyone??
The visitor’s image is then digitized to create a silhouette and processors can then analyze its posture and movement, and its relationship to other graphic elements in the system. The processors can then react to the movement of the visitor and create a series of reactions, either visual or auditory. Two or more environments can also be linked to the system'. (Andrew Hieronymi, ND)
http://classes.design.ucla.edu/Winter04/256/projects/andrew/report.html









Tuesday 20 October 2009

Drawing API update

I did some experiments with attaching a movie clip to use as a drawing mechanism. Below is a link to a tutorial which is in AS2 that is inspiring. My idea after seeing this was to grab a paint or charcoal mark from Corel painter and use it instead of the flower. The problem with this approach is that each of the marks is a blob
http://www.gotoandlearn.com/play?id=16
Here is the swf that I made, CLICK ANYWHERE BELOW and you will see that you can draw with the mouse. The problem with this experiment is that I want the line to be fluid and not blobs, although they are a very interesting and unusual drawing medium. Also this file is AS2 and I am unhappy with the motion detection results that I could achieve in AS2 and have decided to go with AS3 (for now). This is gives me the opputunity of learning some AS3, it will probably render AS2 obsolete sooner or later.


The way forward is to make use of new filters that are available for flash Player 10. Adobe have extended the classes so that it is possible to add blur effects, drop shadows and the like to movie clip objects. I have taken the original motion detection files which have a simple movie clip that follows the motion and then added a drawing API to the movieClip. This was problematic in so far as I had to find resources that explained how to make the drawing API with AS3 (which I did), In fact the code is similar to AS2 except that the graphics class has to be imported and then the lineTo and moveTo tags have to reference the graphics class as follows:

import flash.display.MovieClip;

graphics.lineStyle(50, 0xbb00ff, 50);
graphics.moveTo(myCursor.x+2, myCursor.y+2);
graphics.lineTo(myCursor.x, myCursor.y);


Once I had this code working, the next step was to figure out how to change the properties of the line styles, the whole point of this drawing app is to make different marks.
It turned out that the effects class can only be attached to movieClip not directly to the lineStyle, so I 'grew' a new movieClip and put attached the drawing API to it.
as follows
var myDrawing:MovieClip = new MovieClip();
addChild(myDrawing);   
myDrawing.graphics.lineStyle(50, 0xbb00ff, 50);
myDrawing.graphics.moveTo(myCursor.x+2, myCursor.y+2);
myDrawing.graphics.lineTo(myCursor.x, myCursor.y);

Once the api is attached to a myDrawing, it is then possible to add properties to myDrawing and therefore the API.
as follows;
var filterList:Array = myDrawing.filters;
filterList.push(new BlurFilter(30,30,20));
myDrawing.filters = filterList;

which adds blur. The next step is to see how this works once it is projected onto a big screen, because I have the feeling that the movement will be affected once the whole thing is scaled up.
For the time being here is the swf of where I am at.