The wonderful Math that powers Disney’s Animation
I used to think that the link between math and art has always been somewhat tenuous until I recently discovered the kinds of math the animation artists at Disney Studios have been working on.

Where physics, computer science, and art come together.
A tenuous link? Not at all.
I have always been fascinated by the intersection between mathematics and art. This is primarily due to my family background. Growing up, my sister has pursued art ever since I could remember and now has an art career. Meanwhile, I was always interested in science. I used to think that the link between math and art has always been somewhat tenuous until I recently discovered the kinds of math the animation artists at Disney Studios have been working on.
In no other field is this intersection more prevalent than in physical animation. Physical animation is the art of creating mathematical and computational models to animate complex materials like snow, cloth or fur. At Walt Disney Animation Studios, Pixar Studios and video game companies, the science of animating materials used to tell stories is an art in itself. So if you’d ask me to choose any other career than what I am doing now, I would definitely love to try my hand at designing physical animations.
In this article, I’ll be looking at some of the questions Disney Animation studios addressed in their snow animations in movies like the Frozen series.
Modelling snow
In my opinion, there is no more versatile material to model than snow. It is a material that can be both solid and fluid, both fluffy and dense. In addition, it is also a material that can be broken apart and fractured. The rewards for modelling snow artistically are great. I think that there is a deep emotional connection that humans have with winter. Winter can represent both joy and sadness, both the calm and the storm. For this reason, there is an incentive to model snow correctly from a storytelling point of view.
Despite the rewards of modelling snow, the challenges are equally as great. For example, in physics animation, a lot of thought is required to model the following phenomena prevalent in all materials, not just snow.
Volume and compactness — how do we model snow’s resistance to changes in volume? Snow is a compressible material — we can squash and pack it tightly, but there are limits.
Stiffness — when we step on snow with a lot of force, it gets harder and more compact. How do we model this dynamic hardening?
Collisions — when we throw a snowball against a wall, we expect that it shatters in some way. How do we even begin to think about this?
Topological changes — how do we model when an object splits into two parts or coalesces into one?
In addition, there are also challenges to modelling properties specific to snow itself. For example, snow is a material that rapidly changes its properties. One way to tackle this chameleon-like nature of snow is to possibly build many different, separate models for the different phases of snow. However, this is not a scalable approach — it is also not realistic for snow to ‘switch’ between its different modes. We need some way to transition between the facades that snow can have smoothly.
To top this all off, we also need to make sure that our models are computationally efficient. Computational efficiency measures how many added steps need to be calculated in a physical model as we scale it up. Even if we manage to make sophisticated models, our time is precious. So there is a trade-off between the level of accuracy that we want to achieve versus the time it takes to run.
What quantities do we care about when we model a system?
In the case of snow, our approach will be to predict and model the evolution of snow ‘particles’ as time elapses. Animators or modellers attempt to make predictions about a group of fairly universal quantities that make a particle interesting to make this as realistic as possible. There are a few obvious quantities. Obviously, we care about position and velocity.
There are also materials specific quantities that you may not have heard of. We also care about the deformation of a group of particles. The deformation of an object is a measure of how the object evolves as we scan across the particles. Finally, the stress of an object is a measure of the internal forces of the particles inside the object acting on one another.

These quantities are governed by several simple equations, which then our modelling techniques have to solve. The first equation to the left states that the density at each given particle should remain the same — the total time derivative of density is zero. The equation in the centre relates the force that a particle experiences to be the sum of the change in the stresses applied on it and gravity. The final equation gives us an expression of how to get the ‘stress’ of a particular material as a function of the energy stored within it.
The first two equations to the left are general equations designed to model any material in general. For the rightmost equation, the form of the function psi is something that we choose to reflect best how snow behaves — it encodes the energy stored in the material and is called the elastoplastic energy density function. The choice of psi in the equation to the right is something that I will elaborate on in a different post.
For now, it suffices to know that the models proposed for the elastoplastic energy density function decomposes snow into an elastic part and a plastic part and deals with them separately. An elastic material is a material that restores its shape when a force is applied. Plastic material is a material that does not. Stomakhin et al. (2014) identify an ‘elastic regime’ where the model behaves elastically and a threshold for when it becomes a plastic material. This models the distinction for when snow ‘hardens’ and starts to behave plastically.
Two different approaches to modelling physical systems
In physical modelling, two paradigms can be used to model a complex system of particles and materials. The first paradigm is the most obvious approach: attaching a label to each particle and tracking its changes as the systems evolve. If we have particles A, B, C and so on, we track them individually and monitor their own position, mass and momentum as the system evolves. This is called the Lagrangian approach, and particles are ‘labelled’ based on where they’re found in the beginning.
Other important physical quantities such as the acceleration and velocity are also ‘attached’ to each particle at each timestep.
Taking a set of mathematical equations into the discrete, numerical processes that a computer can understand is called discretization. The advantage of using the Lagrangian method is that these physical equations are easy to discretise since they refer to the motion of individual particles.
The other method to model behaviour in continuous solids is the Eulerian method. However, in contrast to modelling particles by tracking them as they evolve, the Eulerian method focuses on evolution at a fixed point in space. So, instead of following particles A, B, and C as they whizz about the room, we instead focus on a specific point in space — say the upper right corner — and then track when the particles enter that specific point.
Because the Eulerian method is grid-based, it is easier to model collisions and contact between particles because we have to add up the sums of the velocities at each grid point — and we don’t have to do a calculation on each particle. Instead, we only need to calculate a fixed number of grid nodes, which doesn't change even when we add more particles to our simulator.
So which techniques did Disney use to model snow? Did they go with the Eulerian method or the Lagrangian method?
Disney used a method that combines both to effectively capture the benefits of the Lagrangian method whilst retaining the easy collision and contact properties of the Eulerian method. The material point method, which is analysed in detail in an excellent set of notes by Jiang et al. ¹, is a method that combines both the Eulerian and Lagrangian methods to model snow.
The material point method first computes the Lagrangian method's quantities easily, such as position, velocity, and momentum. It then interpolates the position and masses, transferring particle state information onto a grid, working in the Eulerian framework like a scratchpad. In doing this, we get fracture and topological changes for free.
The first step is finding a meaningful way to transfer mass information about particles onto the grid. To do this, we use the interpolation functions outlined in ‘A Material Point Method for Snow Simulation’ by Stomakhin et al. (2013)². We write out grid masses like
We decompose the particle's mass into mass elements on fixed grid nodes with the weighting functions denoted by w^m. The functions act like smoothers to spread out the mass of a single particle across several nodes. For example, in the animation below, I visualised a blue particle moving in a circle, accompanied by red dots on the grid to show each node's mass weighting throughout time. As you can see, when the particle moves to the respective grid notes, the mass weighting of the node gets larger.
Next, we solve velocities in the Eulerian view and then switch back into the Lagrangian, where deformation gradients are updated. So, we’ve found that the combination of the two methods is used to cover the weaknesses of each separate method.
Wrap up
I am not an animator myself, but I find the numerical and physical methods used in animation fascinating. So I hope this post has shed a little light on some of the cool math used in our favourite animated movies.
References
[1] The Material Point Method for Simulating Continuum Materials, 2016, Jiang et al. @ https://cg.informatik.uni-freiburg.de/intern/seminar/animation%20-%20MPM%20survey%20-%202016.pdf
[2] A material point method for snow simulation, 2013, Stomakhin et al. @ https://dl.acm.org/doi/10.1145/2461912.2461948