“One Flat Thing, reproduced” is contrapuntal, both in its effect – there are many kinds of alignment in time over the course of the piece – and in its construction, in that there are several themes and kinds of movement material that are repeated and re-combined throughout the dance. The result is a complex, beautiful dance. There is something mathematically interesting about this, in the same way that there is in a Bach fugue; both have complexity (but not disorder) built up from individually simple things. This is worthy of study on its own, but also has practical application: in procedural graphics systems, we are often interested in creating complexity out of simple building blocks, as we see with Reynolds flocking or Perlin noise.
I did not know much about dance before starting to work on this project. I have gained a great appreciation for what one might call the formal beauty of dance – the mathematical structures behind the interplay of dancers, and the geometry of motion. This in turn has helped my more visceral appreciation of dance as well as my understanding of related fields.
In the course of the project, I have had a chance to work with people from many different backgrounds, including dance, animation, computer science, geography, and architecture. Having such an interdisciplinary team has made for a very rich research environment.
When we were developing the interactive counterpoint tool, we tried several different systems in an effort to understand what visual counterpoint was, how it arose, and how best to explain it to others. (We had many discussions around this subject – trying to understand counterpoint from the perspectives of dance, animation and design, and computer science. These early conversations and experiments would be a good subject for another post.) I think the system we have today works well because it is based on simple rules, but has a structure with many opportunities for different kinds of alignments and symmetries. At the same time it is not too regular – the pattern of alignments is unpredictable.
The widget shapes in the tool are based on twelve “clock face” positions. The position for each widget arm is selected randomly from among the twelve. Widgets move from shape to shape within a set timing structure, with times for movement chosen from four different speeds, similar to musical quarter, half, dotted quarter, and whole notes.
Leaving aside movement around the “stage” for the moment, we can see many possibilities for interesting motion and alignments within this structure. Widgets might of course take on matching or symmetric shapes, or move in exactly the same direction at exactly the same speed, and this will happen irregularly due to the random choice involved in the process.
More interestingly, we might see widgets take on similar shapes which are not the same, or follow one another’s shapes with a slight delay, or take on shapes which are related but do not have strict symmetry. (I believe that the choice of twelve positions is a fortunate one – there are many pleasing symmetries within the clock face.) The timing system plays a big role here as we can see layers of shape alignment and speed alignment weave into and around each other.
Even within one creature we can see some small counterpoint. Perhaps two arms move together in one direction at the same speed, while the other arm moves in the other direction, twice as fast – then everything reverses and the arms take new roles. Perhaps two arms form a right angle and are still while the third moves slowly from an acute angle to form a “T”.
Motion about the stage is determined in a similar way, with positions and speeds chosen freely from a structured set. At this level we can work with larger groups of objects and watch for alignments in the way they move together.
The structure of the performing widget system lends itself well to contrapuntal motion. The sliders let us give broad choreographic direction to the widgets, encouraging more or less unison in shape, speed, or movement, or calling for more or less stillness. This gives the user a way to explore and traverse the space of motion, using it to learn and to construct beautiful counterpoint.