Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

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

Propagator 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

Matter wave wikipedia , lookup

Kinematics wikipedia , lookup

Transcript
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