' '

1. Linear Approximations in 2D

Let’s say you’re making a 2D game on very old hardware. You would like to draw this shape:

circle

The attentive reader will notice this is a circle. However, circles are rather computationally expensive to draw. Maybe you can find another way?

Lines. Lines are cheap. Let’s try to approximate our circle using line segments.

approx4

Well, it’s an approximation all right. But it will have to do: your hardware can’t handle any better. However, when you’re able to get your hands on something more powerful, you can easily improve your "circle":

Vertex count Result

8

approx8

16

approx16

32

approx32

64

approx64

What’s nice about this approximation trick is that it is applicable on any shape, however complex it may be. You can make an arbitrarily close approximation by simply throwing more line segments at it.

2. Linear Approximations in 3D

In 3D, line segments will not do. We need something better. Instead of line segments, we use "plane segments". Or triangles, if you will.

Here they are in action:

We call such a collection of triangles a mesh. Any shape can be built out of triangles, as long as you have enough of them. For example, our friend the happy Buddha above is built out of a 1,087,716 triangles.