37
MUX104 Synthèse d'image et réalité virtuelle Trajectoires simulées Pierre Cubaud cubaud @ cnam.fr mars 2020

Trajectoires simulées

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trajectoires simulées

MUX104Synthèsed'imageetréalitévirtuelle

Trajectoiressimulé[email protected]

Page 2: Trajectoires simulées

Planducours•Dynamiquedupoint•Particules•Nuées•Passageausolide(indéformable)

Page 3: Trajectoires simulées

1. Dynamique du point

Page 4: Trajectoires simulées

Formulefondamentaledeladynamique:

F∑ = ma avec a =

d2x dt 2

d2y dt 2

d2z dt 2

#

$

% % %

&

'

( ( (

=

˙ ̇ x ˙ ̇ y ˙ ̇ z

#

$

% % %

&

'

( ( (

[PAR]

Page 5: Trajectoires simulées

Exempled’unprojectiledanslevide

F∑ =

0−mg

0

$

%

& & &

'

(

) ) )

= m! a =

m˙ ̇ x m˙ ̇ y m˙ ̇ z

$

%

& & &

'

(

) ) ) ⇒

˙ x = v0 cosα˙ y = v0 sinα − gt

˙ z = 0

,

- .

/ .

x = v0t cosα

y = v0t sinα − 12

gt 2

z = 0

,

- .

/ .

avecg=9.81m/s^2

Page 6: Trajectoires simulées

demo

Page 7: Trajectoires simulées

Choix du vecteur Vo et ajout des rebonds :

demo

Page 8: Trajectoires simulées

Leprojectiledansl’air

Résolutionparintégrationnumérique:deEuleràRunge-Kutta

φ

-mgpesanteur

résistancedel’air

F(v)

at =dvdt

an = −v dφdt

dvdφ

= v tanφ +F(v)

mgcosφ#

$ %

&

' ( Equationdifférentielle:

Page 9: Trajectoires simulées

2.Particules

Page 10: Trajectoires simulées

"GenesisEffectfromStarTrekII:TheWrathofKhan»(ByWilliamReeves)Videoclipfrom"ParticleDreams"byKarlSims.

Page 11: Trajectoires simulées

Hypothèses:•lesparticulesn'entrentpasencollisionentreelles•neprojettentdel'ombrequesurlerestedumonde•neréflechissentpaslalumière,sontdessourcesdelumièresponctuelles•duréedeviefinie(aléatoire).Ongénéredes100kpart.dansuneanimation.QuelquesKactifssimultanément

Applications:explosions,feux,...

W. T. Reeves, "Particle Systems - A Technique for Modeling a Class of Fuzzy Objects", Computer Graphics, vol. 17, no. 3, pp 359-376, 1983

Page 12: Trajectoires simulées

Cycle de vie : pour chaque plage temporelle faire : 1.  générer N nouvelles particules 2.  donner des attributs aux nouvelles particules 3.  détruire les particules dont la durée de vie est passée 4.  animer les particules restantes : gestion collision+ombre 5.  (les collisions peuvent être destructives, le hors-champs aussi) 6.  dessiner les particules restantes

[PAR]

Page 13: Trajectoires simulées

N=moyenne+aléa()*plageExempledeloialéatoireàutiliserpouraléa():- uniformedans[-1,+1]- normale(0,1)- loidePoisson- etc...

ATTENTION:plage≠variance(cfFoley-vanDamp.1032,etc.)plutôtécarttype(siloiNormale,maispaspourlesautres)

Générationdesparticules

p(N)

N

Page 14: Trajectoires simulées

Attributsdelaparticule:déterministesoualéatoires- position- vitesse- paramètresdeforme- couleur- transparence- duréedevie(ennombred’images)

en+pourl'animation:- vecteursommedesforces- masse

[PAR]

Page 15: Trajectoires simulées

http://www.cs.wpi.edu/~matt/courses/cs563/talks/psys.html

Exemplesimple:pagewebdeAllenMartin

Particlesarelaidoutinacirculardiscstructureandgivenaninitialupwardsvelocity.Whentheparticle'slifetimeisexpireditisremoved.Iftheparticlecollideswiththegrounditremainsstationary

SimilartoExample1,butparticlesareinitiallyclusterednearasinglepoint.

rque:onpeutfairedu«motionblur»endessinantdestraitsaulieudepoints

Page 16: Trajectoires simulées

In this example the particles are initially clustered in a point similar to Example 2 but particles are constantly being regenerated at the start point. The effect looks very much like a fire or torch burning.

In this example the point where the particles are being regenerated is translated in a circular motion through time. The effect looks like a wick burning.

In this example there are multiple generation points. The generation point are randomly created within a square boundary on the ground at random times during the sequence. The particles are created in a cluster at each generation point and are not regenerated. The result looks like a series of volcanos erupting or bombs exploding

Page 17: Trajectoires simulées
Page 18: Trajectoires simulées

3.Nuées

Page 19: Trajectoires simulées

Différentstypesdegroupesd’objets:

Typedegroupe

Nombred'éléments

Loisphysiques Intelligence

particules trèsgrand nombreusesdsl'env.

aucune=>comportementémergent

bandes=nuées=«boids»

moyen dsl'env.+interne

limitée

individu faible petitnombre grande

Page 20: Trajectoires simulées

C. W. Reynolds, "Flocks, Herds, and Schools: A Distributed Behavioral Model", Computer Graphics, vol. 21, no. 4, pp 25-34, 1987.

VOIRSONSITE!!http://www.red3d.com/cwr/boids

video

Page 21: Trajectoires simulées

Separation: steer to avoid crowding local flockmates

Alignment: steer towards the average heading of local flockmates

Cohesion: steer to move toward the average position of local flockmates

http://www.red3d.com/cwr/boids

a boid's neighborhood

deux forces concurrentes : - la cohésion au sein du groupe - l’évitement de collision (prioritaire)

Page 22: Trajectoires simulées

Exemple de programmation avec Processing :

demo

Page 23: Trajectoires simulées

http://mrl.nyu.edu/~perlin/experiments/polly/follow.html

unautreexemple(aveccode):sitedeKenPERLIN

Page 24: Trajectoires simulées

[PAR]

Page 25: Trajectoires simulées

Esquivedecollision

[PAR]

[PAR]

Page 26: Trajectoires simulées

versl’autonomie

[PAR]

Page 27: Trajectoires simulées

http://ligwww.epfl.ch/

Page 28: Trajectoires simulées
Page 29: Trajectoires simulées

4. Passage au solide indéformable

Page 30: Trajectoires simulées

(re)voir"Gravity"

Page 31: Trajectoires simulées

Anglesd’Euler:

=lacet=tangage

=roulage

Page 32: Trajectoires simulées

Mécaniquedusolideenrotation(Wikipedia)

F=m*a C=I*αeffort=inertie*variation

Page 33: Trajectoires simulées

Alire:wikipedia

Page 34: Trajectoires simulées

Boucledesimulation

Intégration du temps

Détection collisions

Construction de J

Correction positions

Correction vitesses

Affichage

Construction de J

Calcul forces de

contraintes

Calcul forces externes

Calcul forces externes +

ou

Page 35: Trajectoires simulées

Karma(soc.MathEngine)utilisédansRenderware

Moteursphysiques

Page 36: Trajectoires simulées

Uneapplicationludiquemajeure:le«cassebriques»

Docencoreenligneen2019:https://api.unrealengine.com/udk/Two/rsrc/Two/KarmaReference/KarmaUserGuide.pdf

Page 37: Trajectoires simulées

Àvoiraussi

http://www.ode.org/