Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Homogeneous coordinates

From Wikipedia, the free encyclopedia
(Redirected fromHomogeneous coordinate)
Coordinate system used in projective geometry
Rational Bézier curve – polynomial curve defined in homogeneous coordinates (blue) and its projection on plane – rational curve (red)

Inmathematics,homogeneous coordinates orprojective coordinates, introduced byAugust Ferdinand Möbius in his 1827 workDer barycentrische Calcul,[1][2][3] are asystem of coordinates used inprojective geometry, just asCartesian coordinates are used inEuclidean geometry. They have the advantage that the coordinates of points, includingpoints 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, includingcomputer graphics and 3Dcomputer vision, where they allowaffine transformations and, in general,projective transformations to be easily represented by amatrix. They are also used in fundamentalelliptic curve cryptography algorithms.[4]

If homogeneous coordinates of a point are multiplied by a non-zeroscalar 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 theprojective 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.

Introduction

[edit]

Thereal projective plane can be thought of as theEuclidean plane with additional points added, which are calledpoints at infinity, and are considered to lie on a new line, theline 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(x,y){\displaystyle (x,y)} on the Euclidean plane, for any non-zero real numberZ{\displaystyle Z}, the triple(xZ,yZ,Z){\displaystyle (xZ,yZ,Z)} is called a set of homogeneous coordinates for the point. By this definition, multiplying the three homogeneous coordinates by a common, non-zero factor gives a new set of homogeneous coordinates for the same point. In particular,(x,y,1){\displaystyle (x,y,1)} is such a system of homogeneous coordinates for the point(x,y){\displaystyle (x,y)}.For example, the Cartesian point(1,2){\displaystyle (1,2)} can be represented in homogeneous coordinates as(1,2,1){\displaystyle (1,2,1)} or(2,4,2){\displaystyle (2,4,2)}. The original Cartesian coordinates are recovered by dividing the first two positions by the third. Thus unlike Cartesian coordinates, a single point can be represented by infinitely many homogeneous coordinates.

The equation of a line through the origin(0,0){\displaystyle (0,0)} may be writtennx+my=0{\displaystyle nx+my=0} wheren{\displaystyle n} andm{\displaystyle m} are not both0{\displaystyle 0}. Inparametric form this can be writtenx=mt,y=nt{\displaystyle x=mt,y=-nt}. LetZ=1/t{\displaystyle Z=1/t}, so the coordinates of a point on the line may be written(m/Z,n/Z){\displaystyle (m/Z,-n/Z)}. In homogeneous coordinates this becomes(m,n,Z){\displaystyle (m,-n,Z)}. In the limit, ast{\displaystyle t} approaches infinity, in other words, as the point moves away from the origin,Z{\displaystyle Z} approaches0{\displaystyle 0} and the homogeneous coordinates of the point become(m,n,0){\displaystyle (m,-n,0)}. Thus we define(m,n,0){\displaystyle (m,-n,0)} as the homogeneous coordinates of the point at infinity corresponding to the direction of the linenx+my=0{\displaystyle nx+my=0}. As any line of the Euclidean plane is parallel to a line passing through the origin, and since parallel lines have the same point at infinity, the infinite point on every line of the Euclidean plane has been given homogeneous coordinates.

To summarize:

The triple(0,0,0){\displaystyle (0,0,0)} is omitted and does not represent any point. Theorigin of the Euclidean plane is represented by(0,0,1){\displaystyle (0,0,1)}.[5]

Notation

[edit]

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){\displaystyle (x:y:z)} instead of(x,y,z){\displaystyle (x,y,z)}, emphasizes that the coordinates are to be considered ratios.[6] Square brackets, as in[x,y,z]{\displaystyle [x,y,z]} emphasize that multiple sets of coordinates are associated with a single point.[7] Some authors use a combination of colons and square brackets, as in[x:y:z]{\displaystyle [x:y:z]}.[8]

Other dimensions

[edit]

The discussion in the preceding section applies analogously to projective spaces other than the plane. So the points on theprojective line may be represented by pairs of coordinates(x,y){\displaystyle (x,y)}, not both zero. In this case, the point at infinity is(1,0){\displaystyle (1,0)}. Similarly the points in projectiven{\displaystyle n}-space are represented by(n+1){\displaystyle (n+1)}-tuples.[9]

Other projective spaces

[edit]

The use ofreal numbers gives homogeneous coordinates of points in the classical case of the real projective spaces, however anyfield may be used, in particular, thecomplex numbers may be used forcomplex projective space. For example, thecomplex projective line uses two homogeneous complex coordinates and is known as theRiemann sphere. Other fields, includingfinite fields, can be used.

Homogeneous coordinates for projective spaces can also be created with elements from adivision ring (a skew field). However, in this case, care must be taken to account for the fact that multiplication may not becommutative.[10]

For the generalringA, aprojective line overA can be defined with homogeneous factors acting on the left and theprojective linear group acting on the right.

Alternative definition

[edit]

Another definition of the real projective plane can be given in terms ofequivalence classes. For non-zero elementsofR3{\displaystyle \mathbb {R} ^{3}}, define(x1,y1,z1)(x2,y2,z2){\displaystyle (x_{1},y_{1},z_{1})\sim (x_{2},y_{2},z_{2})} to mean there is anon-zeroλ{\displaystyle \lambda } so that(x1,y1,z1)=(λx2,λy2,λz2){\displaystyle (x_{1},y_{1},z_{1})=(\lambda x_{2},\lambda y_{2},\lambda z_{2})}. Then{\displaystyle \sim } is anequivalence relation and the projective plane can be defined as theequivalence classes ofR3{0}.{\displaystyle \mathbb {R} ^{3}\setminus \left\{0\right\}.} If(x,y,z){\displaystyle (x,y,z)} isone of the elements of the equivalence classp{\displaystyle p} then these are taken to be homogeneous coordinates ofp{\displaystyle p}.

Lines in this space are defined to be sets of solutions of equations of the formax+by+cz=0{\displaystyle ax+by+cz=0} where not all ofa{\displaystyle a},b{\displaystyle b} andc{\displaystyle c} are zero. Satisfaction of the conditionax+by+cz=0{\displaystyle ax+by+cz=0} depends only on the equivalence class of(x,y,z),{\displaystyle (x,y,z),} so the equation defines a setof points in the projective plane. The mapping(x,y)(x,y,1){\displaystyle (x,y)\rightarrow (x,y,1)} defines an inclusion from theEuclidean plane to the projective plane and the complement of the image is the set of points withz=0{\displaystyle z=0}. The equationz=0{\displaystyle z=0} is an equation of a line in the projective plane(see definition of a line in the projective plane), and iscalled the line at infinity.

The equivalence classes,p{\displaystyle p}, are the lines through the origin with the origin removed. The origin does not really play anessential part in the previous discussion so it can be added back in without changing the properties of the projectiveplane. This produces a variation on the definition, namely the projective plane is defined as the set of lines inR3{\displaystyle \mathbb {R} ^{3}} that pass through the origin and the coordinates of a non-zero element(x,y,z){\displaystyle (x,y,z)}of a line are taken to be homogeneous coordinates of the line. These lines are now interpreted as points in theprojective plane.

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 inRn+1{\displaystyle \mathbb {R} ^{n+1}}.[11]

Homogeneity

[edit]

Homogeneous coordinates are not uniquely determined by a point, so a function defined on the coordinates, sayf(x,y,z){\displaystyle f(x,y,z)}, does not determine a function defined on points as with Cartesian coordinates.But a conditionf(x,y,z)=0{\displaystyle f(x,y,z)=0} defined on the coordinates, as might be used to describe acurve, determines a condition on points if the function ishomogeneous. Specifically, supposethere is ak{\displaystyle k} such that

f(λx,λy,λz)=λkf(x,y,z).{\displaystyle f(\lambda x,\lambda y,\lambda z)=\lambda ^{k}f(x,y,z).}

If a set of coordinates represents the same point as(x,y,z){\displaystyle (x,y,z)} then it can be written(λx,λy,λz){\displaystyle (\lambda x,\lambda y,\lambda z)} for some non-zero value ofλ{\displaystyle \lambda } . Then

f(x,y,z)=0f(λx,λy,λz)=λkf(x,y,z)=0.{\displaystyle f(x,y,z)=0\iff f(\lambda x,\lambda y,\lambda z)=\lambda ^{k}f(x,y,z)=0.}

Apolynomialg(x,y){\displaystyle g(x,y)} of degreek{\displaystyle k} can be turned into ahomogeneous polynomial byreplacingx{\displaystyle x} withx/z{\displaystyle x/z},y{\displaystyle y} withy/z{\displaystyle y/z} and multiplying byzk{\displaystyle z^{k}}, in other words bydefining

f(x,y,z)=zkg(x/z,y/z).{\displaystyle f(x,y,z)=z^{k}g(x/z,y/z).}

The resulting functionf{\displaystyle f} is a polynomial, so it makes sense to extend its domain to triples wherez=0{\displaystyle z=0}. The process can be reversed by settingz=1{\displaystyle z=1}, or

g(x,y)=f(x,y,1).{\displaystyle g(x,y)=f(x,y,1).}

The equationf(x,y,z)=0{\displaystyle f(x,y,z)=0} can then be thought of as the homogeneous form ofg(x,y)=0{\displaystyle g(x,y)=0} and it defines the same curve when restricted to the Euclidean plane. For example,the homogeneous form of the equation of the lineax+by+c=0{\displaystyle ax+by+c=0} isax+by+cz=0.{\displaystyle ax+by+cz=0.}[12]

Line coordinates and duality

[edit]
Main article:Duality (projective geometry)

The equation of a line in the projective plane may be given assx+ty+uz=0{\displaystyle sx+ty+uz=0} wheres{\displaystyle s},t{\displaystyle t} andu{\displaystyle u} are constants. Each triple(s,t,u){\displaystyle (s,t,u)} determines a line, the line determined isunchanged if it is multiplied by a non-zero scalar, and at least one ofs{\displaystyle s},t{\displaystyle t} andu{\displaystyle u} must be non-zero. So thetriple(s,t,u){\displaystyle (s,t,u)} may be taken to be homogeneous coordinates of a line in the projective plane,that isline coordinates as opposed to point coordinates. If insx+ty+uz=0{\displaystyle sx+ty+uz=0} the letterss{\displaystyle s},t{\displaystyle t} andu{\displaystyle u} are taken as variables andx{\displaystyle x},y{\displaystyle y} andz{\displaystyle z} are taken as constants then the equation becomes an equation of a set of lines in the space ofall lines in the plane. Geometrically it represents the set of lines that pass through the point(x,y,z){\displaystyle (x,y,z)} and may be interpreted as the equation of the point in line-coordinates. In the same way, planes in 3-space maybe given sets of four homogeneous coordinates, and so on for higher dimensions.[13]

The same relation,sx+ty+uz=0{\displaystyle sx+ty+uz=0}, 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.[14]

Plücker coordinates

[edit]
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 toJulius Plücker, creates a set of six coordinates as the determinantsxiyjxjyi(1i<j4){\displaystyle x_{i}y_{j}-x_{j}y_{i}(1\leq i<j\leq 4)} from the homogeneous coordinates of two points(x1,x2,x3,x4){\displaystyle (x_{1},x_{2},x_{3},x_{4})} and(y1,y2,y3,y4){\displaystyle (y_{1},y_{2},y_{3},y_{4})} on the line. ThePlücker embedding is the generalization of this to create homogeneous coordinates of elements of any dimensionm{\displaystyle m} in a projective space of dimensionn{\displaystyle n}.[15][16]

Circular points

[edit]
Main article:Circular points at infinity

The homogeneous form for the equation of a circle in the real or complex projective plane isx2+y2+2axz+2byz+cz2=0{\displaystyle x^{2}+y^{2}+2axz+2byz+cz^{2}=0}. The intersection ofthis curve with the line at infinity can be found by settingz=0{\displaystyle z=0}. This produces the equationx2+y2=0{\displaystyle x^{2}+y^{2}=0} which has two solutions over the complex numbers, giving rise tothe points with homogeneous coordinates(1,i,0){\displaystyle (1,i,0)} and(1,i,0){\displaystyle (1,-i,0)} in the complex projectiveplane. These points are called thecircular points at infinity and can be regarded as the common points ofintersection of all circles. This can be generalized to curves of higher order ascircular algebraic curves.[17]

Change of coordinate systems

[edit]

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(x,y,z{\displaystyle (x,y,z}) be homogeneous coordinates of a point in the projective plane. A fixed matrixA=(abcdefghi),{\displaystyle A={\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}},}with nonzerodeterminant, defines a new system of coordinates(X,Y,Z){\displaystyle (X,Y,Z)} by the equation(XYZ)=A(xyz).{\displaystyle {\begin{pmatrix}X\\Y\\Z\end{pmatrix}}=A{\begin{pmatrix}x\\y\\z\end{pmatrix}}.}Multiplication of(x,y,z){\displaystyle (x,y,z)} by a scalar results in the multiplication of(X,Y,Z){\displaystyle (X,Y,Z)} by the same scalar, andX{\displaystyle X},Y{\displaystyle Y} andZ{\displaystyle Z} cannot be all0{\displaystyle 0} unlessx{\displaystyle x},y{\displaystyle y} andz{\displaystyle z} are all zero sinceA{\displaystyle A} is nonsingular. So(X,Y,Z){\displaystyle (X,Y,Z)} are a new system of homogeneous coordinates for the same point of the projective plane.

Barycentric coordinates

[edit]
Main article:Barycentric coordinates (mathematics)

Möbius's original formulation of homogeneous coordinates specified the position of a point as thecenter 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.

Trilinear coordinates

[edit]
Main article:Trilinear coordinates

Letl{\displaystyle l},m{\displaystyle m} andn{\displaystyle n} be three lines in the plane and define a set of coordinatesX{\displaystyle X},Y{\displaystyle Y} andZ{\displaystyle Z} of a pointp{\displaystyle p} as the signed distances fromp{\displaystyle p} to these three lines. These are called thetrilinear coordinates ofp{\displaystyle p} with respect to the triangle whose vertices are the pairwise intersections of the lines. Strictly speaking these are nothomogeneous, since the values ofX{\displaystyle X},Y{\displaystyle Y} andZ{\displaystyle Z} are determined exactly, not just up to proportionality. There isa linear relationship between them however, so these coordinates can be made homogeneous by allowing multiples of(X,Y,Z){\displaystyle (X,Y,Z)} to represent the same point. More generally,X{\displaystyle X},Y{\displaystyle Y} andZ{\displaystyle Z} can be defined asconstantsp{\displaystyle p},r{\displaystyle r} andq{\displaystyle q} times the distances tol{\displaystyle l},m{\displaystyle m} andn{\displaystyle n}, resulting in a different system ofhomogeneous coordinates with the same triangle of reference. This is, in fact, the most general type of system ofhomogeneous coordinates for points in the plane if none of the lines is the line at infinity.[18]

Use in computer graphics and computer vision

[edit]
See also:Transformation matrix

Homogeneous coordinates are ubiquitous in computer graphics because they allow common vector operations such astranslation,rotation,scaling andperspective 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. ModernOpenGL andDirect3Dgraphics cards take advantage of homogeneous coordinates to implement avertex shader efficiently usingvector processors with 4-element registers.[19][20]

For example, in perspective projection, a position in space is associated with the line from it to a fixed point calledthecenter 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 planez=1{\displaystyle z=1}, working forthe moment in Cartesian coordinates. For a given point in space,(x,y,z){\displaystyle (x,y,z)}, the point where theline and the plane intersect is(x/z,y/z,1){\displaystyle (x/z,y/z,1)}. Dropping the now superfluousz{\displaystyle z} coordinate,this becomes(x/z,y/z){\displaystyle (x/z,y/z)}. In homogeneous coordinates, the point(x,y,z){\displaystyle (x,y,z)} is represented by(xw,yw,zw,w){\displaystyle (xw,yw,zw,w)} and the point it maps to on the plane isrepresented by(xw,yw,zw){\displaystyle (xw,yw,zw)}, so projection can be represented in matrix form as(100001000010){\displaystyle {\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\end{pmatrix}}}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.[21][22]

Notes

[edit]
  1. ^August Ferdinand Möbius:Der barycentrische Calcul, Verlag von Johann Ambrosius Barth, Leipzig, 1827.
  2. ^O'Connor, John J.;Robertson, Edmund F.,"August Ferdinand Möbius",MacTutor History of Mathematics Archive,University of St Andrews
  3. ^Smith, David Eugene (1906).History of Modern Mathematics. J. Wiley & Sons. p. 53.
  4. ^Igoe, Kevin; McGrew, David; Salter, Margaret (February 2011)."Fundamental Elliptic Curve Cryptography Algorithms".
  5. ^For the section:Jones 1912, pp. 120–122
  6. ^Woods 1922
  7. ^Garner 1981
  8. ^Miranda 1995
  9. ^Bôcher 1907, pp. 13–14
  10. ^Garner 1981, pp. 32–33
  11. ^For the section:Cox, Little & O'Shea 2007, pp. 360–362
  12. ^For the section:Miranda 1995, p. 14 andJones 1912, p. 120
  13. ^Bôcher 1907, pp. 107–108 (adapted to the plane according to the footnote on p. 108)
  14. ^Woods 1922, pp. 2, 40
  15. ^Wilczynski 1906, p. 50
  16. ^Bôcher 1907, p. 110
  17. ^Jones 1912, p. 204
  18. ^Jones 1912, pp. 452 ff
  19. ^"Viewports and Clipping (Direct3D 9) (Windows)".msdn.microsoft.com. Retrieved10 April 2018.
  20. ^Shreiner, Dave; Woo, Mason; Neider, Jackie; Davis, Tom; "OpenGL Programming Guide", 4th Edition,ISBN 978-0-321-17348-5, published December 2004. Page 38 and Appendix F (pp. 697-702) Discuss howOpenGL uses homogeneous coordinates in its rendering pipeline. Page 2 indicates that OpenGL is a software interface tographics hardware.
  21. ^Mortenson, Michael E. (1999).Mathematics for Computer Graphics Applications. Industrial Press Inc. p. 318.ISBN 0-8311-3111-X.
  22. ^McConnell, Jeffrey J. (2006).Computer Graphics: Theory into Practice. Jones & Bartlett Learning. p. 120.ISBN 0-7637-2250-2.

References

[edit]

Further reading

[edit]

External links

[edit]
Wikimedia Commons has media related toProjective geometry.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Homogeneous_coordinates&oldid=1258396669"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp