# Elastic Rods for Fluid Dance Movements Modeling

Manon Vialle, Mélina Skouras, Rémi Ronfard

► To cite this version:

Manon Vialle, Mélina Skouras, Rémi Ronfard. Elastic Rods for Fluid Dance Movements Modeling. AFIG 2021, 2021, Sofia Antipolis, France. hal-04136667

HAL Id: hal-04136667

https://inria.hal.science/hal-04136667

Submitted on 22 Jun 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Elastic Rods for Fluid Dance Movements Modeling

Manon Vialle¹, Melina Skouras¹ and Remi Ronfard¹

¹Inria Grenoble

<figure><img src="image_2.png" /><figcaption>Figure 1: Our model in different poses of the dance</figcaption></figure>

**Abstract**

We present a new abstract representation of choreographic motion that conveys the typical fluidity of modern dances, such as those by Isadora Duncan, better than traditional human-like or skeleton-based representations. Our model is formed by five flexible ribbons joining at the solar plexus and is animated from motion capture data using an optimization-based algorithm.

**CCS Concepts**

•Human-centered computing → Visualization; •Computing methodologies → Animation;

## 1. Introduction

Isadora Duncan's choreography is one of the foundation of modern dance. In her work, Duncan wanted to uncover what she described as "the natural movement". In her definition, natural movement is unrestricted, respecting both the structure of the body and the pull of gravity: "Such movements will always have to depend on and correspond to the form that is moving" [Dun28]. That is, each movement performed is seen through the lens of a dancer's body. In her "natural movement" philosophy, she also expressed that the center of movement and energy is the solar plexus.

Unfortunately, Isadora Duncan always refused to be filmed, because she thought that the frame rate of the camera at the time (about 24 frames per seconds) was not enough to represent the fluidity of her choreography. Therefore her choreographic knowledge was transmitted mostly orally from one generation of Duncanian dancers to another. Although part of her repertoire has been translated into dance notations (such as Laban and Sutton notations), those notations are hard to decipher and not well known amongst the dance community. One can also wonder if the fluidity of her natural movement can be expressed through such succinct notation.

In this paper we propose a graphical model that represents Duncan's danced choreography while staying as close as possible to her movement qualities and philosophy. To this end, we worked closely

with a professional Duncanian dancer from the third generation of Duncan's students. We recorded the expert as she danced several pieces using motion capture at a high frame rate. Through multiple discussions with our expert, we were able to design a model which stays faithful to Duncan's philosophy and style. Our result is a star-shaped representation made of 5 flexible rods that can bend, twist and stretch and smoothly deform to follow the pre-recorded motion capture markers positions.

## 2. Related Work

### 2.1. Physical models for dance

Previous work has traditionally addressed this issue by introducing physical models of the dancer. Mass-spring systems have been a main part of physical models used to represent motion, especially in dance, as these systems can easily represent the joints and bones of the human skeleton. In particular, Piana et al. [PAN*16] use mass-spring figures to analyze movement fluidity. Hsieh [Hsi07] creates a new grammar using verbs and adjectives and associate a special mass-spring system to convey motion. Fdili Alaoui et al. [FABJB13] propose an interactive installation to capture the dancer's movements, and run physical simulations to analyze their motion qualities. Our model of elastic rod can be seen as a new contribution to this long line of research.
## 2.2. Dance visualization

Video is one of the first technology to be used by choreographers to represent dance motion, such as William Forsythe in [FS99, PSF*09]. However in [Bro89], Brooks demonstrates how the traditional tools of cinematography affect and distort the perception of choreographic movement. Moreover, De Boer et al. [dB-JTAPN18] investigated which representations conveyed movement the best between textual description, 2d animations, 3d animations and auditory description and found that dancers preferred 3d animations. Motion capture has thus emerged as a promising tool for dance representation as it allows to have a precise 3D recording. While the preferred visualization style for motion capture in most previous work is stick figures or human-like avatars, some authors and artists have chosen to explore more abstract visualization styles. D. Poulin and M. Époque developed a concept of “dance without bodies” by using particle animation guided by motion capture data [Szp14]. Astier shows the motion capture markers without revealing the dancers bodies in his movie *Clinamen* [Arc20]. Our method is a new way of using motion capture data to represent dance in an abstract way.

## 3. Input Data

The input of our model is a prerecorded dance captured using a motion capture system. Our mocap set-up relies on 64 spherical trackers (markers) whose positions in the 3d space is recorded at 100 frames per second (see Figure 2 for an illustration of the marker locations).

<figure><img src="image_3.png" /><figcaption>Figure 2: Positions of the markers on the dancer's body.</figcaption></figure>

## 4. Modeling the dancer

Our model of the dancer was co-designed with an expert Duncanian dancer of the third generation, following the general principles of natural movement, as expressed by Isadora Duncan in her autobiography [Dun27] and other writings [Dun28]. In her autobiography Duncan describes her attempts to find "the central spring of all movement" and her discovery that it should be located in the solar plexus: "I know only one dance and it is this movement: drawing back your hands to the solar plexus, whereupon an inner force opens up your arms and raises them" [Dun27].

## 4.1. Dancer Representation

Taking into account the above requirements expressed by our expert dancer, we propose to model the dancer's body as an abstract figure in the shape of a starfish, with five ribbons attached together at the solar plexus. Using ribbons instead of a rigid skeleton would follow the fact that the dance of Isadora Duncan is unconstrained to one's body. We also hope that it will convey the fluidity of the movement better, as rods are not restricted to bend and twist at a fixed set of locations only (the joints of a skeleton). In practice, our ribbons are modeled as isotropic rods, i.e. have a circular cross-section, which let them equally bend and twist in any direction. However, we *display* them as *flat* ribbons to better visualize their twist.

### 4.1.1. Natural shapes of rods' centerlines

We assume that the natural shape (ie. shape at rest) of the rod is straight, so as not to favor any particular direction for bending and twisting. We define the natural shapes of the rods by using the mocap data when the dancer takes a T-pose. It is a pose most mocap systems ask the user to take to calibrate the system and is present at the beginning of all our recordings. Therefore, using this pose allows us to make sure that the natural shape of our rods is consistent across all animations, while exhibiting low bending of the limbs, which is coherent with our assumption for the rods to be straight at rest.

We process each limb (arms and legs) and the head separately and create a rod for each. To this end, we first manually group all the markers according to their body location. To make sure all rods join at the solar plexus we precompute the position of the later (defined, in our implementation, as the midpoint between the markers CLAV and C7, as labelled in Figure 2) and make the centerline of our rod - a straight segment in our case - start at this position. To define the direction of the segment, we perform principal component analysis on the positions of the markers of the group associated to the body part being processed and use the vector associated to the largest variance. Finally, we size the segment by projecting all the markers of the group onto the line defined by the solar plexus and the direction computed above and set as segment's end point the projected point furthest away from the solar plexus.

### 4.1.2. Orientation of the ribbons in the natural pose

Since we process each group separately, there is no guarantee that the obtained centerlines pass through a common plane, and, in practice, the arms are indeed slightly tilted forward. As we still want our ribbons to be orientated consistently, we rotate them around their respective centerlines so that their normals are as close as possible to a common vector, chosen to be the normal to the solar plexus and defined as the normal to the plane passing through the markers RCLAV, LCLAV and CLAV.

## 4.2. The Discrete Elastic Rod model

In order to deform and animate our ribbons, we need to associate them to a numerical physical model for rods. We choose *Discrete Elastic Rods* [BWR*08], a discrete geometric model for the simulation of elastic rods that can stretch, bend and twist. In this model,
<figure><img src="image_4.png" /><figcaption>Figure 3: Left: natural pose, Right: deformed pose</figcaption></figure>

a rod is defined by a centerline, and a set of material frames, tracking the rotations of the rods' cross-sections around the centerline with respect to an untwisted rod configuration. The vertices of the centerline $\Gamma$ will be denoted by $(x_i)_{i \in [0, n+1]}$ and its edges $e^i = x_{i+1} - x_i, i \in [0, n]$. The set of material frames $M^i = \{t^i, m_1^i, m_2^i\}$ are defined per edge, and are considered to be adapted to the centerline curve, that is $t^i = e^i/\|e^i\|$. The rotation angle with respect to the untwisted reference frame $\{t^i, u^i, v^i\}$ at is denoted $\theta^i$. Throughout this paper, we will use the following convention: lower (resp. upper) indices refer to quantities associated to a vertex $x_i$ (resp. edge $e^i$). Three types of energies are associated to the rod: $E_{bend}(\Gamma)$ and $E_{stretch}(\Gamma)$ which depend on the $x_i$ in the case of a straight isotropic rod and $E_{twist}(\Gamma)$ which depends on the $\theta^i$ in the case of a straight isotropic rod (see more details in [BWR*08]).

## 5. From mocap to dancing rods

We want the rods to follow the dancer's movements. To achieve this, we connect each ribbon to the different markers associated to it using springs. We want to be able to determine the position of the ribbon and its orientation at each time frame. To do so we will minimize the total energy of the physical model which combines 2 types of energies: the energy associated to the ribbon's internal deformation (twist, bend and stretch) and the energy associated with the springs that were attached to the ribbon.

### 5.1. Adding energies to follow the dance

In this section, we introduce energies which will enable the rod to follow the data (i.e. the markers positions) and therefore to match the dancer's movement closely. We use two kinds of energies: the linear position energy and the angular position energy. For that purpose we will introduce springs between each marker and its projection onto the ribbon. Therefore the total energy of our ribbon becomes $E(\Gamma) = E_{bend}(\Gamma) + E_{twist}(\Gamma) + E_{stretch}(\Gamma) + E_{linear}(\Gamma) + E_{angular}(\Gamma)$. In the following section, we denote $s_k$ the position at current time of marker number $k$.

#### 5.1.1. Linear spring associated with data

Each marker is associated to an edge. At time $\tau = 0$ we project the marker $\bar{s}_k$ onto the centerline. This projection gives a point $\bar{c}_k$ which belongs to the edge $\bar{e}_{ik}$ as displayed in Figure 4. We express $c_k$ with respect to the two vertices of the edge $x_{ik+1}$ and $x_{ik}$ using barycentric coordinates: $c_k = y_k x_{ik} + (1 - y_k)x_{ik+1}$ with $y_k \in [0, 1]$. We denote $z^k = s_k - c_k$. The energy associated to a marker $s_k$ is then:

<figure><img src="image_5.png" /><figcaption>Figure 4: Angular spring connecting a marker to an edge</figcaption></figure>

$$E_{linear}(\Gamma) = \sum_{k=0}^{p} E_{linear}(e^{ik}) = \frac{1}{2} \sum_{k=0}^{p} a_k (\|\bar{z}^k\| - \|z^k\|)^2,$$

where $a_k$ is the rigidity of the spring.

#### 5.1.2. Angular spring associated with data

We want the angular difference between the marker and its associated edge to remain constant in order for a change of angle to impact the position of the material frame. We therefore evaluate the rotation around the tangent $t^{ik}$. For that purpose, we first project $z^k$ to the reference frame $u^{ik}$ and $v^{ik} : w^k = (z^k \cdot u^{ik})u^{ik} + (z^k \cdot v^{ik})v^{ik}$. Then we denote $\lambda^{ik}$ the minimum angle required to move $m_1^{ik}$ to $w^k$ see Figure 4. The energy for this angular spring associated with the edge $e^{ik}$ is $E_{angular}(e^{ik}) = \frac{1}{2}q_k(\lambda^{ik} - \lambda^{ik})^2$, where $q_k$ is the rigidity of the spring. We want to express this angle with respect to $\theta$. We denote $u^{ik}z^k$ the angle between $u^{ik}$ and $z^k$. We then have $\lambda = \bar{u}^{ik}z^k - \theta^{ik}$. The total energy can then be written as

$$E_{angular}(\Gamma) = \frac{1}{2} \sum_{k=0}^{p} q_k (\bar{u}^{ik} \bar{z}^k - \bar{\theta}^{ik} - \bar{u}^{ik} z^k + \theta^{ik})^2.$$

### 5.2. Enforcing an orientation

Throughout the simulation, we want the different rods to remain joined at the plexus. This translates into the following constraints: $e^0 = p$, where $p$ is the current position of the plexus as defined in Section 4.1. We also want to ensure that the orientation of the material frame and the reference frame remain stable to avoid over-twisting of the rods. To this end, we will ask the second vector of the reference frame of each rod at the solar plexus, $v_0$, to align as closely as possible to the normal $n$ at the solar plexus, i.e. we will ask $v_0$ to match the normal $n$ when projected onto the plane of the rod's cross section, orthogonal to the tangent $t_0$. We then ask the initial material frame to match the reference frame using the constraints $\theta^0 = 0$.

### 5.3. Procedure to create motion

We onsider that at each time frame the rod is at a state of equilibrium, i.e. a state that minimizes its total energy, which enables to perform optimization on the energy function. Therefore, at each time step we want to find the optimal rod which minimizes its total energy.

Since we decided to have a straight isotropic rod, each energy term either depends on the position of the centerline $(x_i)$ or on the
262 References

263 [Arc20] ARCIER H.: Clinamen. https://www.operadeparis.fr/3e-scene/art-video/clinamen, 2020. 2

265 [Bro89] BROOKS V.: Restoring the meaning in cinematic movement: What is the text in a dance film? Iris, 9 (1989), 69–103. 2

267 [BWR*08] BERGOU M., WARDETZKY M., ROBINSON S., AUDOLY B., GRINSPUN E.: Discrete Elastic Rods. *ACM Transactions on Graph-ics (SIGGRAPH)* 27, 3 (aug 2008), 63:1–63:12. 2, 3

270 [dBJTAPN18] DE BOER V., JANSEN J., TJON-A-PAUW A.-L., NACK F.: Interactive dance choreography assistance. In *Advances in Com-puter Entertainment Technology* (Cham, 2018), Cheok A. D., Inami M., Romão T., (Eds.), Springer International Publishing, pp. 637–652. 2

274 [Dun27] DUNCAN I.: *My life*. Liveright (2013 edition), 1927. 2

275 [Dun28] DUNCAN I.: *The Art of the Dance*. Theatre Arts Books, 1928. 1, 2

277 [FABJB13] FDILI ALAOUI S., BEVILACQUA F., JACQUEMIN C., BERMUDEZ B.: Dance interaction with physical model visuals based on movement qualities. *The International Journal of Arts and Tech-nology* (2013). URL: https://hal.archives-ouvertes.fr/hal-01572626. 1

282 [FS99] FORSYTHE W., SOMMER A.: William forsythe: Improvisation technologies: A tool for the analytical dance eye. 2

284 [GJ*10] GUENNEBAUD G., JACOB B., ET AL.: Eigen v3. http://eigen.tuxfamily.org, 2010. 4

286 [Hsi07] HSIEH C.-M.: *Grammar of Physically Based Modeling of Dance Movements: Use for Choreographic Composition*. Theses, Institut Na-tional Polytechnique de Grenoble, Sept. 2007. 1

289 [JP*18] JACOBSON A., PANOZZO D., ET AL.: libigl: A simple C++ geometry processing library, 2018. https://libigl.github.io/. 4

291 [PAN*16] PIANA S., ALBORNO P., NIEWIADOMSKI R., MANCINI M., VOLPE G., CAMURRI A.: Movement fluidity analysis based on perfor-mance and perception. In *Proceedings of the 2016 CHI Conference Ex-tended Abstracts on Human Factors in Computing Systems* (New York, NY, USA, 2016), CHI EA ’16, Association for Computing Machinery, p. 1629–1636. 1

297 [PSF*09] PALAZZI M., SHAW N., FORSYTHE W., LEWIS M., AL-BRIGHT B., ANDERECK M., BHATAWADEKAR S., BAN H., CALHOUN A., DROZD J., FRY J., QUINTANILHA M., REED A., SCHROEDER B., SKOVE L., THORNDIKE A., TWOHIG M., AHLQVIST O., CHAN P., NOE A.: Synchronous objects for one flat thing, reproduced. 2

302 [Szp14] SZPORER P.: Dancing the rite of spring to-day: Bodies, particles, technologies and affects. *Dance Current, Canada's Dance Magazine* (2014). URL: https://www.thedancecurrent.com/column/dancing-rite-spring-today-bodies-particles-technologies-and-affects. 2

308 [WB06] WÄCHTER A., BIEGLER L.: On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. *Mathematical programming* 106 (03 2006), 25–57. 4