Have you ever tried drawing a circle? I don't mean any old circle, I mean a
perfect circle. I bet you have. I assume it didn't work out, huh? Well, computers, and specifically computers in the late 90's when Pixar's
Toy Story was being created, have a hard time doing it too since a computer screen works in pixels (I'll talk more about pixels versus vectors in a later blog post). Computers are great at drawing straight lines, however.
What computers do to "fake" circles is actually quite ingenious, if you ask me. They create thousands and thousands of points in a circular arrangement and draw lines between each point, thus creating the illusion of a round circle. In the 3D animation world this is called
subdividing. YouTube user, Numberphile visited Pixar in November of last year and sat down with Tony DeRose, who leads the research group there.
Ok, let's take a step back real quick and provide some background information. The basis of 3D animation is computer science, heck, even the founder of Pixar, Ed Catmull, was a computer scientist. Everything you see over the course of the day, cars, trees, the computer you're reading this on, is comprised of basic three-dimensional shapes, spheres, cubes, cones, cylinders, etc. As you've probably seen, some characters are a lot more sophisticated than these basic shapes.
The exemplar character that DeRose uses is Geri from the short film
Geri's Game. Geri is an old man with the heart of a child, but he's still old. The way that his hand, for instance, was modeled was by creating adjoining shapes with rough edges that made Geri look, for lack of a better word, fake. Geri is a person and people have skin, right? So the team at Pixar had to figure out a way to make his skin look like skin. This is where subdivision comes into play.
Subdivision takes the rough edges and smooths them out by doing two steps, splitting segments and averaging their midpoints, thus giving us smoother and smoother shapes until you finally get something like the last image.
It is this process that allows the creation of smooth characters like Woody, Buzz, and Porygon 2.
For a more in depth demonstration of subdivision at work, check out Numberphile's
video.