Computer Animation of the Merrilyn

Don Herbison-Evans ,
written 11 August 1999, updated 31 October 2012, 27 May 2017

Author with partner
Anna Piper
dancing the Merrilyn,
Bar 4, Beat 3.


The NUDES animation language has been augmented with commands to shift figures or rotate body parts so as to contact some other nominated part of a figure. This has allowed the writing of a complete NUDES script for a synthetic pair of male and female figures to dance a 16 bar Slow Foxtrot Australian New Vogue sequence dance (the Merrilyn), with the figures maintaining appropriate body and hand contacts as they separately dance their steps. The animation may be displayed in 3D with controls for speed, viewpoint and zoom, to provide a display useful for students wishing to learn the dance.

The resulting animation (810 KB) demonstrates a number of interesting artifacts. At several points in the dance, a limb of one of the figures was found to pass through one of the limbs of the other. Also, the figures lack body flight, the lack of which is common in beginners learning to dance. They also "rattle", having an inconstant contact with each other. This appears to be an artifact of the method of maintaining contact between figures with different length legs.


The NUDES system (Numerical Utility Displaying Ellipsoid Solids) is a general computer animation system for figures that can be composed out of ellipsoids [1]. In the past, this has been used for the animation of molecular models, gorillas [2], horses [3], kangaroos [4], butterflies and caterpillars [5], and humans [6]. The system has commands for scaling, spinning, and shifting parts or the whole of one or more figures, and for each movement to be distributed over a specified set of frames in the animation in a specified way (e.g. linearly or quadratically). It is written in the 'C++' language for use on a PC, and the source code is freely available (using the OpenGl graphics library).

The Merrilyn is an Australian New Vogue Dance [7] choreographed by James Fahey in the 1940's and named after his daughter [16]. It is danced by a male and female couple (usually) to 16 bars of music in Slow Foxtrot rhythm. It has been approved as a Championship Dance by DanceSport Australia.

The New Vogue dances are sequence dances choreographed in Australia through the middle of the Twentieth Century. They are now popularly performed in clubs and halls around the country, typically at regular weekly social dances. Many hundreds of New Vogue dances have been choreographed to various rhythms by various Australian dancers, but 15 were formalised in 1979 and are now approved by Dancesport Australia for Dancesport Championships [8]. The Merrilyn is one of these championship dances which is relatively simple to learn, yet elegant to perform, and pleasant to watch.


The NUDES system is a "Numerical Utility Describing Ellipsoid Solids". Ellipsoids are convenient curved three-dimensional primitives which can be easily stored and manipulated by computer. Each ellipsoid can be specified by the 3 coordinates of its centre, its 3 semiaxis lengths, its 3 Eulerian angles of orientation (or the equivalent quaternion or matrix), and either 3 primary colours or an image to be texture mapped onto its surface. The ellipsoids may be jointed together, the joints being specified by a topology list (specifying for each joint which two ellipsoids meet there) and a set of the 3 coordinates of each joint. A set of joined ellipsoids constitutes a figure, and a scene may contain one or more figures.

Figures and scenes may be conveniently generated using an interactive editor, but for animation, they need to declared at the start of the NUDES script. The script developed here has 3 figures: Frank and Gloria (the dancers), and a room to dance in (with a patterned floor). The room was necessary because if the dancing figures are viewed closely enough to see details of their movement, they dance out of the viewing frame after a few steps. Thus the viewing frame needs to track along with the dancers. But then, if there is no external reference, it is not obvious that they are locomoting at all. Thus the floor of the room provides this external reference to allow us to see the dancers progress.

In NUDES, individual ellipsoids, parts of figures, whole figures, or the whole scene may be changed in colour, scaled, moved, or rotated, by the various NUDES script commands. These actions correspond to a kinematic description of required movements, similar to those in van Overveld's GDP [9]. Over a given set of frames of the animation, specified actions may be repeated, or distributed linearly (constant velocity) or accelerated uniformly or decelerated uniformly, or distributed quadratically (giving an accelerate/decelerate cycle) [10]. Primitive arithmetic calculations can also be performed in the NUDES script allowing simulation of simple kinetically described movements.

Some special NUDES commands make use of the simple mathematical form of ellipsoids.

The 'ground' command allows a figure to be moved so that a specified ellipsoid exactly touches the ground plane. This allows the easy simulation of gravity for figures jumping, falling, or being thrown. With the 'repeat' command, it allows the maintenance of contact between a figure and the ground.

The 'balance' command computes the vertical moments of a set of ellipsoids and rotates them to balance above a specified joint.

The 'touch' command allows a part of a figure to bend at a specified joint about a nominated axis in space to make two specified ellipsoids just touch (or come to their closest point of approach). This command can be used with the 'repeat' command to maintain contact, or with other temporal distributions to create other effects (e.g. clapping).

The 'abut' command allows a figure to be moved so that a specified ellipsoid exactly touches another specified ellipsoid of some other figure. Again, the 'abut' command can be used to maintain contact between two figures while they move, or to create a contact (e.g. catching).

The 'abut' and 'touch' commands are both implemented using the algorithm developed by Buckdale, which calculates the distance between an arbitrary point and the surface of an ellipsoid [11]. The ellipsoid is transformed into a sphere for the calculation, and the distance found between its centre and the point. Buckdale extended this to find the distance between two ellipsoids by transforming one into a sphere, and finding the distance of the nearest point on the surface of the other transformed ellipsoid from the centre of the sphere. This distance is then compared with the sphere radius.

The display program LINTEL animates the figures in three dimensions, and and so allows the user to pan, rotate, zoom, and vary the speed forward or backward interactively while the animation is running.


The New Vogue dances evolved out of the English Old Time sequence dances brought by colonists to Australia in the Nineteenth Century. But rebelling against the artificial Ballet positions employed in the old time dances, the New Vogue dances emerged with choregraphy based on the then new standard ballroom technique.

The New Vogue dances differ however from standard ballroom dances in being sequence dances: every couple on the dance floor performs the same steps at the same time, and at the end of the sequence, the steps are started again. This makes the New Vogue dances relatively easy to learn, as a beginner can easily copy the movements of adjacent dancers on the floor.

The New Vogue dances also differ from the standard ballroom dances in using many open positions. This makes them more attractive to dance and watch.

The origin of the Merrilyn is controversial. It has been said to have been choreographed in 1964 by Cecilia Marion Misdale in Sydney [12], However, there is evidence that it was actually choreographed by Jim Fahey of Melbourne in 1941 or 1942, and named after his daughter [16]. The choreography was revised and formalised by Neville Boyd OAM in 1979 [8]. It is danced to 4/4 music played at 28-32 bars per minute, such as that used for the Slow Foxtrot. The steps are shown in Labanotation [13] in Appendix 1, produced with an X-Window version of the Labanotation editor LED [15]. A verbal description using abbreviated technical terms is shown in Appendix 2.

Although the steps are easily learned, a characteristic of the Slow Foxtrot style dances is a smooth flowing movement of the body. This can take many years of instruction and practise to acquire.


Sixteen bars at 30 bars per minute and 25 frames of animation per second makes the animation take about 800 frames. Each beat of the music occupies about 12 frames. The dance has some steps which take 2 beats (a 'slow'), some a single beat (a 'quick') and some half a beat ('and'), so the various NUDES actions are spread over 24, 12, or 6 frames as appropriate.

The various steps of the dance were initially written as a set of 26 NUDES movement subroutines couched in terms of a number of variables. Further simple assignment routines allow these movement routines to be used on the left or the right, for the man or the lady, as required.

The dance involves considerable progression along the floor, so that in order for the figures to occupy a substantial area of each frame, the point of view has to progress with the figures. Unfortunately, this has a side effect of making the figures appear to be gesticulating in space. This was rectified by providing floorboards and walls, to create a 'room' figure.

For testing, the male and female figures were stylised to reduce the number of ellipsoids involved in the movements. Thus they have no ears, eyes, cheeks, lips, fingers or toes. The man (Fred Fortran) was composed out of 21 ellipsoids, the lady (Ginger Gigabyte) out of 26, and the room out of 54. More detailed figures have been used in later animations, using Gloria (94 ellipsoides) and Frank (89 ellipsoids), and the room truncated to 28 ellipsoids.


On a black and white bitmap workstation, the NUDES system can produce a series of image files in either "Postscript" or "ppm" format, one for each frame, which may optionally be compressed as they are calculated. In these images, the figures can optionally be portrayed as wireframe line drawings, or line drawings with hidden lines removed (the most compact of the options), or as shaded images, or for a colour display, the images can be calculated in full glorious shaded colour, depending on the time available for computation and storage limitations. To make best use of the primitives available on these workstations, each ellipsoid is approximated for display as a polyhedron: a transformed sphere faceted by a dividing its surface by a number of lines of longitude and latitude. With each number about 20, the figures look pleasantly smooth. The ellipsoids may also be filleted together giving a smoother appearance by using them to create a combined density function, which is then thresholded to find the combined surface. This gives a much more lifelike appearance at the cost of a much extended processing time [14].

The images can be calculated for any viewpoint from any direction of view and for any magnification to make an 'mpeg' file, which can then be displayed by programs such as "Mediaplayer" or "Quicktime".

An extension of this is to calculate the image of each frame from two slightly different angles of view, and to combine these to give a stereo movie, so allowing the user to see the movements in 3D.

animation of man's steps

animation of couple together

animation of woman's steps

Another useful program is LINTEL which uses the files of Labanotation generated by the notation editor LED. The program LINTEL is interactive, allowing the viewing parameters to be altered in three dimensions while the figures are dancing, as well as being able to animate forwards or backwards, at variable speeds or stepping single frames.


One of the side effects of programming each step as a movement subroutine is that in each subroutine, the figures must start and finish at rest. The result of this is that the figures look well controlled and balanced, but have no body flight. This makes them look distinctly like human beginners. This could be an advantage for teaching purposes, allowing beginner pupils to identify more easily with the computed figures. However, considerable work remains to be done to simulate the body flight of advanced dancers.

Another problem stems from programming the figures each to do their own steps separately. When the figures are put together, normal steps and chasses are performed without mutual interference. However, the 'lock' steps initially resulted in the figures passing a leg through a leg of the other figure. Similarly, in the 'breakaway', they each passed an arm through an arm of the other. These problems have been partly solved by looking in detail at how the figures were located while doing these movements. However the results still leave much to be desired, and require more study and experimentation. Also, the hands still do not meet in the breakaway.

Another obvious problem is that the figures "rattle": that is, they do not maintain a constant contact with each other as they move. It is most noticeable where the hands are supposed to be holding each other. The rattle is probably due to their difference in leg length, as Gloria and Frank are of different heights, but need to take steps of the same length. The NUDES language requires movement specifications in terms of angles, and so arranging for the step size to be prescribed is difficult. A method of cheating was employed to overcome this problem: namely, to use the "abut" command to keep sliding Gloria along to maintain contact with Frank. The "rattle" is probably an artifact of this method of cheating. Again, more work is needed on this problem.

The rotary chasses are also very poor. They lack depth and drive. More work is needed on these.

In general, the exercise has demonstrated that we need to understand a great deal more about human movement in order to describe it to a computer. As the problems described above are rectified, a system like this can be a valuable dance teaching tool.


Thanks are due to the staff of the Basser Department of Computer Science at the University of Sydney, to Dr. Kevin Suffern and his students at the University of Technology, Sydney, and to the staff of VisLab, Sydney, for their assistance with this project.


1. 'Animated Cartoons by Computers Using Ellipsoids',
D. Herbison-Evans, Proc. Sixth Australian Computer Conference, Sydney, pp. 811-823 (1974)

2. 'Real Time Animation of Human Figure Drawings with Hidden Lines Omitted',
D. Herbison-Evans, Computer Graphics and Applications, I.E.E.E., Vol. 2, No. 9, pp.27-33 (1982)

3. 'Hidden Arcs of Interpenetrating and Obscuring Ellipsoids', D. Herbison-Evans, Australian Computer Journal, Vol. 15, No. 2, pp.65-68 (1983)

4. 'Some Polyellipsoid Figures',
D. Herbison-Evans, Basser Department of Computer Science Technical Report 317, University of Sydney (1987)

5. 'Caterpillars and the Inaccurate Solution of Cubic and Quartic Equations',
D. Herbison-Evans, Australian Computer Science Communications, Vol. 5, No. 1, pp. 80-90 (1983)

6. 'Computer Choreology Project at the University of Sydney',
G. Politis and D. Herbison-Evans, Leonardo, Vol. 21, No. 1, pp 34-38 (1988)

7. 'Revised Technique of the Thirteen New Vogue Championship Dances',
R. Hesketh, Melbourne, pp.50-53 (1989)

8. 'New Vogue Sequence Dancing',
Neville Boyd, Sydney, Revised Edition, (1984)

9. 'Building Blocks for Goal Directed Motion',
C.W.A.M. van Overveld, J. Visualization and Computer Animation, Vol. 4, No. 4, pp. 233-250 (1993)

10. 'A Finite Difference Algorithm for Achieving Naturalistic Animation',
D. Herbison-Evans, Proc. Tenth Australian Computer Conference, pp. 779-781 (1983)

11. 'Normal Feet for Dancing Ellipsoids',
R.S. Buckdale, Proc. Graphics83, Sydney, pp. 71-76 (1983)

12. 'Dances for Entertainment',
C. Limon and L. Butler, Dubbo, p. 156 (1988)

13. 'Labanotation', A. Hutchinson, Theatre Arts Books, New York (1970)

14. 'Ballerinas Generated by a Personal Computer', S. Yoshimoto, J. Visualization and Computer Animation, Vol. 3, No. 1, pp. 85-90 (1992)

15. ' LED: An Interactive Graphical Editor for Labanotation',
F.E.S. Hunt, G.Politis & D.Herbison-Evans, Basser Department of Computer Science Technical Report TR343, University of Sydney (1989)

16. Private Communication,
Barrie Marr (1999).


The Merrilyn in Labanotation notated using LED (a Labanotation editor)

Note: a machine-readable version of this score for LED and LINTEL is available also.

Music: 4/4; 120 beats/minute, 16 bar choruses.


Verbal description of the Merrilyn

(using some abbreviations).

start: SSH, facing LOD.

step L (S), step R (S), side L (Q), close R (Q), check back L (S),
step R (S), step L (S), side R (Q), close L (Q), check back R (S),
step L (S, 1/8 turn to L), step R (S, 1/8 turn to R),
side L (Q), close R (Q), side L (S),
step R (S, 1/8 turn to R), step L (S, 1/8 turn to L),
side R (Q), close L (Q), side R (S),
step L (S), step R (S), step L (Q), lock R behind (Q),
step L (S, zephyr R),
back R (S), back L (S), back R (Q), lock L front (Q),
check back R (S), step L (S),
step R (S, man turns 1/4 R, lady turns 3/4 R, end COH),
check back L (both) (Q), step R (both) (Q, ending CH),
close L (&, man close WOW, lady close WCW)
3 natural rotary chasses (Q&Q, Q&Q, Q&Q)
back L (S), both turn (S) (end: SSH, facing LOD).