In mathematics, homogeneous coordinates or projective coordinates, introduced by August Ferdinand Möbius in his 1827 work German: Der barycentrische Calcul,[1] [2] are a system of coordinates used in projective geometry, just as Cartesian coordinates are used in Euclidean geometry. They have the advantage that the coordinates of points, including points at infinity, can be represented using finite coordinates. Formulas involving homogeneous coordinates are often simpler and more symmetric than their Cartesian counterparts. Homogeneous coordinates have a range of applications, including computer graphics and 3D computer vision, where they allow affine transformations and, in general, projective transformations to be easily represented by a matrix. They are also used in fundamental elliptic curve cryptography algorithms.[3]
If homogeneous coordinates of a point are multiplied by a non-zero scalar then the resulting coordinates represent the same point. Since homogeneous coordinates are also given to points at infinity, the number of coordinates required to allow this extension is one more than the dimension of the projective space being considered. For example, two homogeneous coordinates are required to specify a point on the projective line and three homogeneous coordinates are required to specify a point in the projective plane.
The real projective plane can be thought of as the Euclidean plane with additional points added, which are called points at infinity, and are considered to lie on a new line, the line at infinity. There is a point at infinity corresponding to each direction (numerically given by the slope of a line), informally defined as the limit of a point that moves in that direction away from the origin. Parallel lines in the Euclidean plane are said to intersect at a point at infinity corresponding to their common direction. Given a point on the Euclidean plane, for any non-zero real number
Z
The equation of a line through the origin may be written where
n
m
0
x=mt,y=-nt
Z=1/t
t
Z
0
To summarize:
X
Y
Z
0
Z
0
Z
0
Some authors use different notations for homogeneous coordinates which help distinguish them from Cartesian coordinates. The use of colons instead of commas, for example
(x:y:z)
[x:y:z]
The discussion in the preceding section applies analogously to projective spaces other than the plane. So the points on the projective line may be represented by pairs of coordinates, not both zero. In this case, the point at infinity is . Similarly the points in projective
n
(n+1)
The use of real numbers gives homogeneous coordinates of points in the classical case of the real projective spaces, however any field may be used, in particular, the complex numbers may be used for complex projective space. For example, the complex projective line uses two homogeneous complex coordinates and is known as the Riemann sphere. Other fields, including finite fields, can be used.
Homogeneous coordinates for projective spaces can also be created with elements from a division ring (a skew field). However, in this case, care must be taken to account for the fact that multiplication may not be commutative.
For the general ring A, a projective line over A can be defined with homogeneous factors acting on the left and the projective linear group acting on the right.
Another definition of the real projective plane can be given in terms of equivalence classes. For non-zero elementsof
R3
λ
\sim
p
p
Lines in this space are defined to be sets of solutions of equations of the form where not all of
a
b
c
The equivalence classes,
p
R3
Again, this discussion applies analogously to other dimensions. So the projective space of dimension n can be defined asthe set of lines through the origin in
Rn+1
Homogeneous coordinates are not uniquely determined by a point, so a function defined on the coordinates, say, does not determine a function defined on points as with Cartesian coordinates.But a condition defined on the coordinates, as might be used to describe acurve, determines a condition on points if the function is homogeneous. Specifically, supposethere is a
k
If a set of coordinates represents the same point as then it can be written for some non-zero value of
λ
A polynomial of degree
k
x
x/z
y
y/z
zk
The resulting function
f
The equation can then be thought of as the homogeneous form of and it defines the same curve when restricted to the Euclidean plane. For example,the homogeneous form of the equation of the line is [6]
See main article: Duality (projective geometry). The equation of a line in the projective plane may be given as where
s
t
u
s
t
u
sx+ty+uz=0
s
t
u
x
y
z
The same relation,, may be regarded as either the equation of a line or theequation of a point. In general, there is no difference either algebraically or logically between homogeneouscoordinates of points and lines. So plane geometry with points as the fundamental elements and plane geometry with linesas the fundamental elements are equivalent except for interpretation. This leads to the concept of duality inprojective geometry, the principle that the roles of points and lines can be interchanged in a theorem in projectivegeometry and the result will also be a theorem. Analogously, the theory of points in projective 3-space is dual to thetheory of planes in projective 3-space, and so on for higher dimensions.
See main article: Plücker coordinates. Assigning coordinates to lines in projective 3-space is more complicated since it would seem that a total of 8coordinates, either the coordinates of two points which lie on the line or two planes whose intersection is the line,are required. A useful method, due to Julius Plücker, creates a set of six coordinates as the determinants from the homogeneous coordinates of two points and on the line. The Plücker embedding is the generalization of this to create homogeneous coordinates of elements of any dimension
m
n
See main article: Circular points at infinity. The homogeneous form for the equation of a circle in the real or complex projective plane is. The intersection ofthis curve with the line at infinity can be found by setting . This produces the equation which has two solutions over the complex numbers, giving rise tothe points with homogeneous coordinates and in the complex projectiveplane. These points are called the circular points at infinity and can be regarded as the common points ofintersection of all circles. This can be generalized to curves of higher order as circular algebraic curves.
Just as the selection of axes in the Cartesian coordinate system is somewhat arbitrary, the selection of a single system of homogeneous coordinates out of all possible systems is somewhat arbitrary. Therefore, it is useful to know how the different systems are related to each other.
Let be homogeneous coordinates of a point in the projective plane. A fixed matrixwith nonzero determinant, defines a new system of coordinates by the equationMultiplication of by a scalar results in the multiplication of by the same scalar, and
X
Y
Z
0
x
y
z
A
See main article: Barycentric coordinates (mathematics). Möbius's original formulation of homogeneous coordinates specified the position of a point as the center of mass (or barycenter) of a system of three point masses placed at the vertices of a fixed triangle. Points within the triangle are represented by positive masses and points outside the triangle are represented by allowing negative masses. Multiplying the masses in the system by a scalar does not affect the center of mass, so this is a special case of a system of homogeneous coordinates.
See main article: Trilinear coordinates. Let
l
m
n
X
Y
Z
p
p
p
X
Y
Z
X
Y
Z
p
r
q
l
m
n
See also: Transformation matrix.
Homogeneous coordinates are ubiquitous in computer graphics because they allow common vector operations such as translation, rotation, scaling and perspective projection to be represented as a matrix by which the vector is multiplied. By the chain rule, any sequence of such operations can be multiplied out into a single matrix, allowing simple and efficient processing. By contrast, using Cartesian coordinates, translations and perspective projection cannot be expressed as matrix multiplications, though other operations can. Modern OpenGL and Direct3D graphics cards take advantage of homogeneous coordinates to implement a vertex shader efficiently using vector processors with 4-element registers.[8] [9]
For example, in perspective projection, a position in space is associated with the line from it to a fixed point calledthe center of projection. The point is then mapped to a plane by finding the point of intersection of that plane andthe line. This produces an accurate representation of how a three-dimensional object appears to the eye. In the simplestsituation, the center of projection is the origin and points are mapped to the plane, working forthe moment in Cartesian coordinates. For a given point in space,, the point where theline and the plane intersect is . Dropping the now superfluous
z