Waltzing on a KDF9

Don Herbison-Evans ,   donherbisonevans@yahoo.com
Basser Department of Computer Science (now School of Information Technologies)
University of Sydney, Australia

(updated 19 June 2010)

In 1971, I joined the Basser Department of Computer Science at the University of Sydney. At that time, the Head of the Department (Prof. John Bennett) wanted to start a new course on "Computer Graphics". Being the new boy, I was given the task. It went well, and I started trying to draw some graphic art by computer myself, but got bored with the abstract and geometric forms that dominated "Computer Art" at that time (eg: Sumner, 1968), so in 1972 I started trying to draw people.

Early in 1973, a Sydney Choreographer, Phillipa Cullen, came to the Computer Science Department and talking to Prof. Bennett, she asked a question about a dance notation called 'Labanotation' (Hutchinson, 1954) . She had a book in which were described many interesting dances, but they were listed in Labanotation (Arbeau, 1589) which she did not know. She asked the simple question : "Could a computer program be written to take the notation, and produce animated images of a synthetic figure doing the dance, for then she could copy the movements of the figure and so learn the dance?" Prof. Bennett brought her round to see me, as I was at least trying to draw human figures by computer.

Well, I read some books on the Labanotation and other dance notations and I could barely understand what they were talking about. The only thing to do seemed to be to go and take some Ballet classes. So there I was, a 40+ male with no flexibility or coordination in with classes of beautiful teenage young ladies who could do a quadruple pirouette and kick their leg up to their ear. Quite an experience. Anyway, slowly, I started learning the rudiments of dancing. Later I took study leave and studied Labanotation with Rhonda Ryman, Drid Williams, and Ronne Arnold.

The human body being curved, it is natural to try to draw it using curved primitives. The simplest of these are the quadrics. Thus the "Numerical Utility Displaying Ellipsoid Solids" (NUDES for short) was born (Herbison-Evans, 1979). As John Bennett pointed out, ellipsoids have the great advantage of only requiring the solution of a quartic equation to find where two ellipsoids intersect, where hidden lines start and end. Quartic equations can in principle be solved by fast analytic algorithms, rather than the slow iterative algorithms required to solve general polynomials.

At the time, there were three basic algorithms published for this analytic solution to a quartic equation, each requiring the solution of a different subsidiary cubic equation. For a general quartic equation of the form:

     x4 + ax3 + bx2 + cx + d = 0

the subsidiary cubic can be one of the forms:

  • Ferrari-Lagrange (Turnbull, 1947)

         y3 + by2 + (ac - 4d)y + (a2d + c2 - 4bd) = 0

  • Descartes-Euler-Cardano (Strong, 1859)

         y3 + (2b - 3a2/4)y2 + (3a4/16 - a2b + ac + b2 - 4d)y + (abc - a6/64 + a4b/8 - a3c/4 - a2b2/4 - c2) = 0

  • Neumark (Neumark, 1965)

         y3 - 2by2 + (ac + b2 - 4d)y + (a2d - abc + c2) = 0

    It was soon found that a substantial effort was necessary to choose which algorithm to use under what circumstances (Herbison-Evans, 1995). None are completely satisfactory. It also appears to be an open problem whether there any more possible subsidiary cubics. Since that time, three more have been found. If there only six: why are there are only six?

    At that time, computing was done in Algol on the departmental English Electric KDF9. Graphic output was done at best by printing characters of various complexity on a 120x60 lineprinter page. John Bennett was instrumental in acquiring a Calcomp line plotter, which improved the resolution considerably. Animation was a rather slow process however, requiring the photographing of a series of hard copies of the individual frames with a cine camera.

    The department then acquired a DEC 338 vector display. John Bennett and Doug Richardson put together a solenoid-operated 16 mm movie camera and a set of solenoid-operated colour filters, driven from the display. This made the study of movement possible for the first time. With this came the realisation that not only was the computer graphics full of computational problems, but also getting anything like a lifelike movement was going to take a great deal of study. The 338 was a difficult machine for students to program, and John later replaced it with an Imlac PDS4. This led to a number of projects involving the economic communication of graphic data between machines (Herbison-Evans et al, 1982). It also made possible "Digital Duet", the first pas-de-deux between a live dancer and a computed figure, performed at the closing ceremony of the 10th Australian Computer Conference (Herbison-Evans et al., 1989).

    With an interactive graphic display, it became possible to put together graphical editors for dance notation. At that time, the easiest methods for doing this were unclear, and students experimented with various menu options and other interactive techniques. A dance notation editor was a prerequisite for starting on Phillipa Cullen's simple problem. Several generations of students investigated the writing of a program like this, culminating in LED (Hunt et al., 1979).

    taking step 2 of a waltz
    approximated in Labanotation

    John Bennett then managed to acquire an AED512 raster colour display for the department. Again this added a new dimension to the computing problems that needed to be solved to draw human figures dancing. Networking this to the Imlac and the other computers in the Department, and working out fast algorithms for doing lifelike shading to curved surfaces proved to be great student projects. (Herbison-Evans, 1980).

    reverse turns in the standard modern waltz

    Fred Fortran and Ginger Gigabyte

    Specifying and displaying the motion of a single dancing figure has many computational problems, but these are compounded again in any attempt to display Ballroom Dancing. The closed ballroom hold ideally requires the maintenance of five points of contact between the partners while they are dancing. For the Modern Waltz, these consist of three hand contacts:

  • the man's left hand holding the lady's right hand,
  • the lady's left hand resting on the top of the man's right upper arm,
  • the man's right hand placed on the left shoulder blade on the back of the lady.

    In addition to these 3 hand contacts, there are two more areas of contact:

  • the lady's left elbow rests on the man's right elbow,
  • the right area of the chest of each partner touches that of the other.

    The NUDES animation system has specific commands which make this possible to arrange easily. Again the mathematical properties of quadrics are used for this. Two ellipsoids are specified as being required to be in contact using a translation or rotation of some part of a figure. One ellipsoid is transformed into a sphere, and the other (in transformed space) is moved to have its closest point to the sphere centre be at a distance equal to the radius of the sphere (Buckdale, 1983). This requires finding the smallest root to a sextic equation, the coefficients of which are derived from the parameters of the two ellipsoids.

    Sadly in 1975 Phillipa died, but the simple problem she raised was still an inspiration for many projects. These are now at the point of answering her simple request, with the production of LINTEL : a Labanotation Interpreter. This interpreter takes a file produced by LED, the Labanotation editor, and produces from it a corresponding NUDES animation script, then displays the animation from it on a PC. For gesturing movements, it works by taking each Laban symbol in turn, and setting a new direction in space for the corresponding body part, according to which of the 27 directions in space the Laban symbol indicates.

    The Labanotation symbols for the 27 major directions of space.

    The body part is rotated from its current direction in space to its new direction using quaternions through the period of time specified by the length of the Laban symbol. However, for locomotion, prespecified NUDES subroutines are used. This is necessary because of a difference between the specifications of a single step in normal movement, and a single step in Ballroom Dancing. In normal movement, the start and end of a single step is with the feet closed, but in Ballroom Dancing, a single step is most conveniently specified from open position of the feet to the next open position. The interpreter has to look ahead for other signs in a support column, to ensure that the feet are not closed prematurely after a step is taken. A locomotion routine is used for a movement in each of the eight major locomotion directions of Labanotation (forward, back, left, right, and the four diagonal directions). Other NUDES routines are used to specify whether the movement is done with the left or the right leg according to the position of the Laban symbol on the notation staff.

    The interpreter so far only accommodates locomotion and gestural movements of the arms and legs, and only ground support with the feet. It has serious problems with changing between heel and toe leads of the feet in locomotion, and also with the "lock" step where one foot is crossed behind or in front of the other. Attempts are being made to accommodate eleven of the holds used conventionally in New Vogue Dancing (Hesketh, 1989):

    NOH  - no hold.
    CLH  - closed hold: normal ballroom dancing position.
    PRP  - promenade position: facing partner,
           but both prepared to travel to man's L.
    CPP  - counter promenade position: facing partner,
           but both prepared to travel to man's R.
    DBH  - double hold: facing partner,
           L hand to R, R hand to L.
    OPH  - open hold: facing partner,
           man's L to lady's R, other hands free.
    CRH  - crossed open hold: facing partner,
           man's R to lady's R, other hands free.
    OEH  - open extended hold: both facing same way,
           man's L hand to lady's R, other hands free.
    COE  - counter open extended hold: both facing same way,
           man's R hand to lady's L, other hands free.
    SHH  - shadow hold: both facing same way, 
           L hand to L, R hand to R.
    SSH  - semi-shadow hold: both facing same way, man's L hand to lady's L,
           man's R hand on lady's R hip, lady's R hand free.

    To date, LINTEL can only recognise and implement five of these holds (NOH, CLH, OEH, SHH, and SSH), and then only if the notation is written in a sympathetic form. Nevertheless, the interpreter has already been put to use on the world-wide-web as a way for dance students all over the world to visualise notated dances. The first application has involved the New Vogue dances that are so popular in DanceSport competitions in Australia (Herbison-Evans, 1997).

    Despite its potential for dance, main value so far of the "Waltzing on a KDF9" project has actually been the number and variety of student research projects it has spawned, ranging from investigating the solution of quartic equations (Prineas, 1981) to generating animation of random Hapkido contests (Wilcockson, 1994).

    Throughout their school and undergraduate careers, students are given problems to solve, the answers to which are known. Only when they study for a postgraduate degree are they offered problems for which the answers are not known. One of the main tasks of university academics is to guide their postgraduate students into this unknown, giving them the tools needed for coping with the greatest unknown of all : the future.


    Arbeau, T. (1589) : Orchesography, translated Evans, M.S., Dover Publications 1967, New York.

    Buckdale, R.S. (1983) "Normal Feet for Dancing Ellipsoids", Proceedings Graphics83 (ed.: H. Hvistendahl), Sydney, pp. 71-76.

    Herbison-Evans, D. (1979) "A Human Movement Language for Computer Animation", Language Design and Programming Methodology (ed.: J. Tobias), Springer-Verlag, pp. 117-128.

    Herbison-Evans, D. (1980) "Rapid Raster Ellipsoid Shading", Computer Graphics, Vol. 13, No. 4, pp. 355-361.

    Herbison-Evans, D., Nicholson, T., and Berry, C.B. (1982) "The Transmission and Drawing of Elliptical Arcs", Proceedings: 9th Australian Computer Conference, pp. 497-502.

    Herbison-Evans, D., Adams, T., & Keighery, K. (1989) Digital Duet, Basser Department of Computer Science, Technical Report 338, University of Sydney.

    Herbison-Evans, D. (1995) "Solving Quartics and Cubics for Graphics", Graphics Gems V, (ed.: A. Paeth) Academic Press, Chesnut Hill, pp. 3-15.

    Herbison-Evans, D. (1997) "Australian New Vogue Dancing on the Web", Diverse Dialogues (eds.: W. O'Brien, D. Grasby, M. Brigg and L. Hungerford), Central Queensland University, Rockhampton, pp 189-192.

    Hesketh, R. (1989) "Revised Technique of the Thirteen New Vogue Championship Dances", Clayton Dance Centre, 296 Spring Rd, Dingley, p. 5.

    Hunt, F.E.S., Politis, G., and Herbison-Evans, D. (1989) An Interactive Graphical Editor for Labanotation, Basser Department of Computer Science, Technical Report 343, University of Sydney.

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

    Neumark, S. (1965) Solution of Cubic and Quartic Equations, Pergamon Press, Oxford.

    Prineas, C. (1981) Algorithms for Solving Quartic Equations, Honours Attachment Report, Basser Department of Computer Science, University of Sydney.

    Strong, T. (1859) Elementary and Higher Algebra, Pratt, Oakley & Company, New York, p. 469.

    Sumner, L. (1968), Computer Art and the Human Response, Lloyd Sumner, PO Box 1842, Charlottesville, VA, USA.

    Turnbull, H.W. (1947) Theory of Equations, Oliver and Boyd, London, Fourth Edition, p. 130.

    Wilcockson, A.J. (1994) MATS - Martial Arts Teaching System, Honours Project Report, Basser Department of Computer Science, University of Sydney.