way to prove it. One that I think will delight any math lovers. But before any of that, let's motivate things with an example of the kind of situation where these fluffy spheres naturally arise in practice in a context that initially seems completely unrelated. Okay, so imagine that you are a game developer and you're programming some game where you have a 3D model of an airplane and what you want is to be able to take an arbitrary trajectory for this plane to fly along, presumably something userdefined and your job is to write a function that orients the plane correctly as it moves along that trajectory. So for example, let's say you're at a given point on some given trajectory. You obviously want to move the center of the model to be on that point, but you're left with ambiguity on how it should be rotated in 3D space. The obvious constraint here is that you know the nose of that plane should point along the tangent vector of the path. But even that leaves some ambiguity. How is the plane rotated about this nosetotail axis? One way you could think about defining that last degree of freedom is in terms of where this perpendicular vector along the left wing direction points. The task for you as the programmer of this video game is to figure out what that perpendicular wing direction should be at every single point along a given trajectory. Now, there is a correct way to do this, which would involve calculating the second derivative of the trajectory, working out how to get this to match the lift force from the wings together with gravity. But maybe that seems a little complicated right now. resourceful and lazy programmer that you are, you might think, hey, is there just some reasonable thing I can do to choose some wing direction that's perpendicular to a given velocity vector, the heading direction of the plane. Here's one way you might think about it. All of the possible ways this plane could point in space, the various heading directions that I'm coloring in red, make up the points of a unit sphere. What you want is to write a function that takes in a given vector on the sphere and returns some choice for a vector perpendicular to it. The ones that I'm coloring in pink. The only real constraint is that you want this association to be continuous. Otherwise, it would mean the plane's orientation could sharply jump, which would be a very clear glitch in the game. And if you know nothing else, it really feels like this should be a possible task. After all, for a given heading direction, you are not starved for choices. You have infinitely many wing directions to choose from. An entire circles worth of options. So, how hard could it be to make some reasonable choice for every point on the sphere that varies continuously? You might see where I'm going with this. Choosing a perpendicular direction like this is equivalent to choosing a unit tangent vector to that point of the sphere. So if you're assigning a specific perpendicular to every possible direction that plane could be pointed, that's basically the same thing as defining a tangent vector at every point on a sphere. Now, this is starting to look a little bit more like a hairy ball. And in fact, now is as good a time as any to step back and describe what the hairy ball theorem actually says more formally. If you have a sphere and you choose some point on that sphere and a plane tangent to the sphere at that point, then any vector that you choose within that plane which is rooted at that point is called a tangent vector of the sphere. If you assign a tangent vector to every single point on the sphere, one for each possible tangent plane, we call it a vector field on the sphere. And whenever you're drawing vector fields like this, it's always standard to scale the vectors down so that you can avoid clutter. And the other thing to keep in mind is that even though an illustration like this necessarily only shows a finite set of vectors rooted at points on the sphere, of course, a vector field consists of infinitely many vectors, one for every single point on the continuous surface. So the theorem, our main character for today, states that if your vector field is continuous, meaning there are no sudden jumps in its direction, then it must have at least one point with a null vector, meaning a vector whose length is zero. For example, look back at our 3D model case. The function that I was using for many of the animations there was essentially trying to keep the roof of the plane pointed as upward as possible. And when you express this function as a vector field where again each possible direction for the nose of the plane is thought of as a point on the sphere and each corresponding wing direction is thought of as a tangent vector at that point of the sphere. Then it turns out that function I was using gives a vector field that spirals around the vertical axis. This actually does give reasonable enough animations in most cases. But the problem is that it has a discontinuity at the poles. So if ever I let the plane point straight up or straight down using this function, you would get this glitching behavior as it passes through that direction. Now if you're just a programmer messing around with this, you might think you can tweak things to avoid glitches like that. But actually the hairy ball theorem guarantees no matter how clever you are, you are doomed to have some direction producing this kind of glitch. So for robust animations, you cannot simply use the direction of the nose of the plane to determine its full orientation. You have no choice but to step back and incorporate more information from the trajectory than the velocity vector alone. As another example, think about the wind velocity at every point on the Earth, say at some constant altitude. A pretty reasonable assumption is that wind velocity varies continuously. So the hairy ball theorem should apply. The wind pattern I'm animating here is completely unrealistic from a meteorological standpoint. But the point is that whatever wind pattern you dream up, realistic or not, the hairy ball theorem is going to guarantee that there is always one place on the earth for a given altitude where the wind velocity is exactly zero. Now if we're being pedantic, you could say atmosphere is three-dimensional. So the more accurate statement would be that the component of wind velocity parallel to the ground is zero. You know it could be going straight up or straight down. But still it is kind of counterintuitive. A slightly more pragmatic example is if you want a radio signal that is completely identical in every direction of 3D space in the sense that everyone a given distance away from the source receives an identical radio wave, same phase and amplitude at all points of time. That might seem like a reasonable objective, but if you know a little bit about electromagnetic waves, you'll know that they are oscillations in two distinct vector fields, the electric and the magnetic fields specifically. Importantly, the direction of oscillation for each one of these fields is always perpendicular to the direction of propagation, at least far away from the source. So, think about what that means. At a given distance away from the source, either one of these fields looks like a tangent vector field on the sphere. And the hairy ball theorem states at least one point of that vector field has to be zero. So the only way to have a completely identical signal in every direction of 3D space is for the signal itself to be zero, which presumably defeats the point. I bring up these examples just to say that this seemingly playful fact about fluffy spheres really does pop up in unusual places. But what I really want to do with this video, the fun that I want to have, is to let you explore this idea the way that a pure mathematician might.