Info: Over the past year I worked on several client projects and got a full-time job (which I am no longer at), which kept me pretty busy. When I did get some time, I ended up experimenting with typography, color, simulations (particles, springs, and fluid), audio-input and simple rule based systems. These images are the results of half a year or so of coding, tinkering, tweaking, manipulating, and massaging algorithms for generative typography. Read more about these images and how these were created.After briefly experimenting with typography and dynamic systems in November 2010, I started to experiment with color after being inspired by Paul Smith’s vibrant color palette. I believe in minimalism, and for a long time I used only monochromatic color palettes. I still believe in minimalism, but utilize color to make things pop and to give them a playful personality. The image below is of a simple particle-spring simulation melting downward because of the effects of gravity, but staying together because of the springs. When color is applied it starts to resemble a matt oil painting.
The first experiment involved extending my earlier experiments to react to audio. I converted the outline of the type of a phrase (usually, I used “REZA” [because of my graffiti design heritage] or “P5″ or the name of the music artist I was listening to while making the work), into a vector or points then convert them into particles and connected them together by springs. My earlier experiments showed that if you make the rest distances of the springs very small and applied gravity to the particles, then the dynamic system visually mimics paint dripping (when the background is not cleared every frame). See below:
The audio buffer influenced each particle’s velocity. Each particle was assigned a specific sample in the audio buffer. The sample’s value (which ranged from -1 to 1) was used as a scalar for the particle’s velocity vector. This created a vibration in the composition which visualized the song’s waveform as if it was super imposed on the type’s outline. If background clearing was off, then it started to show an aesthetically pleasing waveform history, which I liked very much. See the image below of the word “BJORK”, its my favorite out of these audio-responsive typography experiments.
The second experiment involved using a fluid field to push the particles around. I used a similar procedure as written above to place the particles in the composition and connect them via springs, then I used a fluid simulation, which I wrote using Jos Stam’s Real Time Fluid Dynamic for Games paper), to influence the particle’s velocities. I interacted with the fluid by moving the mouse around. Since the particles were connected with springs, the type’s outline became a multicolored brush which I used to paint. See this image for a fluid-type-painting:
The fourth experiment involved giving the particles a mission and simple rules to guide them. No fluid fields or audio-input influenced their movement in this experiment. The mission was to trace out a path (which was the type’s outline). If the particle got close enough to its target point on the path, then it would target the next point on the path. One rule the particles had to abide by was to avoid other particles while trying to get to its target position. The final visual composition resembled a bold bubble font since the particles were trying to avoid each other and go toward the type’s path simultaneously.
The fifth experiment somewhat inverted the approach of the previous experiments. Strips of particles and springs were placed in 3D space to make a mesh like grid of particles. Then a tracer was used to trace out the outline of the type. The particles repelled the traced proportionally to how close they were to it. I used an exponential decay to give the final visuals the aesthetic seen below:
I would post the code for these experiments, however I believe that after a certain amount of algorithm massaging and code tweaking it starts to encapsulate my style and my design sense, not so much my ability to code. The systems used to create these images are fairly simple, springs, particles, typography and color. Anyone who wants to experiment with these things should check out toxiclibs, although I didn’t use that here, its an awesome library for doing so many things, similar to what I have done here. I used PeasyCam and Geomerative for the 3D camera control and getting the type’s outline.
Side Note: Typically, I like to post projects that are a bit more complete, but I am beginning to realize that my projects are never really done, they just evolve, and evolve, and then months go by and I have no time to work on them anymore or even just upload them to flickr or this blog. From now on I will treat this site as a place to post experiments, some client work, and occasionally tutorials on coding, design, generative art, new media, data visualization, web projects, physical hardware, and so on.
Designer & Developer: Reza Ali
Output: Print & Custom Software (Java, Processing)