Okay, now that we are all excited about making a 3D graphics engine, where do we start? Well, the first thing that we need is to be able to position our objects in the virtual world. If we don't know where things are, we will not be able to draw them. We will use the Cartesian coordinate system to describe positions in space.

The Cartesian coordinate system is your standard X,Y,Z system (Shown in the image to the Right). It consists of three axises (shown in green), all perpendicular to each other. To specify a point in three space, you must specify three coordinates, the X,Y and Z coordinates. The Origin (O) of the coordinate system is special, it has coordinates (0,0,0). Each of the coordinates measure a distance parrellel to their respective axis from the origin to the point.

The yellow tick marks on the diagram show a general idea, these are measured axises. You can measure along each axis a specified number of units to get to where you are going. Because each of the axis is perpendicular to each other, you can specify each 3D point with one unique coordinate triple. Each point has one and only one coordinate.

To the right is one example, the red point. As you can see, it is located at point (3,3,0). This means that is is three units along the X axis, three units along the Y axis, and zero units along the Z axis. The orange arrow shows an alternative notation that is will be useful soon. It is vector notation. Instead of thinking of the point as a point, we think of it as a position vector. In practice, both are stored as (X,Y,Z) coordinates, but using vector ideas will make future ideas easier to understand.

Adding vectors is really very intuitive. I will give an example in 2 space, because it is easier to draw. Say you have the following two vectors (Operation shown to the right):

A = (1, 2)
B = (4, 0)

To add two vectors, you simply add each of the components of the vectors together. To add it graphically, you put the tail of one vector at the head of the other (The green vector is the result). Just like scalar addition, the order that you add the vectors does not matter. The result of A + B is: