A meditation on the interaction we have has an individual with the energetic world around us.
Openframeworks, and posenet-for-installations.
produced by: with.lasers / lxinspc / nathan.adams
Concept and background research
The concept originated in a guided meditationa and visulation session I was taking, although not directly related to the content of that session, I found myself thinking about the idea of taking white light (packets), and splitting these via prisms into component colours (corpuscles), and how you could use interactive techniques to control and manipulate these within a wider system.
Visually, the video for the Primes, by Dugan Hammock which appears on Mac Coopers Emergence DVD / Blu Ray album provided an intial thought around the idea of cycling objects in a mathematical environment.
The cover design for Pink Floyd's Dark Side of the Moon (by Storm Thorgesen / Hipgnosis) provided inspiration and reference for thinking about fake optics and prisms (especially the impossible recombination prism on the reverse).
There are two seperate components to the piece. The main particle system, and pose detection.
The particle system, is a mainly straightforward particle system, that makes use of a number of physical principles for moving and tracking particles. I had orginally anticiapted that I would be able to set up a fairly straightforward 2D system to establish a set of objects which I could use in a "strict" manner to get the visual effect I was looking for.
This however proved not to be the case, and the 2D prototype became increadibly useful in establishing that whsilt interesting behavious could be created with a few objects - it was not quite qhat I was looking for, therefore the 3D version has a more hetreogenous approach to the physics.
I did research using OpenCL for optimising particle calculations, but ultimagely managed to just about not need to use, though the system tops out at around 1.5 million particles, and there are some interesting effects that occur at these volumes, so it would ebenfit from implementing this sort of optimisation sooner rather than later.
Because of the sheer tweakability of the environment, one thing I didn't expect to do, was to implment a MIDI interface to a MIDI Fighter Twister which was used to tweak aspects of all objects and save them in presets.
Pose detection utilised posenet-for-installations running on another laptop, this was a standard build of that project, which then served pose data over my local network as a websocket. The main program then recieved that data (using the plugin ofxlibwebsockets) and parsed it accordingly ready to be mapped onto the platonic solids.
As I've explored the worlds that I can create with this model, it has helped establish, that for myself, what is more interesting is the virual playground created through the objects invoked. As a result, I see some interesting avenues for exploration, which focus more on this aspect than the interaction.
I'd like to take this idea forward, by building a more substational toolkit for bringing together different building blocks like the emitter dish, attractors, prisms etc - and allowing more options for creating both simpler, and more complex world, which have the potential for immense richeness.
There are many options for rendering as well - for example where the particles are rendered as points in an OfMesh, I tried some experiments where the Packet particles were rendered as lines - which created some interesing and different effects. Creating a harsh, strawlike emission, which resolved into the points of the corpuscles.
As mentioned in the technical section, there are a number of immediate opportunities for optimisation, especially in moving load to the GPU for particles, and this would enable a greater number of pareticles to be rendered.
A lot of learning from this project
The biggest disappointment is just not being able to implment a responsive enough set of objects via pose control, I suspect this is more down to needing a lot more fine tuning and thinking about approach. It would perhaps be useful to try and normalise the body position, not just into the capturing frame, but also around a centre point, and sized for the points of interest. I did attempt to rig the shapes and the pose features, using a force directewd network, but the results were not satisfactory
Although individual items are straightforward, they become extremely complex in behaviour ver quickly, and whilst this is one of obvious attactions of the piece, it required, much, much more tuning than I ever expected, as well as "debugging" of world phsyics where particles do not behave as expected. There are however some amazing examples of how these have led to some beautiful unintended consequences - especially when particles emerge from the prism at a very slow velocity, resulting a huge sun like build up of particles which, because of differences in mass of different colour particles resolve out slowly through differenent waves of colour.
Ultimatly as an interactive piece in its initial design, I feel the work fails, as it's not a compelling interaction - however as virtual playground of faux physics, it's a delight to play with.
Although no direct references, this project has made a lot of use of the technicaues learnt and demonstrated in Andy Lomas's course, Computational Form and Process, and the Particle Lab code was often looked at to remind myself of certain principles and approaches.
Posenet for Installations: https://github.com/oveddan/posenet-for-installations