Spaghetti Bones is a celebration of my adaptation and exploration of the differential growth technique. The idea is simple. You start with a string of nodes connected to one another to form a shape. Each node feels 3 forces:
- A repulsion force from all other nodes
- An attraction force towards its immediate neighbors
- An attraction force towards the midpoint between its neighbors
As you add more nodes into the shape, these 3 rules cause the shape to curve into itself, growing into a complex form of layered undulating lines. The goal is to create a shape that fills as much space as possible while maintaining a rigid form and avoiding overlapping itself. By focusing specifically on where and when you add more nodes, and how you interpret those nodes into a shape, there is much variety to be found in this simple algorithm.
Since I first learned about this technique, and wrote my own version based off these rules, I have been continuing to iterate, evolve, and optimize my code. It's an algorithm I always find myself coming back to, and has become my most researched topic and longest running experiment. I love its use of real life physics, and I find its outputs aesthetically pleasing on a deeper, almost instinctual level.
Each output of 'Spaghetti Bones' starts with a simple shape as a seed for the differential growth algorithm. Throughout the rendering process, the shape is fed more nodes, and grows until it cannot find any empty space to fill. As it grows, a form is interpreted from the nodes of the growth and drawn onto the screen, creating a snapshot of the growth at that particular moment. There are many rules that govern how the shape grows, and how its form is interpreted, and these rules often evolve throughout the rendering process. When the render is complete, the resulting image is a full catalog of the history of the shape's life.
The name of this project was created by Nicole, my girlfriend and an art wizard. Early on in the development of this project, I asked her to name an output I was sharing, and she chose to call it ‘Spaghetti Bones’ because that’s what it looked like. Since then, the name has stuck with me. I decided to keep the name for the final project in order to highlight the playfulness of each output, to encourage imagination when viewing this abstract art, and to thank Nicole for being tremendously supportive and helpful throughout my exploration of the art world.