Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr.

24
Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    1

Transcript of Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr.

Interactive Animation of Structured Deformable

Objects

Mathieu DesbrunPeter Schroder

Alan Barr

Overview – Main problem

Few techniques are currently able to handle the animation in interactive rates so far

Both efficiency and stability are desired

Overview

A stable and efficient algorithm for animating mass-spring system based cloth

Focus is the cloth modeling and the interaction between cloth and different environments based on this technique

Overview - Outline

Principle of implicit integration Integration scheme Post-step modification Cloth simulation in virtual

environment Results

Implicit integration – 1D

Each discrete mass point i of mass m at position xi moves at speed of vi

Adjacent points are connected by spring of stiffness k

Superscript indices indicate the current step number )( 0 ndttxx i

ni

Implicit integration – 1D

The explicit Euler integration looks like

Assuming the force Fi is constant over a time step

dtvxx

m

dtFvv

ni

ni

ni

ni

ni

ni

11

1

Implicit integration – 1D

The time step should be inversely proportional to the square root of the stiffness k [Courant condition]

System is stable only for small time steps

dtvxx

m

dtFvv

ni

ni

ni

ni

ni

ni

11

1

Implicit integration – 1D

The implicit integration is

Replacing the forces at time t by for forces at time t+dt

dtvxx

m

dtFvv

ni

ni

ni

ni

ni

ni

11

11

Implicit integration – 1D

How to compute Fn+1 without knowing the exact position of next time step?

By a first-order approximation

xx

FFF nnn 11

Implicit integration – 1D

Notice

H is the negated Hessian matrix of the system

H is CONSTANT (for 1D case) and symmetric

Hx

F

Implicit integration – 1D

Re-write Put everything together

Then we have

dtvvx nnn )( 11

xx

FFF

dtvxx

m

dtFvv

nnn

ni

ni

ni

ni

ni

ni

11

11

11

m

dtdtHvFH

m

dtIv nnn )()( 1

21

Implicit integration - Comparison

Extra force added to Fn as

It’s used as artificial viscosity: a mass point is influenced by the motion of its neighbors

It’s proportional to dt and k

Edgesjij

ijin vvkdtFdtHvF

),(|

~~

)(,

m

dtdtHvFH

m

dtIv nnn )()( 1

21

Implicit integration – Comparison

Where acts like ‘filters’ The bigger the stiffness k is, the wider filt

ers are. The resulting force on a mass point will take into account more forces around

m

dtdtHvFH

m

dtIv nnn )()( 1

21

Integration Scheme - Extension

Extension 1D to 2D/3D

A mass point i is connected to all the other points j with springs of rest length and stiffness kij

0ijl

Integration Scheme - Extension

H is not CONSTANT any more, instead

It’s a 3n x 3n matrix and needs to be solved at each time step

3

03

0

||||

)()(

||||

||||),(

ji

jiT

jiij

ji

ijjiij

i xx

xxxxlI

xx

lxxk

x

jiFH

Integration Scheme - Splitting

By decomposing the forces into 2 parts, a linear and a nonlinear one:

Do approximate integration of two parts

||||

)(),(),(),(

),(),(),(

0

ji

jiijij

linearnonjiij

linear

linearnonlinear

xx

xxlkjiFxxkjiF

jiFjiFjiF

Integration Scheme – Linear part

From above analysis, it’s easy to solve this linear part cause the 3n x 3n Hessian matrix H is CONSTANT

ij

ijii

ijij

kH

jikH ,

Integration Scheme – Nonlinear part

The nonlinear part always has the same magnitude between t and t+dt, which means it only rotates

An angle error is introduced, which needs to be balanced with a straightforward displacement later

Integration Scheme – Nonlinear part

After the internal forces have been filtered, compute resulting global torque T as

xG is the center of gravity. Because the sum of all internal forces is 0, re-write T as

n

i

filterediiG FxxT

1

*)(

n

ii

filteredi xFT

1

*

Integration Scheme – Nonlinear part

T is supposed to be 0, so we can modify the integration output to balance it. Simply add the correction force on each mass point i

This is not a zero-error scheme. In practice the result becomes implausible only for big k or dt: wrinkled mesh

TdtxxF iGcorrectioni *)(

Post-step Modification - Motivation

Mass-spring is not perfect to model cloth

The elongation is proportional to the force applied but the natural force/deformation curve is normally nonlinear

Post-step Modification – Implementation

A force/deformation ratio threshold for each spring as dmax. Iterate over stretched spring and shrink them

When to stop? After fixed iteration steps Time is up

Post-step Modification – Inverse dynamics process

Results