Algorithmic Animation &
Particle Systems
Key Frame Animation
• Hand-drawn animation was
straight-ahead (start at one
position, and animate each
small movement
• Computer Animation is usually
based on key frames – a frame
for the starting position and a
frame for the end position
Key Frame Animation
• How do you calculate the frame
positions in between key
frames?
• Interpolation: Approximation of
a function between two known
points
Why interpolation?
• Attributes (position, size, color)
change as a function over time
• Function often given by physics
f = ma
• Why approximate a known
function?
• Solving function at certain point
requires solving differential
equations
Interpolation
• Idea: Don’t want to solve
equation at each point
• Approximate some points and
connect them with
• Lines
• Arcs
• Other functions (trig)
Euler Integration
• Use first derivative to get the
direction of the curve at a point.
• Draw lines in direction of first
derivative
• Accuracy depends on the
frequency with which you reevaluate the derivative
Euler Integration
Linear Interpolation
• Use a line to connect 2 way
points
• In C#:
• Mathf.Lerp(from, to, percent)
• Vector3.Lerp
• Quaternion.Lerp
• Color.Lerp
Example – Moving
between way points
private Vector3 start;
private Vector3 end;
private float startTime;
private float speed;
void Start() {
startTime = Time.time;
}
void Update() {
float journeyLength =
Vector3.Distance(start, end);
float distCovered = (Time.time - startTime)* speed;
float fracJourney = distCovered / journeyLength;
transform.position = Vector3.Lerp(start, end,
fracJourney);
}
More on Approximation
• Collision Detection:
• Can’t always calculate every
collision
• Isolate groups of things that may
collide
• Approximate the result
Example: Hair
Example: Springs
•
•
•
•
Hooke’s law:
f = – kx
k is “springiness” constant
x is extension
• Also know f = ma
• Spring forces act
on other elements(&
other springs)
Particle Systems
• Create one simple object
• Objects follow rules of behavior
• Many instances of the simple
object create an interesting
overall effect
Examples:
• Small spheres
• Fireworks
• Waterfalls
Particle Systems:
• Springs
• Hair
• Cloth
Distributed Computation
• De-centralized control
• Aggregate behavior emerges
• Simple rules for the individual
lead to complex behavior for the
group
• Often very natural-looking
Distributed Computation
Examples
• Braitenberg Vehicles
• Light lover
• Light fear
• Aggression
• Traffic
Patterns
Distributed Computation
Examples
• Boids: three rules
• Separation
• Alignment
• Cohesion
Distributed Computation
Examples
• Fish
• Virtual Fishtank
• Xiaoyuan Tu
Artificial Life
• Ants
• Know “home”
• Look for food
• If they find food source, pick it up
and head home
• Drop pheromones – chemicals
“smelled” by antennae
• Result: All food gets taken home
Artificial Life
• Termites
• Rules
• If you reach food and don’t have
any, pick some up
• If you reach food and have some
already, put it down
• Move randomly
• Result: food in one place
Artificial Life
• Creatures
• Random joints with degrees of
freedom
• Try to move
• Learn to move from one place to
the other
© Copyright 2026 Paperzz