...where X, Y, and Z are the point 3-D coordinates, and W is the 'weight', and is used to normalise the result after an operation, multiplying each element by 1/W so that W ends equal to 1.[X, Y, Z, W]
Points can be moved around by matric multiplication with 4X4 transformation matrices. Multiplying a vector with a matric produces a new vector, which is the transformed point. Standard transformation matrices are:
Identity (does not transform point):
[ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 1 0 ]
[ 0 0 0 1 ]
Translate (move along X, Y, Z axes):
[ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 1 0 ]
[ Tx Ty Tz 1 ]
Scale (translate to larger or smaller coordinates):
[ Sx 0 0 0 ]
[ 0 Sy 0 0 ]
[ 0 0 Sz 0 ]
[ 0 0 0 1 ]
Rotate (around X, Y, or Z axis by angle U):
Axis X: Axis Y: Axix Z:
[ 1 0 0 0 ] [cosU 0 -sinU 0 ] [cosU sinU 0 0 ]
[ 0 cosU sinU 0 ] [ 0 1 0 0 ] [-sinU cosU 0 0 ]
[ 0-sinU cosU 0 ] [sinU 0 cosU 0 ] [ 0 0 1 0 ]
[ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 0 0 1 ]
Perspective (d is the distance of "eye" behind "screen"):
[ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 1 0 ]
[ 0 0 1/d 0 ]
Transformation matrices can be combined by multiplying them
together, so a single matrix can be use to shift, rotate, and scale a
point in a single operation. Other 3-D operations using vectors are
also frequently used, such as to determine intersection points or
the reflection of light rays.