PHYSICS

x′ = x + v·dt + ½a·dt²
a′ = F(x′) / m
v′ = v + ½(a + a′)·dt
3-pass: pos → forces → vel
r² = Δx²+Δy²+ε²
r³ = r² · √r²
aᵢ += G·mⱼ·Δr / r³
aⱼ -= G·mᵢ·Δr / r³
ε softens r→0 blowup
N(N-1)/2 pairs via 3rd law
ρ = (t − t_d) / t_r
ρ = clamp(ρ, 0, 1)
F = k · ρ · (x* − x)
t_d = drift delay
t_r = ramp duration
x* = target pixel
v ← v · d
d = d_b if t < t_d
d = d_f if t ≥ t_d
d_b = burst damp (looser)
d_f = form damp (tighter)
|x − x*| < r_lock
→ v = 0, a = 0
→ frozen in place
r_lock = 4 px snap radius
cost(i,j) = |pᵢ − t_j|²
min Σ cost(i, σ(i))
O(n³) Jonker-Volgenant
optimal particle↔pixel map

IMPACTFACE

camera inactive
joy
0%
anger
0%
fear
0%
sadness
0%
surprise
0%
particles 50
A
B
—
diam—
mass—
albedo—
type—
SMA—
—
diam—
mass—
albedo—
type—
SMA—
gravity 50000
spring 15
drift s 1.0
ramp s 3.0
b.damp 0.985
f.damp 0.96
particles 0
formed 0%
phase idle
— — ⚡ — —