* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Relational approach to quantum physics wikipedia , lookup
Jerk (physics) wikipedia , lookup
Lagrangian mechanics wikipedia , lookup
Canonical quantization wikipedia , lookup
Monte Carlo methods for electron transport wikipedia , lookup
Faster-than-light wikipedia , lookup
Newton's laws of motion wikipedia , lookup
Particle filter wikipedia , lookup
Gibbs paradox wikipedia , lookup
Velocity-addition formula wikipedia , lookup
Mean field particle methods wikipedia , lookup
Double-slit experiment wikipedia , lookup
Relativistic quantum mechanics wikipedia , lookup
Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup
Newton's theorem of revolving orbits wikipedia , lookup
Classical mechanics wikipedia , lookup
Grand canonical ensemble wikipedia , lookup
Centripetal force wikipedia , lookup
Atomic theory wikipedia , lookup
Equations of motion wikipedia , lookup
Rigid body dynamics wikipedia , lookup
Work (physics) wikipedia , lookup
Identical particles wikipedia , lookup
Brownian motion wikipedia , lookup
Classical central-force problem wikipedia , lookup
Elementary particle wikipedia , lookup
Notes cs426-winter-2008 1 Velocity fields Velocity field could be a combination of pre-designed velocity elements • E.g. explosions, vortices, … Or from “noise” (or “Perlin noise”) • Smooth random number field • Essentially a Hermite spline from a pseudorandom hash Or from a simulation • Interpolate velocity from a computed grid • E.g. smoke simulation cs426-winter-2008 2 Time integration woes For rotational motion, immediately find serious flaw with Forward Euler: instability Better off using a more accurate, more stable Runge-Kutta method • For example: 3rd order k1 v x k2 v x 12 tk1 k3 v x 43 tk2 x new x 29 tk1 93 tk2 49 tk3 cs426-winter-2008 3 Second order motion Real • • • • • particles move due to forces Newton’s law F=ma Need to specify force F (gravity, collisions, …) Divide by particle mass to get acceleration a Update velocity v by acceleration Update position x by velocity v new i F(x i ,v i ,t) v i t mi new i x i tv x new i cs426-winter-2008 4 Basic rendering Draw a dot for each particle But what do you do with several particles per pixel? • • • Add: models each point emitting (but not absorbing) light -- good for sparks, fire, … More generally, compute depth order, do alphacompositing (and worry about shadows etc.) Can fit into Reyes very easily Anti-aliasing • Blur edges of particle, make sure blurred to cover at least a pixel Particle with radius: kernel function cs426-winter-2008 5 Motion blur One case where you can actually do exact solution instead of sampling Really easy for simple particles • Instead of a dot, draw a line • • • (from old position to new position - the shutter time) May involve decrease in alpha More accurately, draw a spline curve May need to take into account radius as well… cs426-winter-2008 6 More detailed particle rendering Stick a texture (or even a little movie) on each particle: “sprites” or “billboards” • • Draw a little object for each particle • • Need to keep track of orientation as well, unless spherical We’ll get into full-fledged rigid bodies later Draw between particles • E.g. a noise function E.g. a video of real flames curve (hair), surface (cloth) Implicit surface wrapped around virtual particles (e.g. water) cs426-winter-2008 7