Use in Computer Graphics
See also: Transformation matrixHomogeneous 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:
“The archetype of all humans, their ideal image, is the computer, once it has liberated itself from its creator, man. The computer is the essence of the human being. In the computer, man reaches his completion.”
—Friedrich Dürrenmatt (19211990)