Animating strings

Animating strings with twisting,
tearing & flicking effect
By Erich Siebenstich
Advisor: prof. RNDr. Roman Ďurikovič, PhD.
1
Presentation Overview
• Results
• Structure of model
• Position calculation
• Twisting
• Tearing and Flicking
2
Results
• Functional stable model of string that mantains
semi-realistic behaviour of:
• Movement
• Non-elongation
• Flicking and tearing
• Multiple adjustable variables regulating all
aforementioned aspects
• Improved strain limiting to incorporate collision
detection
3
Results – Position Calculation
4
Results – Flicking
5
Results – Twisting
6
Model Structure
• Particle – position, forces, interaction
• Segment – twisting, stress & strain
• Region – stiffness, twist propagation
• String – environment interface, recursive
7
Position Calculation
Lattice/Chain Shape Matching
LSM
•
•
•
•
3D model in 3D space
Stiffness <-> lattice width
FastLSM - O(1)
Naive BF method O(𝑤 3 )
CSM
• 1D model in 3D space
• Simplifies LSM
• Retains cost complexity
8
Position Calculation
Goal Position
• Change in Shape is described by Rotation 𝑅𝑟 an
Translation 𝑇𝑟 matrix
• Goal position is calculated for every Region
• Average goal position is used to calculate new
correct position for particle
𝑻𝒓
9
Position Calculation
Rotation & Translation matrix
• Calculated using Singular Value Decomposition
• Input matrix H is calculated from relative
positions of particles of region
• 𝑃𝐴 is last real position of particle
• 𝑃𝐵 is position after forces are applied
Rotation matrix
Translation matrix
10
Position Calculation
Collision Detection
• Sphere-Sphere collision
• Simple, efficient and sufficiently precise
• Particles are centers of spheres
• Adjustable number of spheres in segment
• Ideally so that 𝑅𝑠𝑝ℎ𝑒𝑟𝑒 ∗ 𝑁𝑆𝑝ℎ𝑒𝑟𝑒𝑠 > 𝐿𝑠𝑒𝑔𝑚𝑒𝑛𝑡
11
Tearing & Flicking
Stress & Strain
• Strength of a string is associated with its stress–
strain curve
• The torsional and tensile stress-strain curves are
independent
• Each segment calculates stress, strain and
elongation for itself
Tensile stress
Torsional stress
12
Tearing & Flicking
Stress-Strain curve
•
•
•
•
Yield point
Rupture point
Before YP stretching
After YP deformation
• Before the yield point, S-S
curve is linear
• It is described by dataset
• On rupture point, string
separates and tensile
strain turns into force
13
Tearing & Flicking
Curves parameters
• Easy to infer behaviour
• Twisting causes shortening of string
• Tensile strain influences elongation
• Yield point adjusts stretching and deformation
• Tensile stress represents applied force
14
Strain Limiting
• Iterative adjusting of length
• Between calculated position and last fixed
position
• Fast but doesn’t accounts for obstacles in
environment
15
Strain Limiting
• Capable of limiting string with 1 or 2 fixed
points
• Algorithm for subdividing string with 3+
fixed points
• 1FP string can be adjusted in single iteration
• 2FP string changes FP between iterations
until it achieves reasonable precision
16
Improved Strain Limiting
• Add collision detection to
strain limiting
• Improved, not ideal solution
• Checking CD when adjusting
free particle
• Decreases number of times
CSM and CD need to be
initiated
17
Twisting
Propagation of twist
• Calculates average twist per region
• Distributes it to all involved particles
• Reach width 2𝑅𝑤 − 1, can be used for uniform
regions
18
Thank you for your attention
19