L-System Gardens
The idea behind this solo project was to leverage so-called Lindenmayer systems in order to programmatically generate visually pleasing drawings of plants.
Previous implementations of L-System code have been mostly for mathematical interest with single plantlike structures being displayed individually.
Using a WYSIWYG editor programmed in Javascript with p5.js, I was able to experiment with the visual effect of layering hundreds of separately
generated L-Systems over each other with some random colour variation. The results look remarkably organic coming from such a simple algorithm.
Exploring Networks in VR
Data that takes the form of a network is often difficult to parse visually. In this group project we wanted to see whether allowing people to
explore networked data by flying through a 3D representation of it in virtual reality would help them to better understand how things were connected.
As our dataset we chose the filmography of Tarantino films along with all the actors who have acted in at least two of them. By connecting each actor
to each film they had acted in a complicated web representing the clique surrounding the director was created. I taught myself how to use Unity to
program an interactive virtual reality system for the (by then already quite old) Oculus Go headset. Results from user testing were mixed, but this may
have been down to the nausea created by the older headset.
Mirror of Time
This installation was the result of a group project and was exhibited for several days at the V2_ lab for the unstable media.
Visitors would walk up to a gilded frame and a webcam would quickly send a picture of their faces through a repurposed gaming PC
which was hidden behind a curtain. The PC would then run a StyleGAN based aging filter on a picture of the user's face before sending
it to the screen hidden behind the gilded frame. The screen adjusted in near realtime and the viewer would see their face depicted as
older the closer they stepped to the camera. Between the dark lighting and us using a somewhat temperamental algorithm for recognising faces
the results became quite distorted. This gave them an emergent eerie quality that would have been hard to achieve had we set out to do it deliberately.
Wooden Anvils
An apocryphal account of Pythagoras discovering musical harmony by listening to blacksmiths beat on anvils of different sizes inspired this solo project.
I wanted to create a way for two people to discover the interplay of harmony and dissonance while striking objects with hammers. I achieved this by
attaching sensitive accelerometers to chunks of wood and then running the signal from these sensors through an ethernet cable to an Arduino which
would then send the sensor data to a synthesising program known as Pure Data. Extensive research went into synthesising metallic and bell-like sounds
from scratch in order to create an interactive experience where participants could strike the wooden blocks with hammers and hear a metallic ringing sound
from the surrounding speakers as if they had struck a metallic object. The advantage of using hammers was that it allowed the two participants sitting
across from each other in chairs to visually be able to communicate the timings of their strikes.
LSTM Experiments
These are the outputs of a TenserFlow implementation of an Long Short-Term Memory deep learning model, which is a type of Recursive Neural Network.
I was intrigued by the flexibility of this system and the fact that it could be coaxed into outputting the answers to simple subtraction and addition
problems as drawings of digits. Here we can see several of these outputs, each collumn with slightly varying model setups. In one case I observed the
impact of decreasing the batch size during training and in another case I observed what happened when more LSTM layers were added either as encoding or
as decoding steps. The ghostly outlines of digits resulting from the models trying to "hedge their bets" are interesting to me as a look into the strange
processes going on within a neural network.