apresentação do powerpoint - inf.pucrs.brsmusse/animacao/pdfs... · newton expressou a sua...

90

Upload: doanthu

Post on 07-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

z

y

x

r

r

mvz

mv

mv

p y

x

Aceleração altera velocidade que altera

posição; tavv tt .1

jvivv yx

111 ttt yxr

jtvyy ytt

.1

itvxx xtt

.1

Obs.: existem métodos de integração

computacionalmente mais eficientes

2F

3F

jF 1

iF 1

jF

2

iF

3

F

F

1F

Momento linear

Equlíbrio: ΣF=0

Equilíbrio

Estático

Equilíbrio

Dinâmico

• Queda Livre X Queda Amortecida

Aceleração da

gravidade próximo à

superfície da Terra:

a=g=9,8m/s2

F = m . a

P = m . g

Aceleração Centrípeta R

vac

2

R: Raio da trajetória.

Direção e sentido apontando

para o centro da trajetória.

Aceleração tangencial:

R

vmFc

2

R: Raio da trajetória.

Direção e sentido

apontando para o centro

da trajetória.

Quando um corpo está em contato com uma superfície, a superfície, ainda que aparentemente rígida, deforma e empurra o corpo com uma força normal N que é perpendicular à superfície.

Forças de atrito:

› Opostas à tendência de movimento

› Dependem das características das

superfícies em contato

› Processo de solda entre os “picos” das superfícies

Estático (fate): › Os pontos em contato entre as superfícies se

soldam, de forma que há resistência ao movimento relativo entre as superfícies.

Cinético (fatc): › Caso uma força aplicada seja suficiente

para romper as soldas iniciais, novas soldas continuamente são formadas e rompidas durante o deslizamento.

ce fatfat

Força de atrito estático: › Variável:

Se nenhuma força com componente tangencial à superfície de contato for aplicada, a fate é igual a zero;

Se houver força com componente tangencial à superfície de contato, a fate aumenta até um valor máximo dado por:

Força de atrito cinético › Constante se as características das superfícies

forem constantes:

Nfat ee max_

Nfat cc

Quando há uma velocidade relativa

entre um fluido e um corpo, o corpo

experimenta uma força de arrasto

que se opõe ao movimento relativo e

que está direcionada no mesmo sentido

em que o fluido escoa em relação ao

corpo.

2

2

1AvCFR

A: Área da seção transversal efetiva

do corpo

ρ: densidade do fluido

C: Coeficiente de arrasto

Se v aumenta, Fr aumenta, até que

Fr = P

Nesse caso, chega-se à velocidade terminal:

2

2

1AvCFR

AC

Fv

g

t

2

Objeto vt (m/s) Distância para

0.95vt (m)

Peso em

campos de tiro

145 2500

Bola de tênis 42 210

Gota de chuva 7 6

Para-quedista 5 3

Horizontal:

a=0

Vertical:

a=g=9,8m/s2

Newton expressou a sua segunda lei

originalmente em termos de momento:

vmp

t

pF s

Re

Impulso: variação de momento linear.

Impulso: medida tanto da intensidade

quanto da variação da força

Exemplo: Colisões (força variável)

pI

constanteFcom,tFI

Se nenhuma força externa resultante

atua sobre um sistema de partículas, o

momento linear total do sistema não

pode variar

, sistema fechado, isolado fi PP

Colisão é uma interação entre partículas,

durante a qual há conservação do

momento linear do sistema, isto é, o

momento linear do sistema, antes da

colisão, é igual ao momento linear do

sistema, após a colisão.

fi PP

Colisões elásticas

› Numa colisão elástica conserva-se a energia cinética

do sistema.

Colisões inelásticas

› Não há conservação da energia cinética do sistema.

Colisões perfeitamente inelásticas (

perfeitamente inelásticas )

› Não existe conservação da energia cinética do

sistema e os corpos seguem juntos após a colisão, isto

é, com a mesma velocidade após a colisão.

É a razão entre a velocidade relativa antes e após a colisão:

Onde: › v'a é a velocidade escalar final do primeiro objeto

após o impacto

› v'b é a velocidade escalar final do segundo objeto após o impacto

› va é a velocidade escalar inicial do primeiro objeto antes do impacto

› vb é a velocidade escalar inicial do segundo objeto antes do impacto

Voltar a simulação ao ponto exato de

contato

Modificar posições e velocidades

nv

tv

vN

newv

Após a colisão:

tn

newvvv

Coeficiente de restituição

Vetores concatenados x e v

formam um vector 6-n:

posição no espaço de fase.

Fazendo a derivada

primeira do espaço de fase.

Temos equações

diferenciais de ordem 1.

x

v

/ m

x v

v f

x

v

Aplicando o método de Euler:

( ) ( ) ( )

( ) ( ) ( )

t t t t t

t t t t t

x x x

x x x

Erros ocorrem dependendo de t.

/ m

x v

v f

1

1

i i i

ii i

t

tm

x x v

fv v

( ) ( ) ( )

( , , )( ) ( )

t t t t t

tt t t t

m

x x v

f x xv x

Fazendo substituições:

Iterativamente:

Começamos com:

m

x

v

f

posição

velocidade Acumulador de força

massa

Posição no espaço de fase

typedef struct{

float m; /* mass */

float *x; /* position vector */

float *v; /* velocity vector */

float *f; /* force accumulator */

} *Particle;

particles n time

Em geral, temos um sistema de n partículas cujas posições devem

ser determinadas no tempo:

1 2

1 2

1 2

1 2

n

n

n

nm m m

x x x

v v v

f f f

typedef struct{

Particle *p; /* array of pointers to

particles */

int n; /* number of particles */

float t; /* simulation clock */

} *ParticleSystem

typedef struct{

float m; /* mass */

float *x; /* position vector */

float *v; /* velocity vector */

float *f; /* force

accumulator */

} *Particle;

Em determinado instante, a função g

define um campo vetorial de x:

› Vento

› Rios

A equação:

é uma equação diferencial de primeia ordem.

Podemos resolver para x ao longo do tempo,

colocando a partícula em uma posição inicial e integrando passo a passo no campo vetorial:

Esse tipo de solução é denominada curva integral.

Começar aqui

𝑥 = 𝑔(𝑥, 𝑡)

https://www.youtube.com/watch?v=S7r

7OYufPo8

Considere uma partícula num campo de forças f.

Nesse caso, a partícula tem:

› Massa

› Aceleração

› Velocidade

› Posição

A partícula obedece a segunda Lei de Newton:

O campo de forças f pode depender da posição, da velocidade e do tempo

Rearranjando, temos:

( , , )t

m

f x xx

m m f a x

2

2d d

dt dt

va x v

x

( , , )t

m

x v

f x vv

Eq. Diferencial

de segunda

ordem

Eqs. Diferenciais

de primeira

ordem

1 2

1 2

1 2

1 2

0 0 0

n

n

n

nm m m

x x x

v v v

f f f

1. Clear forces Loop over particles, zero force accumulators

2. Calculate forces Sum all forces into accumulators

3. Return derivatives Loop over particles, return v and f/m

1 2

1 2

1 2

n

n

nm m m

v v v

f f f

Apply forces

to particles

Clear force

accumulators 1

2

3 Return derivatives

to solver

1 2

1 2

1 2

1 2

n

n

n

nm m m

x x x

v v v

f f f

F2 F3 Fnf F1

O movimento complexo de um sistema de objetos (um carro ou uma bailarina) pode ser simplificado se determinarmos o CENTRO DE MASSA desse sistema.

O CENTRO DE MASSA de um sistema de partículas é o ponto que se move como se ali toda a massa do sistema estivesse concentrada e todas as forças externas fossem aplicadas.

ii

n

icm xm

Mx

1

1

ii

n

icm ym

My

1

1

Exemplo:

21

2211

mm

xmxmxcm

CMs aMF

Re

Quantidade que indica como a massa do corpo em rotação está distribuída em torno do eixo rotacional.

Definição:

2

iirmI

2MRI )(

2

2

2

2

1 RRM

I

2

2MRI

124

22 MLMRI

12

)( 22 baMI

Se soubermos o momento de inércia de

um corpo em relação ao eixo que passa

pelo seu centro de massa ICM e

quisermos conhecer o momento de

inércia em relação a outro eixo, paralelo

ao primeiro e situado a uma distância h,

temos que:

2MhII CM

O deslocamento do centro de massa e a rotação estão vinculados:

s é o deslocamento do centro de massa do objeto

é o deslocamento angular do objeto em torno de um eixo que

passa pelo CM do sistema.

A velocidade do CM é dada por:

Rdt

dR

dt

dsvCM

CMv

Rs

R

s

𝜏 = 𝐹 × 𝐿

maf Fr

cP

dt

dPf

mvP

i

cL

dt

dL

prL

i

F r

r mvp

I

Momento Angular

)))()(())()((()( tvtqmtxtqtL i

)(t

)(tq

)(tx

))))()(()((( qtRtqtRmi

))))()(()(()(( txtqtmqtR i

Tensor de Inércia

zzyzxz

yzyyxy

xzxyxx

III

III

III

I

dmzyI xx )( 22

dmzxI yy )( 22

dmyxI zz )( 22

xydmI xy

xzdmI xz

yzdmI yz

𝑑𝑚

Espaço de fase

111 RRII objectrotated

)(

)(

)(

)(

)(

tL

tP

tR

tx

tS

)()()( 1 tLtItw

M

tPtv

)()(

)(

)(

)()(

)(

)(

)(

)(

)(

)(

*

t

tF

tRtw

tv

tL

tP

tR

tx

dt

dtS

dt

d

F

Frr

Object attributes

M, Iobject-1

Obs: Na prática, utiliza-se quatérnions ao

invés de matriz de rotação

Pontos discretos de massa (~particle system) conectados por uma rede de molas sem massa

Usado para modelar pele, músculos, cabelos, roupas, …

Lei de Hooke:

Podemos incluir termo de amortecimento:

Nota: Muito instável com integração de Euler… Outros métodos

como Runge-Kutta são recomendáveis

( )springf k x r

[ ( ) ]spring dampf k x r k v

r = comprimento

em repouso

1

1

1

p

x

v

2

2

2

p

x

v

Spring mesh

Each edge is a spring-damper

Each vertex is a point mass

Global forces: gravity, wind

Diagonal springs for rigidity

Algoritmo › Há n partículas no sistema e x representa o vetor

posição m (d2X/dt2) + C (dX/dt) + K X = F

› m, C, K são matrizes 3n x 3n:

massa, constante de amortecimento dureza das molas. m e C são diagonais. F é a força.

› Para resolver:

dV/dt = M–1 ( - CV - KX + F) dX/dt = V

Equações de Navier-Stokes

u=0

ut = k2u –(u)u – p + f

Incompressibilidade

Velocidade

Advecção

Difusão

Forças

Pressão

Navier-Stokes Equations

u=0

ut = k2u –(u)u – p + f

Incompressibility

Change in Velocity

Advection

Diffusion

Body Forces

Pressure

Navier-Stokes Equations

u=0

ut = k2u –(u)u – p + f

Incompressibility

Change in Velocity

Advection

Diffusion Pressure

Body Forces

All values live on regular grids

Need scalar and vector fields

Scalar fields: amount of smoke or dye

Vector fields: fluid velocity

Subtract adjacent quantities to

approximate derivatives

cij

1.2 3.7 5.1 …

cij

1

1

1

1

-4

cijnew = cij + k t (ci-1j + ci+1j + cij-1 + cij+1 - 4cij)

ct = k2c

change in

value

value relative

to neighbors

Original Some Diffusion More Diffusion

uij = (ux,uy)

ut = k2u

… blur the x-velocity and the y-velocity

uxt = k2ux

uyt = k2uy

Two separate diffusions:

viscosity

Effect of Viscosity

• Each one is ten times higher viscosity

than the last

Low Medium High Very High

“Melting and Flowing”

Mark Carlson, Peter J. Mucha, Greg Turk

Symposium on Computer Animation 2002

Navier-Stokes Equations

u=0

ut = k2u –(u)u – p + f

Incompressibility

Change in Velocity

Advection

Diffusion Pressure

Body Forces

Advection

0.3 2.7 0.3

ct = –(u)c

change in

value

advection current values

ut = –(u)u

uxt = –(u)ux

uyt = –(u)uy

Two separate advections:

… push around x-velocity and y-velocity

Easy to code

Method stable even at large time steps

Problem: numerical inaccuracy diffuses

flow

Navier-Stokes Equations

u=0

ut = k2u –(u)u – p + f

Incompressibility

Change in Velocity

Advection

Diffusion Pressure

Body Forces

High divergence Low divergence

Zero divergence

First do velocity diffusion and advection

Find “closest” vector field that is

divergence-free

Need to calculate divergence

Need to find and use pressure

u=?

uij=(uxi+1j - u

xi-1j) + (uy

ij+1-uy

ij-1)

?

-uyij-1

uyij+1

-uxi-1j ux

i+1j

unew = u – p

Take divergence of both sides…

unew = u – p

u = 2p

zero

u = 2p

pnewij = pij + (dij - (pi-1j + pi+1j + pij-1 + pij+1 - 4pij))

pnew = p + ( u - 2p)

Let dij = uij

known unknown

1

1

1

1

-4

unew = u – p

…and velocity is now divergence-free

Found “nearest” divergence-free vector

field to original.

1) Diffuse velocity

2) Advect velocity

3) Add body forces (e.g. gravity)

4) Pressure projection

5) Diffuse dye/smoke

6) Advect dye/smoke

Andrew Nealen, Matthias Müller, Richard Keiser, Eddy Boxerman and Mark Carlson. Physically Based Deformable Models in Computer Graphics. Eurographics STAR. 2005;

Greg Turk. Lecture Notes: Fluid Simulation for Computer Animation. http://www.cc.gatech.edu/~turk/powerpoint_presentations/fluids.ppt

Rick Parent. Computer Animation: Algorithm and Techniqes. Elsevier.

David Baraff. Rigid Body Dynamics. SIGGRAPH Course notes 2001. http://www.pixar.com/companyinfo/research/pbm2001/pdf/slidesf.pdf