T. Kugelstadt & E. Schömer / Position and Orientation Based Cosserat Rods
Figure 1: Slinky walking down a stairway. It has 50 curls and is modeled with 1000 discrete rod elements. It was simulated using 50 solver
iterations and took 7ms per frame (without collision detection) on a single core of an Intel Core i5 CPU.
functions taking particle positions and quaternions as arguments.
During the iterative constraint projection process quaternions are
treated in the exact same way as positions. They only require an ad-
ditional constraint to ensure unit length, because only unit quater-
nions represent proper rotations or frames. This enables us to di-
rectly minimize the strain measures from Cosserat theory with the
position-based solver. Further we can simply work with the stag-
gered grid discretization which is commonly used in Cosserat rod
simulation [GS07, ST07, LLA11] and leads to intuitive geometric
interpretations of our constraints. In order to compute the correc-
tion displacements of particles and quaternions, gradients of quater-
nion functions are needed. We show that they can be found with
little effort by using a matrix-vector product representation of the
quaternion product. The resulting displacement formulas are sim-
ple algebraic expressions which can be implemented easily and are
very cheap to compute. Due to the fact that our constraints couple
relative positions and relative orientations we can also use the rod
constraints to couple the rods endpoints with other systems. For
example they can be attached to triangles, rigid bodies or coupled
with other particle systems.
Our results show that the proposed method is able to produce the
same visual quality and has the same robustness as position-based
elastic rods, but it needs one order of magnitude less computation
time. Another comparison to the simulation of strands in PBD,
which are only modeled with distance and bending constraints,
shows the high performance of our approach. Even in this case our
method is slightly faster. As a challenging benchmark we chose to
simulate a Slinky toy which travels down the stairs (see figure 1). In
this scene torsion effects, anisotropic bending stiffness and robust
collision handling are essential. Because of its simplicity, flexibil-
ity, high efficiency and unconditional stability our approach is well
suited for a broad spectrum of applications in real-time physics and
animation.
Organization. In the following section we discuss related work
in rod simulation and position-based dynamics. To keep our paper
self-contained we recap the main concepts of quaternions, which
are the key component of our technique, in section 3. Thereby we
focus on rotations and the derivatives of quaternion functions which
are needed to solve the constraints. Section 4 summarizes the main
ideas of PBD, including vector constraints [USS14] and shows how
orientation quaternions are introduced in the algorithm. In section
5 we introduce the main concepts of continuous Cosserat rods and
show how they are discretized. This leads to rod constraints which
are presented in section 6. The resulting correction displacements
are derived in full detail. In section 7 we discuss implementation
details and in section 8 we show results of our method. We com-
pare it to position-based elastic rods and to standard PBD strands
with distance and bending constraints. The final section draws a
conclusion and discusses possible future work.
2. Related work
The most closely related work is the position-based elastic rods
model by Umetani et al. [USS14] which was already discussed in
the introduction. Further there is a huge amount of related work in
rod simulation, hair simulation and position-based dynamics.
Implicitly discretized Cosserat rods: The Cosserat rod model
was introduced to the computer graphics community by Pai [Pai02]
who used it to simulate sutures and catheters in virtual surgery. He
simulated unshearable and inextensible rods by using curvature as
minimal coordinates. It results in an efficient and physically accu-
rate simulation. But the centerline is only represented implicitly by
the rod’s curvature and has to be recovered by integrating the cur-
vature from one end to the other. This makes collision handling dif-
ficult. Further his model does not handle dynamics. This approach
was extended by Bertails et al. [BAC
∗
06] to the super-helix model,
which was designed to simulate the dynamics of helical rods like
curly hair. This method was further improved by Bertails [Ber09]
so that time complexity is linear in the number of discrete rod el-
ements. Due to the fact that these models eliminate all constraints
by using minimal coordinates, it is not clear how to combine them
with PBD.
Explicitly discretized Cosserat rods: Many alternative ap-
proaches use an explicit representation of the centerline. Grégoire
and Schömer [GS07] modeled cables as connected linear elements
which are described by a position and an orientation. The orienta-
tions are represented as unit quaternions. They derive constraint en-
ergies and the corresponding forces. Therewith they can find static
equilibria of cables in a virtual assembly simulation.
This approach was extended to simulate the dynamics of rods by
Spillmann and Teschner [ST07]. For their CORDE model they de-
c
2016 The Author(s)
Eurographics Proceedings
c
2016 The Eurographics Association.