✨
VFX
Dynamic Phenomena Modeling
Roadmap topics covered here
Full roadmap →VFX lessons
Particle Integration Methods
Euler (1st order)
v(t+dt) = v(t) + a(t)*dt x(t+dt) = x(t) + v(t)*dt
Verlet (2nd order)
x(t+dt) = 2x(t) - x(t-dt) + a(t)*dt^2
Velocity-free -- preferred for cloth, physics
RK4 (4th order)
x_{n+1} = xn + (dt/6)(k1+2k2+2k3+k4)
4 derivative evaluations per step
Live: Integration Stability Comparison
A damped spring simulated by all 3 methods. Increase dt to see Euler explode while Verlet and RK4 remain stable:
Live: Verlet Particle Emitter
Force Fields
Forces
Gravity: F=m*g Drag: F=-b*v Vortex: F=w x r
Wind: F=1/2*p*A*Cd*|v|^2*v^ Attract: F=-k(p-c)/|p-c|^3
Navier-Stokes
NS
du/dt + (u.grad)u = -grad(p)/rho + nu*laplacian(u) + f
div(u) = 0 (divergence-free constraint)
SPH
rho_i = Sum mj*W(|xi-xj|, h) W=smoothing kernel
Curl Noise
Curl
v = curl(N(p)) guarantees div(v) = 0
No particle clumping -- swirling smoke/fire
Live: Curl Noise Flow Field
Particles follow a divergence-free velocity field. Notice: no clumping, smooth swirling patterns:
Curl noise: divergence-free velocity — no clumping, smooth swirling
Interactive lessonCanvas visualizersMathematical notation