Homogeneous Coordinates - Use in Computer Graphics

Use in Computer Graphics

See also: Transformation matrix

Homogeneous coordinates are ubiquitous in computer graphics because they allow common operations such as translation, rotation, scaling and perspective projection to be implemented as matrix operations. Modern OpenGL and DirectX graphics cards take advantage of this to implement a vertex shader efficiently using vector processors with 4-element registers.

For example, in perspective projection, a position in space is associated with the line from it to a fixed point called the center of projection. The point is then mapped to a plane by finding the point of intersection of that plane and the line. This produces an accurate representation of how a three dimensional object appears to the eye. In the simplest situation, the center of projection is the origin and points are mapped to the plane z = 1, working for the moment in Cartesian coordinates. For a given point in space, (x, y, z), the point where the line and the plane intersect is (x/z, y/z, 1). Dropping the now superfluous z coordinate, this becomes (x/z, y/z). In homogeneous coordinates, the point (x, y, z) is represented by (xw, yw, zw, w) and the point it maps to on the plane is represented by (xw, yw, zw), so projection can be represented in matrix form as

Matrices representing other geometric transformations can be combined with this and each other by matrix multiplication. As a result, any perspective projection of space can be represented as a single matrix.

Read more about this topic:  Homogeneous Coordinates

Famous quotes containing the word computer:

    Family life is not a computer program that runs on its own; it needs continual input from everyone.
    Neil Kurshan (20th century)