HOMOGENEOUS COORDINATES


We have seen that basic transformations can be expressed in matrix form. But many graphic application involve sequences of geometric transformations. Hence we need a general form of matrix to represent such  transformations. This can be expressed as:

Where        P and P'  - represent the row vectors.
                       
T1   - is a 2 by 2 array containing multiplicative factors.
                       
T2   - is a 2 element row matrix containing translation terms.

We can combine multiplicative and translational terms for 2D geometric transformations into a single matrix representation by expanding the 2 by 2 matrix representations to 3 by 3 matrices. This allows us to express all transformation equations as matrix multiplications, providing that we also expand the matrix representations for coordinate positions. To express any 2D transformations as a matrix multiplication, we represent each Cartesian coordinate position (x,y) with the homogeneous coordinate triple (xh,yh,h),
such that

Thus, a general homogeneous coordinate representation can also be written as (h.x, h.y, h). For 2D geometric transformations, we can choose the homogeneous parameter h to any non-zero value. Thus, there is an infinite number of equivalent homogeneous representations for each coordinate point (x,y). A convenient choice is simply to h=1. Each 2D position is then represented with homogeneous coordinates (x,y,1). Other values for parameter h are needed, for eg, in matrix formulations of 3D viewing transformations.

Expressing positions in homogeneous coordinates allows us to represent all geometric transformation equations as matrix multiplications. Coordinates are represented with three element row vectors and transformation operations are written as 3 by 3 matrices.

For Translation, we have

or
 

Similarly for Rotation transformation, we have

or

Finally for Scaling transformation, we have

or


      RELATED LINKS