- Homogeneous coordinates
In
mathematics , homogeneous coordinates, introduced byAugust Ferdinand Möbius in his 1827 work "Der barycentrische Calcul" [ [http://www-history.mcs.st-andrews.ac.uk/Biographies/Mobius.html Mobius biography ] ] , allowaffine transformation s to be easily represented by a matrix. Also they make calculations possible inprojective space just as Cartesian coordinates do inEuclidean space . The homogeneous coordinates of a point of projective space of dimension "n" are usually written as ("x" : "y" : "z" : ... : "w"), a row vector of length "n" + 1, other than (0 : 0 : 0 : ... : 0). Two sets of coordinates that are proportional denote the same point of projective space: for any non-zero scalar "c" from the underlying field "K", ("cx" : "cy" : "cz" : ... : "cw") denotes the same point. Therefore this system of coordinates can be explained as follows: if the projective space is constructed from a vector space "V" of dimension "n" + 1, introduce coordinates in "V" by choosing a basis, and use these in "P"("V"), the equivalence classes of proportional non-zero vectors in "V".Taking the example of projective space of dimension three, there will be homogeneous coordinates ("x" : "y" : "z" : "w"). The
plane at infinity is usually identified with the set of points with "w" = 0. Away from this plane we can use ("x/w", "y/w", "z/w") as an ordinary Cartesian system; therefore the affine space complementary to the plane at infinity is coordinatised in a familiar way, with a basis corresponding to (1 : 0 : 0 : 1), (0 : 1 : 0 : 1), (0 : 0 : 1 : 1).If we try to intersect the two planes defined by equations "x" = "w" and "x" = 2"w" then we clearly will derive first "w = 0" and then "x" = 0. That tells us that the intersection is contained in the plane at infinity, and consists of all points with coordinates (0 : "y" : "z" : 0). It is a line, and in fact the line joining (0 : 1 : 0 : 0) and (0 : 0 : 1 : 0). The line is given by the equation:where "μ" is a scaling factor. The scaling factor can be adjusted to normalize the coordinates (0 : "y" : "z" : 0), thereby eliminating one of the two degrees of freedom. The result is a set of points with only one degree of freedom, as is expected for a line.
Brackets versus parentheses
Consider projective 2-space: points in the projective plane are projections of points in 3-space ("3-D points"). Let the notation:refer to one of these 3-D points. Let:refer to another 3-D point. Then:
On the other hand, let the notation:refer to the projection of 3-D point ("x" : "y" : "z") onto the projective plane. The point ["x" : "y" : "z"] can be considered to be equal to an
equivalence class of 3-D points which belong to the 3-D line passing through the points ("x" : "y" : "z") and (0 : 0 : 0). If:
is another projective point, then
:
Two 3-D points are equivalent if their projections onto the projective plane are equal:
:
Thus,
:
Remark: In some European countries ("x":"y":"z") is customarily represented by ("x","y","z"); and ["u":"v":"w"] as ["u","v","w"] .
Addition of homogeneous coordinates
This distinction between brackets and parentheses means that addition of points in homogeneous coordinates will be defined in two different ways, depending on whether the coordinates are enclosed with brackets or parentheses.
Consider once again the case of the projective plane. Addition of a pair of 2-D points is the same as for ordinary coordinates:
:
On the other hand, addition of a pair of projected points can be defined thus:
:
For projective 3-space, similar considerations apply. Addition of a pair of unprojected points is
:
whereas addition of a pair of projected points is
:
calar multiplication of homogeneous coordinates
There are two kinds of scalar multiplication: one for unprojected points and another one for projected points.
Consider a scalar "a" and an unprojected point ("x" : "y" : "z"). Then
:
even though
: .
Now consider the scalar "a" and a projected point ["x" : "y" : "z"] . Then
:
but
:
Linear combinations of points described with homogeneous coordinates
Let there be a pair of points A and B in projective 3-space, whose homogeneous coordinates are
::
It is desired to find their
linear combination where "a" and "b" are coefficients which can be adjusted at will, with the condition that , or (more exactly) that , to avoid degenerate points. There are three cases to consider:
* both points belong to affine 3-space,
* both points belong to the plane at infinity,
* one point is affine and the other one is at infinity.The "X", "Y", and "Z" coordinates can be considered as
numerator s, whereas the "W" coordinate can be considered as adenominator . To add homogeneous coordinates it is necessary that the denominator be common. Otherwise it is necessary to rescale the coordinates until all the denominators are common. Homogeneous coordinates are equivalentup to any uniform rescaling.Both points are affine
If both points are in affine 3-space, then and . Their linear combination is
:
::
::
::
::
Both points are at infinity
If both points are on the plane at infinity, then "W""A" = 0 and "W""B" = 0. Their linear combination is
:
::::::
One point is affine and the other at infinity
Let the first point be affine, so that . Then
:
::
::
which means that the point at infinity is "dominant".
General case
The calculation can also be carried over without distinguishing between cases, similarly to the addition of two points:
:
::
Starting from this, you can re-obtain the formulas for above cases.
In particular, applying this formula in the degenerate cases gives us that summing with anything else produces again.
Use in computer graphics
:"See also
Transformation matrix#Other kinds of transformations "Homogeneous coordinates are ubiquitous in computer graphics because they solve the problem of representing a translation and projection as a matrix operation.
Homogeneous coordinates allow all
affine transformation s to be represented by a matrix operation. A translation in can be represented as :where column vectors are the homogeneous coordinates of the two points. All thelinear transformation s such as rotation and reflection about the origin can also be represented, by matrices of the form: Furthermore allprojective transformation s can be represented by other matrices. This representation simplifies calculation in computer graphics as all necessary transformations can be performed by matrix multiplications. As a result, a series of affine transformations can be combined simply by multiplying successive matrices together. This is at the heart of real-time graphics systems such asOpenGL andDirectX which can use moderngraphics card s to perform operations with homogeneous coordinates.Equivalence of transformations
How does one go about proving that a sequence of projective transformations on an objects (more precisely on the geometric primitives that form the object) does really have the intended effect in the real-world?
One can prove this by induction on the number of projective transformations. The base case is the application of a single projective transformation, which we know to be true from the discussions above. Let us assume that the statements holds for a sequence of N transformations. Let P' (in homogeneous co-ordinates) be the output after application of N transformations. Let P be obtained projecting the point P' in to real space. Let T' be the projective transform that we want to apply and let T be the corresponding the real-world operation. (Note that T may not necessarily be representable as a matrix, as translations can not be expressed as matrix transformations on real-world co-ordinates). Let Q' the output of applying T' on P', and let Q be the output of applying T on P. By comparing the projected co-ordinates of Q' and the co-ordinates of Q one can conclude that applying T' on P' is equivalent to applying T on P. Thus the statement holds for a sequence of (N+1) transformations.
References
http://www.unchainedgeometry.com/jbloom/pdf/homog-coords.pdf
ee also
* Barycentric coordinates
*Inversive ring geometry
Wikimedia Foundation. 2010.