Direct3D uses the so-called left-handed coordinate system. If you point your left finger towards the positive x-axis and then bend your four fingers towards the positive y-axis, your thumb will point towards the positive z-axis. Figure 1.5 shows the difference between left-hand and right-hand coordinate systems
On the left is the left-hand coordinate system, with the positive z-axis extending towards the interior of the page. On the right is the right-hand coordinate system, with the z-axis extending outward from the page.
Observe the right-hand coordinate system. If you point your right finger towards the positive x-axis and then bend your four fingers towards the positive y-axis, your thumb will point towards the positive z-axis.
Homogeneous coordinates
Because vectors only represent direction and length, independent of position, translating a vector is meaningless. In other words, the translated vector remains unchanged. Translation can only act on points (i.e. position vectors). Homogeneous coordinates provide a convenient representation method for handling points and vectors uniformly. In homogeneous coordinates, we use four elements, and we determine whether to describe a point or a vector based on its fourth coordinate component w. To be precise, we write it as:
1 (x, y, z, 0) for vectors.
2 (x, y, z, 1) for points.
We will see that setting w to 1 is to ensure the correct execution of the point translation operation, and setting w to 0 is to prevent the vector from shifting during the transformation process. (We don't want to translate the coordinates of a vector because all a vector can change is direction and size - translation is meaningless for a vector.).