COMPUTER ANIMATION AND VIRTUAL WORLDS
Comp. Anim. Virtual Worlds (2012)
Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cav.1431

SPECIAL ISSUE PAPER

Animating strings with twisting, tearing andflicking effects
Witawat Rungjiratananon1*, Yoshihiro Kanamori2 , Napaporn Metaaphanon3 , Yosuke
Bando4 , Bing-Yu Chen5 and Tomoyuki Nishita1
1Complexity Science and Engineering, The University of Tokyo, Kashiwa, Japan
Graduate School of Systems and Information Engineering, University of Tsukuba, Tsukuba, Japan
3
Square Enix, Tokyo, Japan
4
TOSHIBA Corporation, Tokyo, Japan
5
National Taiwan University, Taipei, Taiwan
2

ABSTRACT
String-like objects in our daily lives, for example shoelaces, threads, rubber cords, plastic fiber and spaghetti, have a wide
variety of materials. Such string-like objects also exhibit interesting behaviors such as twisting, tearing (by stretching or
twisting), and bouncing back when pulled and released. In this paper, we present a method that enables these behaviors
and simulates such materials in traditional string simulation methods that explicitly represent a string by particles and segments. Specifically, we offer the following three contributions. First, we introduce a method for handling twisting effects
with both uniform and non-uniform torsional rigidities. Second, we propose a method for estimating the tension acting
on inextensible strings in order to reproduce tearing and flicking (bouncing back), whereas the tension for an extensible
object can be computed via stretched length. The length of an inextensible object is maintained constant in general, andthus, we need a novel approach. Third, we introduce an optimized grid-based collision detection for accelerating the computation. We demonstrate that our method can produce visually plausible animations of string-like objects with various
material properties, and it is a fast framework for interactive applications such as games. Copyright © 2012 John Wiley &Sons, Ltd.
KEYWORDS
twisting, tearing, flicking, string animation

Supporting information may be found in the online version of this article.
*Correspondence
Witawat Rungjiratananon, Complexity Science and Engineering, The University of Tokyo, Kashiwa, Japan.
E-mail: im_witawat@yahoo.com

1. INTRODUCTION
String-like deformable objects play an important role inrepresenting hair strands, threads, elastic rods, cables, andropes in computer graphics. For realistic animations ofsuch objects, we have to reproduce their interesting behaviors such as bending, stretching, twisting, tearing, plasticity, and flicking when pulled and released, according totheir material properties. For example, threads are madeof yarn that barely stretches but easily tears. An elastic rod made of rubber can be twisted and flicked but ishard to break. A partially braided rope such as fourragère
has a non-uniform torsional rigidity. Soft strings such as
spaghetti and candy are easily cut by stretching and twisting. In the rest of this paper, we refer to such string-likeobjects as strings.

Copyright © 2012 John Wiley & Sons, Ltd.

In order to simulate a string, several traditional methods
have been proposed, such as mass-spring systems [1,2],
rigid multibody serial chains [3], geometric approaches[4,5], and elastic energy-based models [6–8]. However, allbehaviors (i.e., twisting, tearing, and flicking) of a string
are not introduced together in a single framework.
The handling of inextensible strings, such as threads
and cables, poses another technical challenge. To prevent excessive elongation of inextensible strings, many
length-constraint schemes called strain limiting have beendeveloped [9–13]. With strain limiting, however, the tearing simulation becomes difficult. Although an extensible
string will break when its length or strain reaches a certain
breaking point, we cannot see when an inextensible string
will tear on the basis of the constrained length. Moreover,beside the fact that an inextensible string is not elongatedAnimating strings with twisting, tearing and flicking effects

W. Rungjiratananon et al.

by their own weight, under a large applied force such as alarge pulling force, the string should be elongated according to its material property. However, controlling material
property becomes hard since the strain is unrelated to theapplied force with strain limiting.
In this paper, we present a method that can handle twisting, tearing, and flicking of strings in real time. Our method
is a simple pseudo-physically-based model which is easy
to implement, yet visually plausible results can still beachieved. Our method is applicable to traditional simulation methods that explicitly represent a string by particles and segments. Our implementation is based on chain
shape matching (CSM) [5], which is a simplified versionof the more versatile deformation method, lattice shape
matching [4], because CSM inherits and enhances several
advantages of lattice shape matching (e.g., CSM is fast,easy to implement, and numerically stable). In this paper,
we offer the following three contributions:

not addressed. There are also several works on pseudophysical models that can capture the twisting effect without solving the energy equations. Hadap [3] introduced amodel that captures the torsion effect by integrating a torsion spring into each joint of rigid links. However, strings
cannot be stretched and collision handling is not straightforward because the motion is propagated from top tobottom in one single pass (not affected backward). Selle
et al. [2] represented a hair strand by a chain of tetrahedrons of springs and captured the torsion effect byintroducing appropriate altitude springs. However, theconfiguration of springs is complex, and auxiliary particles
are required along a string.
Strain limiting for inextensible strings: In order to handle inextensible objects simulated by deformation models,a variety of methods for stretch resistance have been continuously proposed, from Provot’s iterative post-processingedge constraint [9] to a more recent constraint method
based on impulse [13]. Some alternative ways of stabilizing stiff simulation were also proposed [10–12]. Thesemethods and many of their sequels have a common goal,
to limit the maximal strain to a certain threshold. Accordingly, these kinds of methods are problematic in thecase of excessive stretch or when rupture should occur.
Metaaphanon et al. [15] proposed a method to deal withcloth tearing by using a mass-spring model. However,it tears cloth by checking lengths of springs; when andwhere yarns of cloth are cut were not directly related touser-applied external forces and cloth material properties
but were dependent on how the method constrains thesprings.ss

1. We introduce a simple method for twisting effects
by adding twisting angles into each segment of astring, which can handle both uniform and nonuniform torsional rigidities.
2. We propose a method in estimating the tension of
tearing and flicking effects in an inextensible string
whose actual tensile stress and strain values are constrained from strain limiting. Furthermore, we consider the torsional tension in handling plasticity andtearing from twisting as well.
3. We introduce a collision searching scheme for efficient collision handling by using a grid-based data
structure, which has less number of neighbors to be
searched compared to typical searching schemes.
This paper is an extended version of [14]. Please refer toSupporting Information† for a summary of differences.

2. RELATED WORK
Simulation of twisting strings: Considerable research on
the twisting effects in string simulation introduced various models for solving the Cosserat and Kirchhoff energy
equations. Bertails et al. [6] introduced a mechanicalmodel called super helices to simulate human hair on thebasis of the Kirchhoff theory. However, handling collision
responses is not straightforward because of the implicit
representation of hair strands. Spillmann and Teschner [7]explicitly represented the centerline of an elastic string andused the finite element method (FEM) to solve the Cosserat
energy equation. Recently, Bergou et al. [8] introduced
a discrete model to simulate elastic strings on the basisof the Kirchhoff theory. However, the twisting angles arecomputed with a quasi-static assumption. Thus, the twisting of non-uniform torsional rigidity along the string is†

Supporting information may be found in the online version ofthis article.

3. CHAIN SHAPE MATCHING
Before describing the details of our algorithms, this section
first briefly introduces Chain Shape Matching (CSM) [5],the basis model used in this paper. In the CSM, a string
is represented as a chain of particles connected by segments (see Figure 1 (a)). The particles are grouped into
multiple overlapping chain regions with the region halfwidth wCSM 2 f1; 2; 3; : : : g. The chain region half-widthcorresponds to the stiffness of the string. The particles are
independently moved by external forces, and then an optimal rigid transformation (i.e., rotation and translation) of
each region is computed. The rigidly transformed positionsof the particles are called goal positions. The goal positionof each particle is weighed in the overlapping regions byparticle per-region mass. Finally, each particle is updated
toward the goal position.

4. TWISTING EFFECTS
Based on the CSM, a string in our model is represented
as a chain of .n C 1/ particles connected by n segments(Figure 1(a)). A segment i 2 f1; 2; : : : ; ng has a twisting angle i tracking how much the segment is twisted.
The twisting angle can be represented as an angle between
Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

twisting angle θisegment isegment particle
regiontwist-free frame
material frame

wCSM

(a)

(b)

Figure 1. Our string model: (a) multiple overlapping chain regions in the chain shape matching; (b) the twisting angle of a segment of
an elastic string is an angle between a twist-free frame and a material frame.

a twist-free frame (bishop frame) and a material frame(Figure 1(b)). In the initial state, we specify an initial angle
i0 of each segment i according to the shape of the string.
The twisting angle is assigned to each segment, not foreach particle, to avoid the ambiguity.
The behavior of twisting can be clearly observed when astring, clamped at both ends, is twisted at one end. Therefore, we use this scenario for our explanation (Figure 2).
When we twist one clamped end with an angle t , theangle i of the segment is increased. The increment of thetwisting angle of the segment is propagated to the next
segments in order to minimize the elastic energy in thestring. In other words, the string tries to minimize the twisting angles between each connected segment. We computeand update a goal twisting angle for each segment, similarly, to finding a goal position for each particle in the
shape matching.
First, we group the segments into multiple overlapping chain regions with the region half-width wtwist 2
f1; 2; 3; : : : g, which affects the propagation speed of thetwisting angles in the string or the torsional rigidity; thelarger the wtwist is, the faster the change of twisting angles
is propagated. The size of each region in a string can bevaried in handling non-uniform torsional rigidity. The minreg ionof each region
imized twisting angle increment kk is computed by averaging the twisting angle increment
j D j  j0 of the segments in the region k weighted
by mass mj :wtwisttwist

X
reg ionkDclampedmaterial frame at time step t+1
material frame at time step t

(a)

(1)
mj

where Sk is a set of segments within region k. Then, thei of each segment i is updated with the twisting angle
seg ment. The goal twisting angle increment
increment iseg ment
i
is calculated by summing the twisting angle
reg ionincrement kbelongs to:of each region k to which segment i

seg ment

i

X

D

reg ion

k

(2)

k2R

seg ment

i D i(3)

where R is the set of regions to which segment i belongsto.
While a segment is updated to the goal twisting angle,
a torque occurs in the cross-section, causing the change ofseg ment
in the segment’s tangential
rotational velocity !iaxis. In each time step t , a segment is rotated by the rotational velocity first, and then it is updated to the computed
goal twisting angle in Equation (3). The rotational velocity

region r
twist

clampedX

j 2Sk

region rt

mj jj 2Skclampediclampedmaterial frame at time step t+2
material frame at time step t+1(b)

Figure 2. (a) An elastic string clamped at both ends is twisted at one end with a twisting angle t . (b) The increment of the twistingangle is propagated to the next segments.

Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

torsional stresstensile stressrupture point

ruptureyield point

ruptureYoung’s modulus E=

rupture point
yield point
torsional constant J=
rupturerupturetensile strain

torsional strain(a) Tensile stress-strain curve(b) Torsional stress-strain curve

Figure 3. Typical tensile and torsional stress–strain curves of a material: (a) tensile stress–strain curve; (b) torsional stress–
strain curve.

and the time evolution of the twisting angle are computed
as follows:
seg ment!iseg ment!i C I i

(4)

fixed

(b)
(c)

i

seg ment

i C t !i(5)

where Ii is an inertia moment of segment i .
can be treated as an external
The twisting force ftwistiforce exerted on particle i and derived from the elastic
energy equation [8] as follows:ˇbiC1  bi1(6)
D .iC1 2i Ci1 /ftwistiL2l

bi D 2ei1  ei
jei1 jjei j C ei1  ei

force

(a)
time step

force

length constraint

force

tension in each segment

force

(d)

Ti

Figure 4. A simple example of the tension computation. From(a) to (c), an ordinary length-constrained string simulation is performed. In (d), tensions are estimated by calculating forces thatmake the particles move from their unconstrained positions tothe constrained positions, yielding a result equivalent to (c).

(7)

where bi is the curvature binormal, ei is the segment vector, l is the length of the segment, ˇ is the twisting stiffnessof the string, and L is the total length of the string.

5. TEARING AND
FLICKING EFFECTS
This section briefly reviews the material science of a string
and then describes strain limiting, a widely used techniqueused to constrain the length of an inextensible string fromexcessive elongation. Finally, we describe our method in
handling tearing and flicking effects, which was previously
difficult because of strain limiting.
5.1. Stress and Strain
In material science, the strength of a string is associatedwith its stress–strain curve [16]. There are many kindsof the stress–strain curves, depending on the direction of
the force used in the material strength test, for example, tensile, compressive, shear, and torsional stress–strain

Tension estimationfrom length differencesgaparticle A

particle B
f

b
c

e
d

Figure 5. A two-dimensional illustration of our optimized searching scheme. When performing a collision detection between
Particles A and B, segment collision tests between fa; g g, fa; f g,
fb; g g, and fb; f g capsules are tested.

curves. Because tearing is typically affected by tensile andtorsional stresses, we consider only tensile and torsional
stress–strain curves of the material in our model. The tensile stress–strain curve shows the relation between an average force per unit area of a cross-section surface and theelongation of a string. The torsional stress–strain curveshows the relation between an average torque on a crosssection surface and the twisting of a string. Examples ofboth curves are shown in Figure 3.
Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

The tensile stress  and torsional stress  of a string are
the average force and the average torque per unit area of across-section surface, respectively:

Young’s modulus E D =" and the torsional constant J D
= in the tensile and torsional curves, respectively. Oncethe yield point is passed, the material becomes plastic;some fractions of the deformation will be permanent andirreversible. As deformation continues, the material will
break when the stress or strain reaches the rupture point.
The stress–strain curve can be derived via the strength
testing of a material sample, stored as a data set of theexperimental result. The stress–strain curve of most materials in the elasticity state is linear, and thus, the part of thecurve from the origin to the yield point can be stored as aconstant value. Still, the data set is required for the curvein the plasticity state. In our implementation, we simply
approximate the curve by a line with a constant slope thatfits the curve best. As a result, our implementation uses twoconstant values to represent the stress–strain curve in theelasticity and plasticity states together with two constantsfor the yield point and rupture point.

D

kFn k
A

(8)

D

kTn k
A

(9)

where A is the cross-sectional area, Fn is the normal
force, and Tn is the normal torque. The normal direction is the vector in the cross-section surface’s normal
direction.
The tensile strain " and torsional strain  of a string are
expressed as the ratio of the elongation L to the initiallength L0 and the change in twisting along the axis of thesegment, respectively:
L  L0
L
D
L0
L0

(10)

 D .i1  iC1 /r

(11)

"D

where L is the current length of the string and r is theradius of the segment. Note that i D i  i0 is thechange in the twisting angle from the rest state, not thetensional strain. The torsional strain comes from the difference of the twisting angles between connected segments,
which are segments i  1 and i C 1.
Along the curve, the material exhibits elastic behaviors
until the yield point. Prior to the yield point, the material will return to its original shape if the applied force or
torque is removed. The slopes of this elastic region are the5.2. Strain Limiting
By using traditional methods or CSM, strings are usually
excessively stretched under its own weight and with large
applied force. Instead of using the large Young’s modulus,
which can lead to numerical instability, position constraints
are often imposed so that the length of each segment i[9–13], which
does not exceed a certain threshold Lmaxiis called strain limiting. Although our method of tension
estimation described in the next subsection is applicable toany strain limiting approach, for our implementation, weused the position constraints method of Müller et al. [11].
By denoting the position vector of particle i by xi , weconstrain the length Li D kxiC1  xi k of segment i below

(c)

(d)

(a)

(b)

(e)

Figure 6. Our simulation results for the twisting effects. (a) An application for hanging boxes in wind forces. (b) The twisting effectof a string clamped at both ends. The string is gradually twisted on the left end and finally twisted to form a loop. (c) A twisted
string that forms a spiral shape similar to a telephone cord. (d) A string with uniform torsional rigidity. (e) A string with non-uniform
torsional rigidity.

Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

Lmax
by moving xi and/or xiC1 according to the state ofia string. There are three possible cases.

5.3. Tension Estimation
As previously stated, because of the constraint on lengths
unrelated to applied forces, actual tensile stress and strain
values cannot be directly computed from the simulation
result. Here, we propose a novel approach to estimate
the actual tensile stress and strain values for inextensible
strings. The stress and strain are then used in handlingelasticity, plasticity, tearing, and flicking of strings.
The actual tensile stress and strain values can be computed by estimating the tensions in the string. To derive
the tensions, we also consider the particle positions computed without strain limiting. We model the tension Ti ofsegment i as a stiff force (Figure 4(d)) that makes its particles i and i C1 at both ends move from their unconstrained
positions x0i and x0iC1 (Figure 4(b)) to the constrained positions xi and xiC1 (Figure 4(c)). In our implementation, we
compute the tension as follows:

1. A string clamped at one end: Length-constraint isapplied from the clamped end sweeping through toanother end. For example, in a string clamped at
i D 0, xiC1 is moved, sweeping from the clamped
end to another end.
2. A string clamped at both ends: We perform multiple adjustments from one end to another end of thestring, sweeping back and forth repeatedly because
correcting the length of one segment may change
the length of other segments.
3. A string clamped at multiple points: We separate
the string into strings clamped at both ends andstrings clamped at one end and perform the lengthconstraint accordingly.

tensile stresstensile stresstorsional stress

4
1

3

2

3

4

4

2

3

1

2
1

tensile strain

tensile strain

torsional strain

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

1
2
3
4

(a) Tensile rupture point variation test(b) Young’s modulus variation test(c) Torsional rupture point variation test

Figure 7. Experiments of various stress–strain curves and results of curves. A variety of stress–strain curves are shown at the top
row, and their results are shown as animation sequences from top to bottom. (a) Tensile rupture point variation test; (b) Young’s
modulus variation test; and (c) torsional rupture point variation test.

Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

reference length(a) Initial state (b) Forces are applied(c) Forces are released(d) Initial state (e) Torques are applied(f) Torques are released

Figure 8. Plasticity of the material under tensile and torsional stresses. (a) and (d) are the states before forces and torques are appliedin (b) and (d), respectively. In (b) and (d), the strings on the left do not pass the yield points, whereas the strings on the right do.
(c) and (e) are the states after the forces and torques are released.

zoomed in(a) Animation sequences ofa string without flicking(b) Animation sequences ofa string flicking

zoomed in(c) Animation sequences ofa twisted string flicking

Figure 9. Flicking animation sequences of strings from top to bottom: (a) animation sequences of a string without flicking;(b) animation sequences of a string flicking; and (c) animation sequences of a twisted string flicking.


Ti D kstiff kx0iC1  x0i k  kxiC1  xi k ti

(12)where kstiff is a coefficient and ti is a unit vector fromparticle i to i C 1. The tension derived this way is used toreproduce tearing and flicking, as well as plastic behaviors
of a string.
5.4. Tearing and Flicking a String
For tearing under a tensile stress, we assign a rupture point
or a tensile stress threshold rupture for each segment. If
the segment’s tensile stress exceeds its tensile stress threshold, the segment will be broken. The applied tensile stressComp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

i can be computed from tension Ti in each segment byusing Equation (8) with Fn D Ti .
Similarly, we can handle the behavior of flicking byusing the tension. When an inextensible string is pulled andreleased or torn apart, the applied stress vanishes, but thetensile strain of the segment from the elongated length still
remains. The bouncing back force could be computed froman internal tensile stress translated from the tensile strain
by referencing the stress–strain curve. However, with ourtension estimation technique, we can directly use the tension as the bouncing back force. Note that, without thistechnique, the string would just fall down quietly by the

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

Figure 10. Animation sequences of a hanging bridge colliding with incoming crates.

(a) At the beginning of a game.

(b) At the 5th second.

(c) At the 16th second.

(d) At the 49th second. The string is torn by twisting.

Figure 11. This is a game application using our method. The goal of this game is to shoot a box and make a string twist until it is torn
apart. The more it is twisted, the harder it will twist back. Therefore, if a player misses, the bar will decrease the twisting angles theplayer has hit so far. Players can compare the time and the number of boxes they used with others. (a) At the beginning of the game;(b) at the fifth second; (c) at the 16th second; and (d) at the 49th second, the string is torn by twisting.

Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

Table I. The computational time in milliseconds of each process in one time step. The time step in our
implementation is 0.01 second.
Numberof segments
100
150
200
746

Updating
particles

CSM

Twisting computation

Tension estimation

Collision
handling

Total
time

0.011
0.022
0.029
0.128

0.086
0.168
0.221
0.501

0.098
0.184
0.237
0.739

0.221
0.424
0.564
1.67

1.31
1.36
1.37
3.13

1.73
2.16
2.42
6.17

CSM, chain shape matching.

force of gravity because tensile strain is limited and, thus,
very small in an inextensible string.
As can be seen in the tensile stress–strain curve(Figure 3(a)), a real string is lengthened according to thetensile stress in the elasticity and plasticity states prior to
the rupture point. Therefore, the maximum length Lmaxiof each segment used in strain limiting should be updated
accordingly (otherwise the string does not elongate). For
this, we look up the tensile strain "i corresponding toapplied stress i from the tensile stress–strain curve andby using
use it to compute the appropriate value of Lmaxi
D "i L0 C L0 . In the elasticity state,
Equation (10), Lmaxithe tensile strain "i of a string becomes zero when applied
forces are removed. In other words, the string returns to its
original length. However, when its tensile strain exceeds
the yield point (plasticity state), "i will remain the same as
the last time the forces are applied. Our method also modifies the radius of a segment in order to preserve the volumeof the segment when stretched.
Tearing of the string also happens when a sufficient
torque is applied to the string. Tearing caused by twisting
regularly arises in several soft strings such as spaghetti andlicorice(candy stick). In contrast to tearing by stretching,torsional strain is not limited, and it can be directly calculated from current twisting angles (Equation (11)). Similar
to tearing by stretching, when i of segment i reaches
a rupture point, we tear the segment. For a plasticity oftwisting, when i passes a yield point, we update i0 with.i1  iC1 /=2 to make the twisted angle of segment
i permanent.

6. COLLISION HANDLINGIn this section, we introduce an optimized searching
scheme for collision detection of strings, although previous
works often use techniques based on the bounding volume
hierarchy [2,17,18]. Apart from the bounding volume hierarchy, space partitioning using a grid-based data structure
is a simple and efficient technique for collision detection ofstrings that have a large number of self-collisions. Specifically, we treat each segment as a capsule (a cylinder with
two spheres at both ends) and search for capsule collisionpairs. For neighbor searches, we use a uniform grid of voxels. The number of voxels to be searched is 27.D 3  3  3/
in a naïve approach. For better performance, we found thatComp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

it is sufficient to search for colliding segments in only sevenneighboring voxels (top, bottom, left, right, front, back, andcenter voxels) under the following three specifications:(1) specifying the voxel size equal to or larger thansegment length l;(2) storing indices of particles in each voxel; and(3) searching for capsule collision pairs from two adjacent segments of each particle in the seven neighboring voxels.
For a better understanding, we describe it by using an
example in a two-dimensional case (five neighboring
cells). The idea can be generalized to the three-dimensionalcase in a straightforward manner. In Figure 5, Particles A
and B are neighbors. Our method performs the segment
collision test between their two adjacent segments, that is,pairs of segments fa; gg, fa; f g, fb; gg, and fb; f g. If twosegments have an intersection, there is definitely a pair ofboth ends’ particles residing in each of the other sevenneighboring cells. This can be easily proved if one writes
all possible cases in two dimensions, with five neighboring
cells (center, up, down, left, and right).
The closest points of a pair of colliding segments i andj are indicated by fractions s 2 Œ0; 1 and t 2 Œ0; 1 ,respectively. In order to move the colliding segments tothe non-intersection positions, we compute a displacement
vector between the closest points. Then, we move both end
particles of each segment, corresponding to the fractions s
and t similar to [18].
Moving a colliding segment may make the string discontinuous, and thus, we repeat shape matching until particle
positions converge. Conversely, shape matching may cause
a collision again. As a result, iterations are required forboth shape matching and collision constraints. To lessen
the iterations, we temporarily make the masses of colliding particles heavier so that shape matching barely moves
the particles. In our experiments, by making the colliding
particles three times heavier, one iteration is sufficient.

7. RESULTS
Our implementation was written in C++ with OpenGL.
All experiments were conducted on a desktop PC withan Intel Core i7 3.20GHz CPU and 6GB RAM. See

Animating strings with twisting, tearing and flicking effects

W. Rungjiratananon et al.

the accompanying video for the animation of our results(stringCAVW_lo.mov).
Figure 6 demonstrates the twisting effects in ourmodel. An application for hanging boxes is presented in
Figure 6(a), where objects at the tips of strings are rotatedby wind forces, making the strings twisted. With twisting effects, the strings try to twist back to the initial state,making the rotational velocities increase and the objects
roll back and forth in the wind. Twisting of strings canreproduce phenomena such as an instability of bending andtwisting called buckling, which makes a string form a spiralshape (Figure 6(b) and (c)). Figure 6(d) and (e) shows thetwisting of strings with uniform and non-uniform torsional
rigidities, respectively. In the string with non-uniform torsional rigidity (thicker at the middle of the string in thisresult), the thicker part has a larger torsional rigidity and,
therefore, has less twisting.
Our method enables the simulation of strings with various material properties, as shown in the variation tests in
Figure 7. The stress–strain curves are shown in the top row,and their corresponding results are shown as animation
sequences below each curve. Parameters used in tearing,that is rupture points, yield points, and Young’modulus,
are assigned to all segments in the string. However, thatkind of completely uniform strength is impossible in thereal string, so we randomly altered the parameters in eachsegment with a range of variation up to 0.01%. Threeexperiments were conducted as follows:

Animation sequences of flicking are shown in Figure 9.
Without flicking, the string in Figure 9(a) falls naturally
when an applied force is removed. In our model, the string
bounces back through the estimated tensions when theapplied force is removed, as shown in Figure 9(b). Whenthe twisted string in Figure 9(c) is pulled and released, thetwisting effect also occurs.
For us to demonstrate the practical uses of our method,
Figures 10 and 11 show applications in an animation andgame. Figure 10 shows a destruction of a hanging bridge.
Wooden boards (rigid bodies) are tied with strings (ropesin this case) to build the bridge. The ropes are graduallytorn apart from collisions of the wooden boards and incoming crates that cause high tensions in the ropes. We used aparticle-based simulation method [19] for rigid body simulation in our implementation. Figure 11 shows a twisting
game. A box is hanging from a wooden beam by a string.
The rule of the games is to shoot the box and make thestring twist until it breaks.
The breakdown computational time in each process forstrings with different numbers of particles is shown in
Table I. All strings consist of 100 segments, except for the
150 segments in Figure 9, 200 segments in Figure 6(c),and 746 segments in Figure 10. The computational time of
the results in Figures 10 and 11 is measured, excluding thetime for the rigid body simulation.

(1) Tensile rupture point variation (Figure 7(a)): Tensile
rupture points of strings are varying, increasing fromstring number 1 to 4. As expected, the topmost string(1), which has the lowest rupture point, is torn first.
(2) Young’s modulus variation (Figure 7(b)): Young’s
modulus is a measure of the elasticity of a material.
Because values of the Young’s modulus of strings inthis test are lessened from number 1 to 4, whereas
the applied stresses required for breaking the strings
are equal, the bottommost string (4) is lengthened themost before breaking.
(3) Torsional rupture point variation (Figure 7(c)): Similar to Figure 7(a), torsional rupture points are varying, increasing from string number 1 to 4. When thestrings are twisted by the applied torques on the righthand side, the topmost string (1), which has the lowest
torsional rupture point, is torn first.
Figure 8 shows plasticity handling of strings in ourmodel. When an applied stress from a force or torquepasses a yield point, a string will irreversibly deform; thismeans the string will not return to its original length or
twisting angle. In the top row, we compare two strings
under the applied forces below (left string) and over (rightstring) the yield point. Likewise, two strings in the bottom
row show a comparison under the different applied torques.
It can be observed both in the top and bottom rows that thestring on the left returns to its original shape, whereas thestring on the right is permanently deformed.

8. CONCLUSION AND
FUTURE WORK
We have introduced a simple model to simulating twisting,tearing, and flicking of strings, that is fast, easy to implement, and applicable to traditional simulation models.
We have demonstrated that our method can handle twisting effects of strings with both uniform and non-uniform
torsional rigidities, as well as rotational velocity causedby twisting.
By using our method, the tension in an inextensible
string can be estimated for the generation of tearing andflicking effects. We have also enabled the tearing effects intwisting. A variation in the quality of strings, that is elasticity and plasticity, can be achieved. Although our method
is not physically-based, it can successfully reproduce theinteresting behaviors of strings which would greatly enrich
the realism of interactive applications such as games.
Our method has some limitations. As previously
mentioned, our method is not a full physically-basedmodel. Thus, more advanced physics behaviors such as
spring-twisting pendulum and anisotropic bending in [8]are hard to simulate. The rapid motion could cause thestrings to pass through each other or themselves. However, this problem did not occur in our experiments. In
case of rapid motion, continuous collision detection should
be considered.
For future work, we would like to consider a deformation of cross-sections during twisting. In our model,
each segment is rendered as a spherical cylinder. However,cross-sections of most materials can be deformed when it
Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

W. Rungjiratananon et al.

Animating strings with twisting, tearing and flicking effects

is twisted. The non-uniform torsional rigidity in our model
is considered along the length, not the cross-sections. A
non-uniform density distribution within the cross-section
should be considered to simulate more interesting results.
The collision between segments is treated as a collision
between rigid segments. We would like to improve the collision detection algorithm to handle the collisions between
deformable segments. We also would like to improve theoverall performance with a GPU implementation.

11. Müller M, Heidelberger B, Hennix M, Ratcliff J. Position based dynamics. Journal of Visual Communication and Image Representation 2007; 18(2): 109–118.
12. Goldenthal R, Harmon D, Fattal R, Bercovier M,
Grinspun E. Efficient simulation of inextensible cloth.
ACM Transactions on Graphics 2007; 26(3): 49–55.
13. Diziol R, Bender J, Bayer D. Volume conserving simulation of deformable bodies, In Eurographics 2009
Short Papers, Munich, Germany, March 30 - April 3,
2009; 37–40.
14. Rungjiratananon W, Kanamori Y, Metaaphanon N,
Bando Y, Chen B-Y, Nishita T. Twisting, Tearing
and Flicking Effects in String Animations, In Proc. of
Motion in Games 2011 (LNCS7060), 2011; 192–203.
15. Metaaphanon N, Bando Y, Chen B-Y, Nishita T. Simulation of tearing cloth with frayed edges. Computer
Graphics Forum 2009; 28(7): 1837–1844.
16. Bhuvenesh CG, Rajesh DA, David MH. Textile Sizing.
CRC Press., New York, USA, 2004.
17. Sobottka G, Weber A. Efficient bounding volume hierarchies for hair simulation, In Proceedings of the 2005
workshop on virtual reality interaction and physicalsimulation, 2005; 1–10.
18. Spillmann J, Teschner M. An adaptive contact modelfor the robust simulation of knots. Computer Graphics
Forum 2008; 27(2): 497–506.
19. Harada T. Real-time rigid body simulation on GPUs.
GPU Gems 3, Chapter 29 2007: 123–148.

ACKNOWLEDGEMENT
This work was supported by Grant-in-Aid for JSPS
Fellows (224748).

REFERENCES
1. Rosenblum RE, Carlson WE, Tripp III E. Simulating
the structure and dynamics of human hair: modeling,
rendering and animation. The Journal of Visualization
and Computer Animation 1991; 2(4): 141–148.
2. Selle A, Lentine M, Fedkiw R. A mass spring modelfor hair simulation. ACM Transactions on Graphics
2008; 27(3): 64:1–64:11.
3. Hadap S. Oriented strands: dynamics of stiff multibody system, In Proceedings of the 2006 ACM
SIGGRAPH/Eurographics Symposium on Computer
Animation, Vienna, Austria, Sept 2-4, 2006; 91–100.
4. Rivers A, James D. FastLSM: fast lattice shape matching for robust real-time deformation. ACM Transactions on Graphics 2007; 26(3): 82:1–82:6.
5. Rungjiratananon W, Kanamori Y, Nishita T. Chain
shape matching for simulating complex hairstyles.
Computer Graphics Forum 2010; 29(8): 2438–2446.
6. Bertails F, Audoly B, Cani M-P, Querleux B, Leroy F,Lévêque J-L. Super-helices for predicting the dynamics of natural hair. ACM Transactions on Graphics
2006; 25(3): 1180–1187.
7. Spillmann J, Teschner M. Corde: Cosserat rod elements for the dynamic simulation of one-dimensionalelastic objects, In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, San Diego, USA, Aug. 3-4, 2007; 63–72.
8. Bergou M, Wardetzky M, Robinson S, Audoly B,
Grinspun E. Discrete Elastic Rods. ACM Transactions
on Graphics 2008; 27(3): 63:1–63:12.
9. Provot X. Deformation constraints in a mass-springmodel to describe rigid cloth behavior, In Graphics Interface 1995 Conference Proceedings, Quebec,
Quebec, Canada, May 17-19, 1995; 147–154.
10. Baraff D, Witkin A. Large steps in cloth simulation,
In ACM SIGGRAPH 1998 Conference Proceedings,
Orlando, USA, 1998; 43–54.
Comp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav

AUTHORS’ BIOGRAPHIES
Witawat Rungjiratananon received
his BSc degree in computer engineering from Chiangmai University,
Thailand, in 2006 and his MSc degree
in computer science from the University of Tokyo, Japan in 2009. He is currently a PhD student in the Graduate
School of Frontier Sciences, University of Tokyo and expects to graduate in September 2012.
His research interests mainly focus on computer graphics
and interactive simulation systems.

Yoshihiro Kanamori received his
BSc, MSc, and PhD degrees in computer science from the University ofTokyo, Japan, in 2003, 2005, and 2009,
respectively. Since April 2009, he has
been an assistant professor in the
University of Tsukuba. His researchinterests center on computer graphics
including real-time rendering, point-based graphics, andinteractive simulations.

Animating strings with twisting, tearing and flicking effects

W. Rungjiratananon et al.

Napaporn Metaaphanon recieved herBEng in computer engineering from
Chulalongkorn University, Thailand,in 2005. From July 2005 to February 2008, she worked as a softwaredeveloper at Massive Software. Then,in 2010, she received her MSc in computer science from the University ofTokyo, Japan. In October 2010, she started working as
an R&D engineer at Square Enix. Her research interests are mainly related to computer graphics and physicalsimulation.

Information Engineering, and the Graduate Institute of
Networking and Multimedia of the National Taiwan University, and also in the Department of Complexity Scienceand Engineering of the University of Tokyo. His researchinterests include mainly computer graphics, image andvideo processing, and human-computer interaction.

Yosuke Bando received his BSc, MSc,
and PhD degrees in computer science from the University of Tokyo in
2001, 2003, and 2010, respectively.
After joining TOSHIBA Corporationin 2003, he has been engaged in thedevelopment of advanced semiconductor chips for computer graphics, vision,and image processing.

Tomoyuki Nishita is a professor in
the Department of Complexity Scienceand Engineering (also in the Department of Information Science) at the
University of Tokyo, Japan since 1998.
He received his BEng, ME, and PhD inengineering in 1971, 1973, and 1985,
respectively, from Hiroshima University. He taught at Fukuyama University from 1979 to 1998.
He was an associate researcher in the Engineering Computer Graphics Laboratory at Brigham Young University
from 1988 to 1989. His research interests center on computer graphics including lighting/shading models (radiosity), natural phenomena, real-time rendering, geometricmodeling, and nonphotorealistic rendering.

Bing-Yu Chen received the BSc andMSc degrees in computer scienceand information engineering from the
National Taiwan University, Taipei,
in 1995 and 1997, respectively, andreceived his PhD in information science from the University of Tokyo,
Japan, in 2003. Currently, he is working as a professor in the Department of Information
Management, the Department of Computer Science andComp. Anim. Virtual Worlds (2012) © 2012 John Wiley & Sons, Ltd.
DOI: 10.1002/cav