![]() |
![]() |
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. 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), 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
|