Presentation is loading. Please wait.

Presentation is loading. Please wait.

Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.

Similar presentations


Presentation on theme: "Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012."— Presentation transcript:

1 Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012

2 2 Particle Systems loosely defined ­modeling, or rendering, or animation key criteria ­collection of particles ­random element controls attributes position, velocity (speed and direction), color, lifetime, age, shape, size, transparency predefined stochastic limits: bounds, variance, type of distribution

3 3 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction Most important of procedural methods Used to model ­Natural phenomena Clouds Terrain Plants ­Crowd Scenes ­Real physical processes

4 4 Particle Systems Demos general particle systems ­http://www.wondertouch.comhttp://www.wondertouch.com boids: bird-like objects ­http://www.red3d.com/cwr/boids/http://www.red3d.com/cwr/boids/

5 5 Particle Life Cycle generation ­randomly within “fuzzy” location ­initial attribute values: random or fixed dynamics ­attributes of each particle may vary over time color darker as particle cools off after explosion ­can also depend on other attributes position: previous particle position + velocity + time death ­ age and lifetime for each particle (in frames) ­or if out of bounds, too dark to see, etc

6 6 Particle System Rendering expensive to render thousands of particles simplify: avoid hidden surface calculations ­each particle has small graphical primitive (blob) ­pixel color: sum of all particles mapping to it some effects easy ­ temporal anti-aliasing (motion blur) normally expensive: supersampling over time position, velocity known for each particle just render as streak

7 7 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Newtonian Particle Particle system is a set of particles Each particle is an ideal point mass Six degrees of freedom ­Position ­Velocity Each particle obeys Newtons’ law f = ma

8 8 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Particle Equations p i = (x i, y i z i ) v i = dp i /dt = p i ‘ = (dx i /dt, dy i /dt, z i /dt) m v i ‘ = f i Hard part is defining force vector

9 9 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Force Vector Independent Particles ­Gravity ­Wind forces ­O(n) calulation Coupled Particles O(n) ­Meshes ­Spring-Mass Systems Coupled Particles O(n 2 ) ­Attractive and repulsive forces

10 10 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Solution of Particle Systems float time, delta state[6n], force[3n]; state = initial_state(); for(time = t0; time<final_time, time+=delta) { force = force_function(state, time); state = ode(force, state, time, delta); render(state, time) }

11 11 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Simple Forces Consider force on particle i f i = f i (p i, v i ) Gravity f i = g g i = (0, -g, 0) Wind forces Drag p i (t 0 ), v i (t 0 )

12 12 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Meshes Connect each particle to its closest neighbors ­O(n) force calculation Use spring-mass system

13 13 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Spring Forces Assume each particle has unit mass and is connected to its neighbor(s) by a spring Hooke’s law: force proportional to distance (d = ||p – q||) between the points

14 14 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Hooke’s Law Let s be the distance when there is no force f = -k s (|d| - s) d/|d| k s is the spring constant d/|d| is a unit vector pointed from p to q Each interior point in mesh has four forces applied to it

15 15 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Spring Damping A pure spring-mass will oscillate forever Must add a damping term f = -(k s (|d| - s) + k d d·d/|d|)d/|d| Must project velocity ·

16 16 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Attraction and Repulsion Inverse square law f = -k r d/|d| 3 General case requires O(n 2 ) calculation In most problems, the drop off is such that not many particles contribute to the forces on any given particle Sorting problem: is it O(n log n)?

17 17 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Boxes Spatial subdivision technique Divide space into boxes Particle can only interact with particles in its box or the neighboring boxes Must update which box a particle belongs to after each time step

18 18 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Particle Field Calculations Consider simple gravity We don’t compute forces due to sun, moon, and other large bodies Rather we use the gravitational field Usually we can group particles into equivalent point masses

19 19 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Solution of ODEs Particle system has 6n ordinary differential equations Write set as du/dt = g(u,t) Solve by approximations using Taylor’s Thm

20 20 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Euler’s Method u(t + h) ≈ u(t) + h du/dt = u(t) + hg(u, t) Per step error is O(h 2 ) Require one force evaluation per time step Problem is numerical instability depends on step size

21 21 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Improved Euler u(t + h) ≈ u(t) + h/2(g(u, t) + g(u, t+h)) Per step error is O(h 3 ) Also allows for larger step sizes But requires two function evaluations per step Also known as Runge-Kutta method of order 2

22 22 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Contraints Easy in computer graphics to ignore physical reality Surfaces are virtual Must detect collisions separately if we want exact solution Can approximate with repulsive forces

23 23 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Collisions Once we detect a collision, we can calculate new path Use coefficient of resititution Reflect vertical component May have to use partial time step

24 24 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Contact Forces


Download ppt "Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012."

Similar presentations


Ads by Google