I spent time experimenting with typography, color, simulations (particles, springs, and fluid dynamics), audio inputs, and simple rule-based systems. The images shown here are the result of months of coding, tinkering, and refining algorithms to create generative typography.

After initially exploring typography and dynamic systems in November 2010, I began experimenting with color, inspired by Paul Smith’s vibrant palette. Although I have always embraced a minimalist aesthetic and often used monochromatic color schemes, I found that incorporating color added a playful personality and made the compositions more visually engaging. The image below is an example of a simple particle-spring simulation. The particles melt downward due to gravity but remain bound together by springs. When color is applied, the visual effect transforms, evoking the appearance of an abstract oil painting.

The first experiment involved building on my previous work by making the system responsive to audio. I began by converting the outline of a phrase—often using “REZA” (a nod to my graffiti design roots), “P5,” or the name of the music artist I was listening to—into a series of vector points. I then transformed these points into particles and connected them with springs. From earlier experiments, I found that if the rest distances of the springs are set very short and gravity is applied to the particles, the system visually simulates the effect of paint dripping—especially when the background is not cleared between frames. See the example below:

The audio buffer directly influenced each particle’s velocity. Each particle was assigned a specific sample from the audio buffer, and the sample’s value (ranging from -1 to 1) was used as a scalar for the particle’s velocity vector. This created a subtle vibration within the composition, effectively visualizing the song’s waveform as if it were superimposed on the outline of the type. With background clearing turned off, the effect generated an aesthetically pleasing history of the waveform, resulting in a dynamic, layered visual. Below is an image of the word “BJORK”—my favorite example from these audio-responsive typography experiments.

The second experiment involved using a fluid field to influence the movement of the particles. I started by placing the particles in the composition and connecting them with springs, as described earlier. Then, I applied a fluid simulation—based on Jos Stam’s Real-Time Fluid Dynamics for Games paper—to affect the particles’ velocities. I interacted with the fluid by moving the mouse around, creating dynamic currents within the field. Since the particles were interconnected with springs, the type’s outline transformed into a multicolored brush, which I used to “paint” with fluid-like strokes. See the image below for an example of this fluid-type painting:

The third experiment extended the previous two experiments by adding behaviors to the particles, such as going back to their original birth position and physical forces like gravity and repulsion. This resulted in what I call a “fluid melt”, where a composition melted, from this to this to this.

The fourth experiment involved assigning the particles a mission and a set of simple rules to guide their behavior. In this scenario, there were no fluid fields or audio inputs influencing their movement. Instead, each particle was tasked with tracing a path defined by the type’s outline. If a particle came close enough to its target point on the path, it would then aim for the next point. One key rule the particles had to follow was to avoid colliding with other particles while navigating toward their target positions. This resulted in a final visual composition that resembled a bold bubble font, as the particles simultaneously sought to reach the path and avoid each other.

he fifth experiment inverted the approach of the previous experiments. I started by arranging strips of particles and springs in 3D space to form a mesh-like grid. Then, a tracer was used to outline the type. The particles repelled away from the traced path, with the repulsion strength proportional to their distance from it. An exponential decay function was applied to refine the effect, resulting in the final visual aesthetic shown below.

I would share the code for these experiments, but after a certain amount of algorithm refinement and code tweaking, the work starts to reflect more of my personal style and design sense rather than purely technical implementation. The systems used to create these images are relatively straightforward: springs, particles, typography, and color. For those interested in exploring similar concepts, I highly recommend checking out toxiclibs—although I didn’t use it for these experiments, it’s an excellent library for achieving similar effects. I used PeasyCam for 3D camera control and Geomerative for extracting the type’s outlines.

Designer & Developer: Reza Ali 
Output: Print & Custom Software (Java, Processing)
Year: 2012