Archive for the 'particles' Category

Augmented Ribbons

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to FurlAdd to Newsvine

Here I’ve combined 2 reoccurring themes that run throughout my work – Augmented Reality and ribbons. It is an evolution of the particle trails code from AR Particle Beam. Initially I wanted to create a flocking effect for the ribbons, but didn’t quite get that far and ended up cheating. This will be the next step.

Check back soon to interact with the application. And I should also be releasing the source for this at some stage in the near future.

AR Particle Beam

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to FurlAdd to Newsvine

So I thought it was about time I jumped on the augmented reality bandwagon. Rather than the obligitory 3D model I decided to make something a little different. I’ve used 3D lighting techniques and physics here to create this beam of light surrounded by strange celestial light particles.

If you would like to interact with it, first download and print out the marker here then go here for a live demo.

Big thanks to a few people. First and foremost Saqoosha, the clever chap who created the FLARToolkit library, a port of the C++ library ARToolkit. Mikko Haapoja for providing a fantastic introduction to using FLARToolkit. Eric Socolofsky for building the framework FLARManager which makes working with FLARToolkit a sinch.

Incidentaly while making this, John Lindquist started an augmented reality competition on the Papervision forum. I’ve decided to enter it (hence the Papervision Logo on my marker – rules of the comp, not sucking up) so please feel free to vote for me on the forum. 🙂

For those of you who are interested, you can download the source code here. It’s an FDT project but it shouldn’t be too difficult to convert it over to your favourite development environment.

**** UPDATE ****
Kristin Rohleder has written a Flex version of this application and kindly given it to me to share with whoever wants it. He’s used the latest version of FlarManager and TimelineMax for the animation so the performance is probably far better.

You can download the project here.

Virtual Ribbons

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to FurlAdd to Newsvine

This artwork allows the user to experience an augmented reality in which the flow of ribbons and particles can be controlled. It works by capturing a colour from an object (in this case, a green glove and the light from my mobile phone) and then using this object to drag the ribbons around the screen.

I won’t be releasing the full source code for this but I have released the source of the two key elements used in this sketch. These are the colour detection and the 2D Ribbons. In my opinion this is the best way to share code for larger projects. Smaller context specific code snippets are far easier to look through and experiment with than entire projects. And if people want to build the final artwork, stitching together the various pieces and adding their own code is a great learning experience.

Playing with particles using a webcam

Demo of installation

This installation is an AIR application that was built using Flash. It is intended to be placed in the reception area of my workplace, Skive. It was actually completed a few months ago but I just recently managed to put some video documentation together.

The piece uses a webcam to track any form of movement to displace particles. The letters of the Skive logo are broken up and forced to the edges of the participant’s silhouette. This creates a chaotic outline as the pieces attempt to rush back into their original places to reform the letters. The springiness of the particles brings a fluidic motion which encourages play.

Click here to see the video on Vimeo

I’ve worked with webcams several times before and found that differences in light and surroundings can cause the application to behave in different ways. This can be very frustrating as it means recompiling using different values. This time, I decided to do something about it and created a control panel which would allow me to alter and save values such as springiness, threshold and pixelation on the fly. This saved a lot of time, effort and stress.

Demo of installation

Prisoner’s Dilemma Visualisation

I recently read Richard Dawkins’ The Selfish Gene and was fascinated with his discussion of Prisoners Dilemma (PD), a classic example of game theory, in relation to evolution. On the lookout for inspiration for my first Processing project, I decided to use this idea to create a visualisation of the game in progress.

First a brief explanation. PD involves two players and a banker. Each player has the choice to either cooperate or defect and are awarded points for the various outcomes of the game. If they both cooperate they each get 3 points, if they both defect, they each get 1 point and if one cooperates and the other defects, the defector gets 5 points and the cooperator gets no points. Iterated PD is where this game is played a number of times. The winner is the player with the most points after the last game has been played. For more detailed information click here.

Within my Processing sketch, there are 8 different “animals”. Each uses a classic PD strategy. They are as follows:

Green = Tit-For-Tat – Always begin by cooperating then copy the last move of the opposition.
Blue = Tit-For-Two-Tats – Like Tit-For-Tat but the opponent must defect twice before the player retaliates.
Red = Always Defect.
Yellow = Random. Each play has a 50% probability.
Purple = Always Cooperate.
Turquoise = Grudger – The player cooperates every move until the opponent defects once. The Grudger defects every move after this.
Orange = Naive Prober – Tit-For-Tat but with random defection.
Grey = Adaptive – Starts with c,c,c,c,c,c,d,d,d,d,d and then makes each choice by calculating the best average scores for defection and cooperation.

Each time two animals come into contact with each other, they have 40 games of Iterated PD. The scores of these games are gathered and once an animal scores over 250 points, it reproduces. Each animal is given a limited lifespan at birth which depends upon the amount of animals. As the amount goes up, the given lifespans decrease. This “disease” avoids overcrowding by limiting the population to 600-800.

Click here to see the full size video on Vimeo


This visualisation differs from the original experiments in that the games are not played in an organised structure but through random interactions. However, the results are quite similar to reports from the original scenario. The more negative strategies, “Always defect”, “Random Prober” and “Random” are always the first to go. These are usually followed by “Always cooperate” and “Adaptive”. The last three “Tit-For-Tat”, “Tit-For-Two-Tats” and “Grudger” (who always cooperate with each other regardless) tend to hold the top 3 positions in a random order.


Flickr Photos