Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Graphics Expert

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. 

Computer Graphics, Computer Science

  • Category:- Computer Graphics
  • Reference No.:- M9503722

Have any Question?


Related Questions in Computer Graphics

Question a describe the architecture of simple raster

Question : a) Describe the architecture of simple raster graphics system? b) Explain raster scan display processor?

The problemsit is strongly recommended that you tackle the

The problems: It is strongly recommended that you tackle the following tasks in a modular way -- a separate standalone function for each task. Draw a rectangle as a Rectangle and as a Polygon. Make the lines of the Polyg ...

Please read my question if you post copy and pasted code

Please read my question if you post copy and pasted code you will get a negative review. This is java In this graphical program, you are going to simulate arcade car racing game. You need a single player that is movable ...

The saffir-simpson hurricane scale classifies hurricanes

The Saffir-Simpson Hurricane Scale classifies hurricanes into five categories numbered 1 through 5. Write an application named Hurricane that outputs a hurricane's category based on the user's input of the wind speed. CA ...

You have a program draw a rectangle on the screen and allow

You have a program draw a rectangle on the screen and allow the user to change the color/size of the rectangle. The program will store in the browser the settings of the color/size so that upon revisiting the page, the v ...

The problemyou are to search a bitmap in rgb format and

The problem: You are to search a bitmap in RGB format and count the number of pixels which match a set of colors. The bitmap will be 1024 by 1024 pixels for the purposes of explaining this problem. The set of colors will ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As