Homogeneous coordinates, Computer Graphics

What are the uses of homogeneous coordinates? Convert translation rotation and scaling in homogeneous coordinates.

In mathematics homogeneous coordinates introduced by August Ferdinand Moby's in his 1827 work Deer barycentrische Calicle are a system of coordinates used in projective geometry much as Cartesian coordinates are used in Euclidean geometry. They have the advantage that 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. If the homogeneous coordinates of a point are multiplied by a non zero scalar then the resulting coordinates represent the same point. An additional condition must be added on the coordinates to ensure that only one set of coordinates corresponds to a given point, so the number of coordinates required is in general 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 on the projectile plane. 

Basic Transformation Translation: A translation is applied to an object by repositioning it along a straight line path from one coordinate location t another. We translate a two dimensional point by adding translation distances f and t to the original coordinate position to move the point to a new position. The translation distance pair is called a translation vector of shift vector. We can express the translation equations as a single matrix equation by using column vectors to represent coordinate positions and the translation vector. This allows us to write the two dimensional translation equations in the matrix form: Since the column vector representation for a point is standard mathematical notation, and since many graphics packages, for example GKS and PHIGS, also use the column vector representation we will follow this convention. Translation is a rigid body transformation that moves objects without deformation. That is every point on the object is translated by the same amount. A straight line segment is translated by applying the transformation equation to each of the line endpoints and redrawing the line between the new endpoint positions. Polygons are translated by adding the translation vector to the coordinates and the current attribute settings. Fig. 1 illustrates the application of specified translation vector to move an object from one position to another. A two dimensional rotation is applied to an object by repositioning it along a circular path in the xy  plane. To generate a rotation, we specify a rotation angle 0 and the position of the rotation point about which the object is to be rotated. Positive values for the rotation angle define counterclockwise rotations about the pivot point, as in Fig. 2 and negative values rotate objects in the clockwise direction. This transformation can also be described as a rotation about a rotation axis that is perpendicular to the xy plane and passes thorough the pivot point. We first determine the transformation equations for rotation of a point position P when the pivot point is at the coordinate origin. The angular and coordinate relationships of the original and transformed point positions are shown in fig. 3. In this figure, r is the constant distance of the point from the origin 4 is the original angular position of the point from the horizontal and t3 is the rotation angle. Using standard trigonometric identities we can express the transformed coordinate in terms of angle theta 0 as the original coordinates of the point in polar coordinates are. Substituting expressions 5 into 4 we obtain the rotation equations for rotating a point at position (x, y) through an angle theta about the origin: With the column vector representations eq. (1) for coordinate positions, we can write the rotation equations in the matrix form: When coordinate positions are represented as row vectors instead of column vectors the matrix product in rotation eq. 7, is transposed so that the transformed row coordinate vector is calculated as and the transpose R of matrix R is obtained by interchanging rows and columns. For a rotation matrix the transpose is obtained by simply changing the sign of the sine terms. 

Scaling A scaling transformation alters the size of an object. This operation can be carried out for polygons by multiplying the coordinate values of each vertex by scaling factors sx, and S ­x to produce the transformed coordinates (x ',y' ): Scaling factor s scales objects in the x direction while s scales in the y direction.  Any positive numeric values can be assigned to the scaling factors s and s. Valued less than 1 reduce the size of objects; values greater than 1 produce an enlargement. Specifying a value of 1 for both S and S leaves the size of objects unchanged. When S and S are assigned the same value a uniform scaling is produced that maintains relative object proportions. Unequal values for S and S result in a differential scaling that are often used in design applications, where pictures are constructed from a few basic shapes that can be adjusted by scaling and positioning transformations. Objects transformed with eq. 9 are both scaled and repositioned. Scaling factors with values less than 1 move objects closer to the coordinate origin, while values greater than 1 move coordinate positions farther from the origin. 

Posted Date: 7/1/2012 6:46:20 AM | Location : United States

Related Discussions:- Homogeneous coordinates, Assignment Help, Ask Question on Homogeneous coordinates, Get Answer, Expert's Help, Homogeneous coordinates Discussions

Write discussion on Homogeneous coordinates
Your posts are moderated
Related Questions
What are the advantages of laser printer  High speed, precision and economy. Quality printers. .Cheap to handle Lasts for longer time.

Determine the advantages of raster-scan systems (i)  Rasterisation is now performed faster since a special purpose processor is used. (ii)  The CPU is not slowed down by the

Curve Clipping and Character Clipping As you proceed further, you would see that the methods for curve clipping and character clipping have also been developed based on boundin

Problem with Interpolated Shading There are several more shading models that intermediate in complication among Gouraud and Phong shading, linking the liner interpolation of t

Optical Character Recognition Software (OCR) Frequently, you will have printed matter and the other text to incorporate in your project although no electronic text file. Along

Subdivision Algorithm - Visible Surface Detection 1) Initialize the area to be the whole screen. 2) Create a PVPL regarding an area, sorted on z min as the smallest z coor

QUESTION 1. Describe two methods for converting 16x9 widescreen movie to 4x3. 2. Explain clearly the difference between File Format and Codec. 3. What is a video transiti

y-shear about the origin - 2-d and 3-d transformations Suppose an object point P(x,y) be moved to P'(x',y') in the x-direction, through the specified scale parameter 'b'. that

what is zooming and panning in computer graph please explan??

Applications Research in computer graphics has a wide range of application as well as both photorealistic and non-photorealistic image synthesis, image-based rendering and mod