Professor John Lansdown.
Centre for Electronic Arts,
Middlesex University,
London, UK.

Computer-Generated Choreography Revisited
Click for Audio Statement. (aiff 179k)

Computer-Generated Choreography Revisited

John Lansdown

Centre for Electronic Arts

Middlesex University


After briefly reviewing the ways in which computers have been used in choreography and more general body modelling, the author goes on to describe his own work on using computes to choreograph dances by rule based techniques. This work, which extends over a period of over twenty-five years, has resulted in many theatrical performances in the UK, continental Europe and Australia.


Given its status as a pre-eminently human art form, the association of dance with computing has a surprisingly long history extending back almost to the time that access to computers became generally available. Jeanne Beaman and Paul Le Vasseur used a computer to choreograph a dance as far back as 1964 (Beaman 1969). Michael Noll's computer-generated film of stick figures dancing is about thirty years old (Noll and Hutchinson 1967). My own work--which has been intermittently developing throughout the period with many performances, notably by Another Dance Group, but including the Royal Ballet School, Mobile,and The One Extra Company of Sydney Australia--started in 1968. Both the changes and the fixed points of this work over this period can be seen in Lansdown (1969, 1970, 1973, 1977, 1978, 1990, 1992, 1993).

Computers in dance.

There are a number of different strands to the use of computers in dance-related fields which include:

* assistance in notating dances.
* illustrating dance movements.
* studying or teaching aspects of human movement.
* creating computer animations.
* choreographing dances.

Human body modelling

Related to all this, but having a more general application, is the enormous research and development effort that has gone into modelling the human body and its movement. The early versions of this work were financed largely by the US military and NASA (for example, Dempster1955; Huston and Passerello 1971) and were initially prompted by ergonomic design considerations for spaceships, spacesuits and aircraft. The seminal 'Boeing man' by William Fetter (1968) for instance, was an ergonomic figure and is one of the most memorable and iconic images of the early history of computer graphics. However, unlike the less beautiful but more useful, 'SAMMIE' (Bonney et al 1972; Kingsley et al 1981) the Boeing man was articulated only above the waist.

Research in human body form and movement modelling also embraces vehicle crash simulation (Bartz 1973; Chaffin and Snyder 1973; Wilmert 1975, 1982; Badler, O'Rourke and Toltzis 1979), general ergonomics (Dreyfuss 1967; McCormick 1970), sports biomechanics (Plagenhoef 1971; Nelson and Morehouse 1974) and robotics. The latter subject is the main source of the mathematics of inverse kinematics that has made computer modelling of human movement now so accessible(1). Roozbazar (1973) gives a summary of human body modelling up to the beginning of the 1970s.

Synthetic actors.

Much work is still supported by military funding-- for example, two interesting research items, the intriguing 'Virtual Sailor' training project (Chen et al 1993) financed by the Office of Naval Research, and a new approach to motion control using genetic algorithms by Gritz and Hahn (1995) which is supported by NASA. Since the late 1970s, however, probably the main impetus for body modelling has arisen from the needs of the computer animation, computer graphics and special effects industries (Magnenat Thalmann and Thalmann 1987, 1993; Girard 1987). The aim of some of this work is to create 'synthetic actors' who will stand in for the real actors in situations where dangerous or impossibly difficult work is needed. Alternatively, they can be used where circumstances require a reshoot of scenes and the original actors are unavailable.

Choreographic uses of computing

Many choreographers use a dance notation either of their own devising or one of the standard forms, of which Benesh, Labanotation and Eshkol-Wachmannare the most usual (2). Unlike music composers, however, choreographers tend to use notation not to create a composition but usually to record or to make notes on an already composed one. There are, indeed, a professional group of people, known as choreologists, whose job it is to notate existing dances and to assist in the recreation of historic works from notation. The Dance Notation Bureau's work in recording important works from the recent past is especially significant in this regard (see, for example, Topaz, Floyd and Grandy 1975).

Computer-supported notation .

Notating a dance is not a simple process and some effort has been put into examining the possibilities of using computers to assist in the work (Eshkol et al 1970; Keen 1973; Wolofsky 1974; Brown and Smoliar 1976; Barenholtz et al 1977; Smoliar and Weber 1977; Singh et al 1983). However, most attempts seem to have floundered before they evolve into really useful notational tools. (As I found in the late 1960s-- after working for a while with Rudolph Benesh--this is probably because of the 80-20 rule. That is to say, it is relatively easy to put about 80% of any of the notations into computable form. The difficulty arises with the remaining 20%. To be really useful, however, a notation program has to be complete). Thus I know of no system that is used on a day-to-day basis by choreologists.

Dance Notebook

Kavanagh (1993) and Kavanagh and McNamara (1994) describes a prototype multimedia program, 'Dance Notebook' that, by use of video and the Life Forms&tm; program, allows choreographers to annotate aspects of their dances and to act as a 'sketchbook' for choreographic ideas.

Notation as input.

Politis and Herbison-Evans (1985) describe a program aimed at easing the burden of configuring the limb positions of computer body models (for animation and notation-testing purposes). They do this by the use of Benesh notation as the input language. Undoubtedly the problem of describing positions to body models is a difficult one but I do not think it is made very much simpler by this approach. There are two reasons for this: the first is that, while theoretically Benesh, Laban and Eshkol movement notations are capable of describing positions and movements to almost any desired degree of detail, in normal conditions all of these notations require some element of interpretation for their effective use. Humans can make these interpretations: computers can't (at least, not today they can't). The second is that, unless one is a well-trained choreologist, it is very hard to use the notations with fluency--especially when one wants to describe unusual or non conventional body positions or movements.

Fast interaction

Although these, too, are not without their difficulties, the two remarkable interactive Macintosh programs, Life Forms&tm; (MacroMind 1992; Calvert et al 1993) and Poser&tm; (Mathis-Meltzer 1995) seem to me to provide rather better approaches to setting body part positions than a notation-based system and give further proof of the maxim--shown by Brady (1986) to have some significance in the field of computer aided design--that very fast interaction capability is often the cure for many otherwise apparently intractable problems (3).

Difficulties with notation.

I abandoned using conventional movementnotations quite early in my work. My purpose was (and still is) to use algorithmic means for devising dances and notation was to be instrumental in conveying computer-generated instructions to the dancers. However, none of the dancers I worked with were familiar with Benesh, or any other, dance notations and it was necessary to find other output conventions that were more readily understandable .

Choreographing Dances By Computer

Given that we wish to use computing to create a dance by program rather than simply by using the computer to assist in notation, two basic methods are open to us. One is to have a more or less clear idea of the dance we wish to create and then devise an algorithm or algorithms to realise it. We can call this, the 'computer-assisted approach'. The other is to have a more or less clear idea of the algorithm we wish to create and then to see what sort of dance it produces. We can call this, the 'computer-generated approach'. Clearly, these are entirely different and my interest in the last 25 years or so has been in the latter rather than the former approach. (Of course, in practice--because I have been choreographing for particular groups of dancers each with their own special skills, limitations and requirements, as well as for particular situations and venues--I have used essentially a mixture of both approaches. The bias, however, has been very much toward the computer generated rather than the computer-assisted approach).


In the early days of this work (1969-1972) I aimed to produce computer-generated scores that gave complete instructions to the dancers (in the way that a notated script of an existing dance would). After some experimentation, however, I found that the most satisfactory method to the dancers was to provide them with a computer-generated framework within which they could 'compose' their own dance.

That this was also an easier process from the point of view of computer programming was only part of the motivation for working this way. My main reasons in embracing this method were two-fold. First, it was almost the antithesis of conventional choreography where dancers often feel that they are pawns in the hands of the manipulative choreographer--required to do exactly as he or she requires and having only an interpretive, non-creative, role to play. Second, that it conformed to the more general participative, co-operative and interactive, non-auteur, ideas of art and design that I strongly believe in. The various and many dancers I work with seem to appreciate the opportunity for creative participation that the method affords.

The dance script

Unless some experimental and highly interpretive scheme is involved (as, for example, in Figure 1, in which only the most rudimentary framework of instructions is set out), a dance script probably needs to contain descriptions of three basic elements:

* the relationships of the body segments of each dancer.
* the relationships of the dancers to each other and to the dance space.
* the quality, form and timing of the movements of each dancer

My scripts tend to include only the first two of these elements together with timing details.

Over the years, however, the output from my dance programs has gone through a number of experimental transformations--from stick figures to more or less pictorial depictions and Lansdown (1993) outlines some of these transformations

(Click to enlarge
then BACK to return)

Fig 1. Reconstruction of part of Touching 2 script showing abstract symbols to be interpreted by the dancers. A script such as this gives no more than the merest suggestion of a dance and lies at the opposite end of the spectrum to a fully notated work

As indicated in Figure 2, it now comprises a 'comic book-like' presentation of frames depicting those elements that are contributed by the computer program.

(Click to enlarge
then BACK to return)
Fig 2. A fragment of a recent dance script.

Appendix 1 gives details of how this is to be interpreted

Each frame indicates the 'peaks' of a particular movement and, as Appendix 1 makes clear, the dancers are to interpolate the movements between these peaks. Using the vocabulary of animation, the pictures indicate 'key-frames' and the dancers are to compose the 'in-betweens'. Although it is possible to use this form of output to give more complete instructions (by using the computer to inbetween more frames and by shortening the number of beats between each frame so that only direct interpolation is possible), experience suggests that dancers appreciate time to develop movements between peaks in their own styles and within their own competencies. To put the dancers under more creative and physical tension, however, I have sometimes made the timing between frames almost impossibly short. In normal circumstances) though, the programs decide the timing between frames to coincide with cues in the accompanying musical score (to assist the dancers in synchronising movements with each other and the beats) and to allow adequate time to move from one body position to another or between one stage position and the next.

It is important to note that the script is a notation; the images are there to indicate the body forms to the dancers and are not necessarily the views that the audience sees (Figure 3).

(Click to enlarge
then BACK to return)
Fig 3. Showing how the direction of facing gives the (front facing) audience a somewhat different view of the body forms than is indicated in the script. Combined with different spatial positions and perspective, even the same configuration in consecutive frames is likely to take on a different aspect to the viewer

The source of script images .

At the outset of this work my computer programs generated the body relationships directly in Benesh notation. The frame-type output, however, demanded another approach (4). The method chosen was for the programs to select from a repertoire of about 100 (now nearly 250) stored configurations. These configurations were derived from a number of sources including photographs of poses set by the dancers, drawn figures, the output of various computer models, and published photographs (the latter accounting for the fact that some of the configurations might vaguely remind one of the work of Doris Humphrey, Martha Graham and others). One effect of this approach is that the configurations in various styles accumulate over the years and can vary from the conventionally balletic to the everyday, giving the whole a somewhat eclectic feel.

(Click to enlarge
then BACK to return)
Figure 4 showing forms of representation circa 1989-1995


Figure 4 shows the different forms of representation that the configurations have taken in the last few years. Figure 4 (a) indicates the format circa 1989-1991. This comprised scanned-in images from photographs, from drawings, or from hand-treated computer model output. Figure 4 (b) shows the Life Forms format circa 1992-1994. Figure 4 (c) shows the current Poser format.

Stages in Dance Generation

Typically, generation of a dance script entails writing a program having the broad stages shown in Figure 5.

(Click to enlarge
then BACK to return)
Fig 5 Broad stages for generating a dance

In the language of the vocabulary, grammar, selector, interpretation (V, G, S, I) model of Lansdown (1995), the vocabulary of this process is the set of configurations (currently about 250), directions of facing (8), and stage positions (9). Thus, for any one choice, 250 x 8 x 9 = 18000 different arrangements are possible (5). The interpretation is partly in the hands of the dancers and partly provided by the sections of the programs that, after the choice of body configuration, check it to determine exactly what to do next and thus turn the algorithm into a potential dance rather than, say, a set of numbers. The grammar and selector are generally built into the choice algorithm and vary from dance to dance and, sometimes, within sections of the dance. It is the devising of these elements that, to me, presents the greatest challenge and interest and is, indeed, the raison d'etre of the work. Essentially, the aim is to explore new and different forms of 'narrative' in dance.

I can see a parallel in this with the view that Peter Greenaway has about cinema (Greenaway 1994: pp l2-13): 'Why has the cinema associated itself with the business of story-telling? Could it not profitably exist without it? My cinema experiments with numerical systems, alphabetical sequence, colour-coding, have all been attempts to dislodge this apparently unquestioned presumption that narrative is necessary and essential for cinema to convey its preoccupations'.

The experiments that I have made with numerical systems, musical analogies, proportional and mathematical methods in dance have a similar motivation.


It is clear that computing can assist choreographers in a number of ways although there is much to be done to make computing systems more congenial to their potential users. In particular, it is worth considering whether it is time to introduce a new movement notation based on up-to-date movement studies and more compatible with computer modelling than existing systems. Obviously the pictorial notation that I use, while useful in its context, is not more generally applicable.

It would be nice, too, to see more use made of the algorithmic approach to choreography. I believe I have shown that it has potential and that it does bring about new forms of 'narrative' in dance.


1. Standard, or forward, kinematics allows one to circulate the positions of the joints and limbs of an articulated figure if one knows their angles of rotation. More usefully for body modelling, inverse kinematics allows one to calculate the angles of rotation needed to achieve a desired configuration of joints and body parts. Schilling (1990) is a good introduction to the ideas of inverse kinematics in robotics while Korien and Badler (1982), Girard and Maciejewski (1985) and Badler, Phillips and Webber (1993) deal with applications to human body movement. Anyone wishing to understand the intricacies of human body movement modelling will need to understand the details of inverse kinematics

2 A good reference to Benesh notation is Benesh and Benesh (1956), to Labanotation is Hutchinson (1954), and to Eshkol-Wachmann is Eshkol and Nul (1968). Hutchinson-Guest (1984) discusses dance notation generally .

3 .In both programs referred to the position and angles of rotation of body parts and the whole figure are set interactively by means of dials and sliders with virtually immediate visual feedback from the body model. The use of inverse kinematics in Poser also allows one to click and drag body parts into correct orientations.

4 This is because, until recently, developments in human body modelling were not sufficiently advanced to allow direct output of appropriate pictorial images of the figures. Although it is still not possible to set Poser parameters by program, it is possible to program parameters for Swivel 3DTM models and, to a certain extent, for Life Forms figures, too (MacroMind 1992). Future versions of my programs will exploit this capability more fully.

5 This is a substantial number. For comparison: the size of vocabulary of English words of an eleven year old child, for example, is only about 5000 words and a good paperback dictionary has only about 40000 head-words in it. 40000 words is also about the same size as the vocabulary of a BBC news reader. About 5000 words account for 95% of everyday speech.


Balder IN, J and H (1979) 'A spherical representation of a human body for visualising movement', IEEE Proceedings (67) 10 pp l397-1403

Badler NI, Phillips CB and Webber CB (1993) Simulating Humans: Computer Graphics Animation and Control, OUP, New York

Barenholtz J, Wolofsky Z, Ganapathy I, Calvert TW and O'Hara P (1977) 'Computer interpretation of dance notation', In Lusignan S and North JS (eds) Computing in the Humanities, University of Waterloo, Waterloo, pp235-240

Bartz JA (1973) 'Validation of a three-dimensional mathematical model of the crash victim', In King WF and Mertz HJ (eds) Human Impact Response: Measurement and Simulation, Plenum, New York, pp345-379

Beaman J (1969) Computer choreography, Dance Horizons, New York Benesh J and Benesh R (1956) Introduction to Benesh Dance Notation, AC Black,London.


Bonney MC, Schofield NA, Roberts EA, Evershed DG, Hughes BJ and Vasilevskis A (1972) 'Ergonomics in design using a computer man and conversational graphics', International Journal of Production Research (10) 4 pp313-323

Brady JT (1986) 'A theory of productivity in the creative process', IEEE Computer Graphics and Applications (6) 5 pp25-34

Brown MD and Smoliar SW (1976) 'A graphics editor for Labanotation', ACM Computer Graphics (10) 2 pp60-65

Calvert T, Bruderlin A, Dill J, Schiphorst T and Welman C (1993) 'Desktop animation of multiple human figures', IEEE Computer Graphics S Applications (13) 3 ppl8-26

Chaffin DB and Snyder RG (1973) 'New advances in volitional human mobility simulation', In King WF and Mertz HJ (eds) Human Impact Response: Measurement and Simulation, Plenum, New York, pp333-344

Chen DT, Pieper SD, Singh SK, Rosen JM and Zeltzer DL (1993) 'The virtual sailor: An implementation of interactive human body modelling', In Caudell T (ed) IEEE Proceedings of the Virtual Reality Annual lnternational Symposium, IEEE, Piscataway, pp429-435

Dempster WT (1955) Space requirements of the seated operator, Wright Air Development Centre, USAF Wright-Patterson Air Base

Dreyfuss H (1967) The Measure of Man, Whitney Library of Design, New York

Eshkol N and Nul R (1968) EsZkol-Wachmann Movement Notation: Classical Ballet, Israel Music Institute, Tel Aviv

Eshkol N, Melvin P, Michl J, Von Foerster H and Wachmann A (1970) Notation of Movement, Biological Computer Laboratory Report BCL 10.0, University of Illinois, Urbana

Fetter WA (1968) 'Computer graphics', In Secrest D and Nievergelt J (eds) Emerging Concepts in Computer Graphics, WA Benjamin, New York, pp397-418

Girard M (1987) 'Interactive design of 3D computer-animated animal motion', IEEE Computer Graphics S Applications (7) 6 pp39-51

Girard M and Maciejewski AA (1985) 'Computer modelling for the computer animation of legged figures', ACM Computer Graphics (19) 3 pp263-270

Greenaway P (1994) The Stairs: Geneva, Merrell Holberton, London

Gritz L and Hahn JK (1995) 'Genetic programming for articulated figure motion', Journal of Visualization and Computer Animation (6) 3 ppl29-142

Huston RL and Passerello CE (1971) 'On the dynamics of a human body model', Journal of Biomechanics (4) pp369-378

Hutchinson-Guest A (1984) Dance Notation, Dance Books, London

Hutchinson A (1954) Labanotation: The System for Recording Movement, Theatre Art Books, New York

Kavanagh P (1993) Dance Notebook: A Tutoring Program for Dancers using Multimedia, Unpublished MA Information & Graphic Design Thesis, De Montfort University, Leicester.

Kavanagh P and McNamara A (1994) 'Dance Notebook: Multimedia technologies for dance', Proceedings Eurographics UK conference, Oxford

Keen J (1973) Movement, Unpublished Thesis, Basser Department of Computer Science, University of Sydney, Sydney

Kingsley EC, Schofield NA and Case K (1981) 'SAMME: A computer aid for man machine modelling', ACM Computer Graphics (15) 3 ppl63-169

Korein JU and Badler NI (1982) 'Techniques for goal-directed motion', lEEE Computer Graphics & Applications (9) 2 pp71-81

Lansdown J (1969) 'Computer Generation of Dance with Benesh Notation',Event One Catalogue, Computer Arts Society, London.

Lansdown J (1970) 'Computer art for theatrical performance', In Proceedings ACM International Computing Symposium, ACM, Bonn, pp715-735

Lansdown J (1973) 'Computer Dances', Programme notes, Interact, Computer Arts Society, London pp7-8

Lansdown J (1977) 'Computer choreography and video', In Lusignan S and North JS (eds) Computing in the Humanities, University of Waterloo Press, Waterloo, pp241-252

Lansdown J (1978) 'The computer in choreography', Computer (11) 8 ppl8-31

Lansdown J (1990) A/C/S/H/O: A computer composed dance score, commissioned by The One Extra Company, Sydney, Australia

Lansdown J (1992) 'Writing programs to dance to', Proceedings BCS Computers and Music Conference, London (also Working Paper, Centre for Electronic Arts, Middlesex University, London)

Lansdown J (1993) 'Using the computer to augment creativity: Computer choreography' In Creativity and Cognition Conference Proceedings, Loughborough University 15pp (also Working Paper, Centre for Electronic Arts, Middlesex University, London)

Lansdown J (1995) 'Artificial Creativity: An algorithmic approach to art', In Proceedings Digital Creativity Conference, Brighton 6pp (also Working Paper, Centre for Electronic Arts, Middlesex University, London)

MacroMind (1992) Life Forms User Guide, MacroMind-Paracomp Inc, SanFrancisco

Magnenat-Thalmann N and Thalmann D (1987) 'The direction of synthetic actors in the film Rendezvous a Montreal', IEEE Computer Graphics and Applications (7) 12 pp9-19 :

Magnenat-Thalmann N and Thalmann D (1993) 'The world of virtual actors', In Magnenat-Thalmann N and Thalmann D (eds) Virtual Worlds and Multimedia, Wiley, Chichester, ppll3-126

Mathis-Meltzer M (ed) (1995) Poser User Guide for Macintosh, Fractal Design Corporation, Santa Clara

McCormick EJ (1970) Human Factors Engineering, McGraw-Hill, New York

Nelson RC and Morehouse CA (1974) Biomechanics lV, Macmillan, London

Noll AM and Hutchinson A (1967) 'Choreography and computers', Dance Magazine (41) pp43-45

Plagenhoef S (1971) Patterns of Human Motion: A Cinematographic Analysis, Prentice-Hall, Englewood Giffs

Politis G and Herbison-Evans D (1985) 'A computer graphics interpreter for Benesh movement notation', In Hvistendahl H (ed) Ausgraph85 Conference Proceedings, Australian Computer Graphics Association, Brisbane, pp28-30

Roozbazar A (1973) 'Biomechanical modelling of the human body', In Proceedings of the 17th Annual Meeting on Human Factors Society, Human Factors Society, New York, ppl81-191

Schilling RJ (1990) Fundamentals of Robotics: Analysis and Control, PrenticeHall, Englewood Cliffs

Singh B, Beatty JC, Booth KS and Ryman R (1983) 'A graphics editor for Benesh movement notation', ACM Computer Graphics (17) 3 pp51-62

Smoliar SW and Weber L (1977) 'Using the computer for a semantic representation of Labanotation', In Lusignan S and North JS (eds) Computing in the Humanities, University of Waterloo, Waterloo, pp241-252

Topaz M, Floyd J and Grandy M (1975) Readings in Modern Dance, Dance Notation Bureau, New York

Wilmert KD (1975) 'Occupant model for human motion', Computers and Graphics (1) 1 ppl23-128

Wilmert KD (1982) 'Visualising human body motion simulations', IEEE Computer Graphics S Applications (2) 9 pp35-38

Wolofsky Z (1974) Computer Interpretation of Selected Labanotation Commands, Unpublished MSc Thesis, Simon Fraser University, Vancouver

Appendix 1: The notes attached to the A/ C/ S/ H/ O script.

(this dance for a group in Australia, was dealt with entirely remotely).

General Notes for Dancers on the Computer-Composed Scripts

1. The scripts show 'snapshots' of the dances at particular points and you have to compose (not improvise) the movements to connect the snapshots. Generally, you must not think of the snapshots as poses but simply as positions that must be passed through or reached.

2. Each snapshot is drawn to indicate the positions to you. They do not necessarily show the positions as they might appear to the audience. This is because the direction of facing (indicated by an arrow at the bottom left of each frame) will affect what the audience sees (Figure 1).

(Click to enlarge
then BACK to return)

Explanation of symbols on frames

Figure 1 showing details of frame symbols

3. Also indicated are the frame number (just for reference), the stage position and the number of bars or beats that have to be counted from frame to frame. The possible stage positions are shown in Figure 2.

4. The counts are there as an indication of how much time you have to pass through the position. You can pass through the position at any time during the count (or, where appropriate, you can hold the position for the full number of beats or bars.) Whether you are to count beats or bars is indicated at the start of each script. Often the time is too short to do anything more than move from one position to another. Where more time is available you are at liberty to make any composed movement to link positions.

5. Each section of the dance has one or more sheets of script. Sheets are numbered consecutively but sheets with the suffix a,b,c,d,e and so on indicate that these parts are to be performed simultaneously. (Thus, for example, pages 1,1a, and lb indicate that the three scripts are to apply together.)

(Click to enlarge
then BACK to return)

Figure 2 showing possible stage positions

6. Dancers are given the numbers 1, 2, 3 and so on. For any one section dancers are to retain their numbers but it is not necessary, say, that dancer 1 in one section be the same person as dancer 1 in another section.

7. When two dancers are shown together in a frame, one of them is indicated in hatched drawing. This distinction is purely diagrammatic to make the positions clearer. It is not necessary that the hatched dancer in one frame be the same one in a following frame.

8. Remember that the computer has given you a framework within which you are to compose the dance. Do not feel inhibited if you want to make changes: the computer won't mind at all.



To the Cyberbridge Gateway