✨

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
← 💡 LightingProcedural 🌀 →
Interactive lessonCanvas visualizersMathematical notation