Adobe Flash animation, which starts with one large rectangle, which is divided into four slightly smaller, which, in turn, are divided again, and so on.
The idea behind this animation is based on so-called quad trees used in computer graphics.

You need the Adobe Flash plugin to see the animation.
screenshot subdivision animation

A virtual object consists of polygons: small flat surfaces. If the number of polygons is large enough, you will perceive the object as being a realistic representation of a real object.
To calculate whether a polygon casts a shadow, you need to calculate whether there is another polygon between the polygon and the virtual light source.

One way to do this is to check all polygons in the virtual space. Depending on the number of polygons, this will result in a huge number of calculations.
To reduce the amount of calculations the virtual space is devided into cubes. If a cube is empty, the subdivision ends, if a cube has virtual objects in it, the cube is devided again etc. etc..
Instead of calculating all polygons, first the enclosing cube is submitted to a calculation, if there's no intersection, there will not be intersection with one of the polygons inside that specific cube. This method allows to reduce the number of redundant calculations considerably.

In this case, the cubes are replaced by rectangles. The rectangle is only divided if the colours inside the square differ from each other.
After some time, a pixel-art illustration will emerge.