Download presentation

Presentation is loading. Please wait.

1
**Geometric Transformations**

Basic 2D geometric transformation Homogeneous coordinates 2D transformations Translation Scaling Rotation Composite transformations Other transformation: Shearing, Reflection 3D transformations Other 3D transformation: Shearing, Reflection OpenGL Matrix stack Lecture 7 Transformation

2
**1. Basic 2D Transformation**

2D Translation A translation moves a vertex to a new position by adding a displacement vector to it. Eg, The following translates the vertex to by adding (3,13) (7,7) Lecture 7 Transformation

3
**2D Rotation r (x’,y’) (x,y) x=r cos y=r sin x’ = r cos(+)**

= r cos cos r sin sin = x cos - y sin y’ = r sin(+) = r sin cos + r cos sin = x sin + y cos y=r sin Lecture 7 Transformation

4
**2D Scaling x’ = x sx y’ = y sy (x, y) (x’, y’)**

Lecture 7 Transformation

5
**2. Linear Transformations on vertices**

A linear transformation moves a vertex to a new position by multiplying it with a non-singular matrix. Eg, The following transforms the vertex (2, 3) to (3, 13) (3,13) (2,3) Lecture 7 Transformation

6
**Affine Transformations on vertices**

An affine transformation is a linear transformation followed by a translation. Its 2D general form is Affine transformations preserve lines. Many geometric movements of objects, eg, translations, rotations, and scalings are affine transformations. Lecture 7 Transformation

7
**3. Homogeneous coordinates**

A point in homogeneous coordinates (x, y, w), w ≠ 0, corresponds to the 2-D vertex (x/w, y/w) in Cartesian coordinates Conceive that the Cartesian coordinates axes lies on the plane of w = 1. The intersection of the plane and the line connecting the origin and (x, y, w) gives the corresponding Cartesian coordinates w (x, y, w) w = 1 (x/w, y/w, 1) x y y x w = 0 Lecture 7 Transformation

8
E.g. both the points (6, 9, 3) and (4, 6, 2) in the homogeneous coordinates corresponds to (2, 3) in the Cartesian coordinates. Conversely, the point (2, 1) of the Cartesian corresponds to (2, 1, 1), (4, 2, 2) or (6, 3, 3) of the homogeneous w 6, 3, 3) (4, 2, 2) w = 1 (2, 1, 1) x y y x w = 0 Lecture 7 Transformation

9
**Homogeneous coordinates of vectors**

A 2-D vector (x, y) of Cartesian corresponds to (x, y, 0) in homogeneous coordinates and vice versa. Note that vectors and vertices have different representations in homogeneous coordinates. On the other hand, the transformation formulas for both vectors and vertices in homogeneous coordinates are identical. Such generalization enhances simplicity, and thus the reliability, of a graphics system Lecture 7 Transformation

10
**4. 2D Transformation in Homogeneous form**

2D Translation in Homogeneous form (1,1) (5,1) (1,3) (x,y) (3,2) (7,2) (3,4) (x’, y’) Lecture 7 Transformation

11
**2D Rotation in Homogeneous form**

Lecture 7 Transformation

12
**Eg, to rotate 45o (/4 radian) sin /4 = cos /4 = 0.7071**

(1,1) (5,1) (1,3) (x,y) (0,1.4) (2.8, 4.2) (-1.4, 2.8) (x’, y’) Lecture 7 Transformation

13
**2D Translation in Homogeneous**

(1,1) (5,1) (1,3) (x,y) (2,1/2) (10,1/2) (2,3/2) (x’, y’) Lecture 7 Transformation

14
**5. Composite a sequence of transformations**

Translate the right-angle vertex to the origin (Tx = -1, Ty = -1) Rotate 45o (/4 radian) sin /4 = cos /4 = (1,1) (5,1) (1,3) (0,0) (4,0) (0,2) (2.8,2.8) (-1.4,1.4) Lecture 7 Transformation

15
**Lecture 7 Transformation**

16
**6. Composite Transformation Implementation **

All practical transformations on vertices and vectors in homogeneous coordinates can be expressed as pure matrix multiplications. Such uniformity greatly enhance the run-time efficiency of a graphics system. Suppose that a set of 1 million vertices needs to go through three transformations representing by the matrices M1, M2, and M3. A straightforward formula of the overall transformations for a vertex v is v´ = M3*M2*M1*v. As matrix multiplication is associative, we can compute M = M3*M2*M1 in advance, then transform all 1 million vertices using the formula v´ = M*v. Lecture 7 Transformation

17
**7. Other 2D Transformation**

Shearing Uneven scaling and shearing change the shape of an object An example of 2D shearing in x direction (To alter x-coordinates by an amount proportional to the y value.) y x (0,0) (0,1) (1,0) (1,1) (2,1) (3,1) x’ = x + 2y y’ = y Lecture 7 Transformation

18
**x’ = x y’ = 2x + y y x y x (0,0) (0,1) (1,2) (1,3) (0,0) (0,1) (1,0)**

(1,1) x’ = x y’ = 2x + y Lecture 7 Transformation

19
**(x,y) (x,-y) Reflection about the x axis Reflection about the y axis ?**

Reflection w.p.t the origin ? Reflection w.p.t the x = y Lecture 7 Transformation

20
**y =mx+b Reflection along a line**

Translate (0, -b) so that the line passes through the origin Rotate the line onto the x axis by -o Reflect about the x axis Backward rotate backward translate (Be reminded that these operations must be specified in reverse order.) b Lecture 7 Transformation

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google