1 / 66

CGMB214: Introduction to Computer Graphics

CGMB214: Introduction to Computer Graphics. Topic 6: Geometric Transformation. Objectives. To provide an understanding on the geometric transformation. So far….

carol
Télécharger la présentation

CGMB214: Introduction to Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CGMB214: Introduction to Computer Graphics Topic 6: Geometric Transformation

  2. Objectives To provide an understanding on the geometric transformation

  3. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations and coordinate frames and how to change the representation of points and vectors from one frame to another. Next topic involves how to map points from one place to another (transformation).

  4. Affine Transformation • In this topic, we will concentrate on one particular transformation called affine transformations. Examples of affine transformations are: • translations • Rotations • Uniform and non-uniform scaling • reflections (flipping objects about a line) • shearing ( which deform squares into parallelogram)

  5. Affine Transformation Examples of affine transformation

  6. Affine Transformation Transformation in 2-D and 3-D

  7. Affine Transformation-Characteristics • These transformations all have a number of things in common. • They all map lines to lines ( parallel lines will still be parallel after the transformations) • Translation, rotation and reflection preserve the lengths of line segments and the angles between segments • Uniform scaling preserve angles but not length • Non-uniform scaling and shearing do not preserve angles or lengths

  8. Affine Transformation-Usage Transformations are useful in a number of situations: 1. We can compose a scene out a number of objects

  9. Affine Transformation-Usage

  10. Affine Transformation-Usage 2. Can design a single “motif” and manipulate the motif to produce the whole shape of an object especially if the object has certain symmetries. Example of snowflake after reflections, rotations and translations of the motif

  11. Affine Transformation-Usage 3. To view an object from a different angle

  12. Affine Transformation-Usage 4. To produce animation

  13. Affine Transformation • The two special types of affine transformation are • Rigid transformation: These transformations preserve both angles and lengths (I.e. translations, rotations and reflections) • 2. Orthogonal transformation: These transformations preserve angles but not necessarily length.

  14. Affine Transformation -why? The most common transformations used in computer graphics. They simplify operations to scale, rotate and reposition objects. Several affine transformations can be combined into a simple overall affine transformation in terms of a compact matrix representation

  15. Transformation Matrix (2-D) For a point P that map to Q after affine transformation has a matrix representation as shown: NB: the third of the resultant matrix will always be 1 for a point

  16. Transformation Matrix (2-D) For a vector V that maps to W after affine transformation has the matrix representation as shown: NB: the third row of the resultant matrix will always be 0 for a vector

  17. Transformation Matrix The scalar m that we have in the transformation matrix will determine which affine transformation that we want to perform.

  18. OpenGL graphics pipeline Normally in OpenGL, many transformation processes occur before the final objects are displayed on the screen. Basically the object that we define in our world will go through the same procedure.

  19. Transformations Transformations: changes in size, shape and orientation that alter the coordinate descriptions of objects. Usually, transformations are represented and calculated using matrices. OpenGL also uses the same approach to perform transformations

  20. Sine and Cosine Recall our algebra lesson!! c b a Sin = b/c if c = 1 then b = sin Cos = a/c if c = 1 then c = cos

  21. Sine and Cosine (cont.) 90 z y 180 0 x - 270

  22. Sine and Cosine (cont.) Cos = x/z if z = 1 then cos = x Sin = y/z if z = 1 then sin = y Cos (- ) = x/z = cos Sin (- ) = -y/z = -sin Cos ( ) = cos cos - sin sin Sin ( ) = sin cos + cos sin

  23. Matrices In graphics most of the time matrix operation that we will deal with is matrix multiplication. The formula for multiplication of matrix A with m x p dimension and matrix B with p x ndimension is: where

  24. Example

  25. Characteristics of Matrix Multiplication of matrices is not commutative AB != BA Multiplication of several matrices is associative A(BC) = (AB)C

  26. Identity Matrix Set of matrices that when they multiply another matrix which reproduce that matrix is called identity matrices i.e: 1D 2D 3D 4D

  27. Object Transformation vsCoordinate Transformation Object Transformation: alters the coordinates of each point on the object according to some rule. No change of coordinate system Coordinate Transformation: defines a new coordinate system in terms of the old one and then represents all of the object’s point in the new coordinate system

  28. Translation • Reposition an object along a straight line path from one coordinate location to another • 2D point is translated by adding translation distances to the x and y coordinates • When translating (x,y) to (x’,y’) by value t • x’ = x + tx • y’ = y + ty

  29. Translation The (tx,ty) is the translation distances called TRANSLATION VECTOR In matrix form Then point P’ = P + T

  30. Translation For 2-D translation the transformation matrix T has the following form: T = Where mxand my are the translation values in x and y axis

  31. Translation (cont.) For 3-D translation the transformation matrix T has the following form: T = Where mx, myand mz are the translation values in x, y and z axis

  32. Translation • Translation is a rigid body transformation • the object is not being deformed • all points are moved in the same distance • How to translate? • Straight lines – based on end points • Polygons - based on vertices • Circles - based on centre

  33. Rotations • Reposition an object along a circular path in a specified plane • Rotations are specified by: • a rotation angle • a rotation point (pivot point) at position (x,y) • Positive rotation angle means rotate counter-clockwise negative rotation angle means rotate clockwise

  34. Rotations (x’,y’) r (x,y) r The original point (x,y) can be represented in polar coordinates form: x = r cos (1) y = r sin (2)

  35. Rotations • The new point (x’,y’) can be expressed as • x’ = r cos ( ) • y’ = r sin ( ) • These equation can be written as • x’ = r coscos - r sin sin • y’ = r cos sin + r sin cos

  36. Rotations • Substituting the equations with equation (1) and (2), we get • x’ = x cos - y sin • y’ = x sin + y cos • Therefore, the rotation matrix R can be expressed as R =

  37. Rotations For 2-D rotation the transformation matrix R has the following form (in homogeneous coordinate system): NB: for counter-clockwise rotation

  38. Rotations In 3-D world, the rotation is more complex since we have to consider rotation about three different axis; x, y and z axis. Therefore we have three different transformation matrices in 3-D world. Rz( ) = Rotation about z-axis (ccw)

  39. Rotations Rx( ) = Rotation about x-axis (ccw) Ry( ) = Rotation about y-axis (ccw)

  40. Rotations • This rotation matrix is for case where the rotation is at the origin. • For a rotation at any other points, we need to perform the following transformations: • Translating the object so the rotation point is at the origin. • Rotating the object around the origin • Translating the object back to its original position • Recall that rotation is a rigid affine transformation

  41. Scaling Scaling changes the size of an object Scaling can also reposition the object but not always Uniform scaling is performed relative to some central fixed point (I.e at the origin). The scaling value (scale factor) for uniform scaling must be both equal. Non-uniform scaling has different scaling factors. Also refers as differential scaling

  42. Scaling • The value of the scale factors (Sx, Sy, Sz) determine the size of the scaled object. • if equal to 1 -> no changes • if greater than 1 -> increase in size (magnification) • if 0 < scale factors < 1 -> decrease in size • (demagnification) • if negative value -> reflection !!!

  43. Scaling (cont.) For 2-D scaling the transformation matrix S will have the following form S =

  44. Scaling For 3-D scaling the transformation matrix S has the following form: S =

  45. Reflection Reflection produces a mirror image of an object It is also a rigid body transformation Reflection is relative the axis of the reflection. In 2D,the axis are either x and y whereas 3-D includes z axis. Reflection is actually a special case of scaling (with the negative scale factor)

  46. Reflection For 2-D reflection, the transformation matrix F has the following form F(y) = F(x) = About x-axis about y-axis

  47. Reflection For 3-D reflection, the transformation matrix F has the following form F(z) = Reflection about z-axis

  48. Reflection Reflection can be generalized by concatenating rotation and reflection matrices. Example: If reflection at y=x axis (45 degree), the transformations involved are: Clockwise rotation of 45 degree Reflection about x axis Counter clockwise rotation of 45 degree

  49. Shearing Distort an object by moving one side relative to another It neither rigid body nor orthogonal transformation. i.e. changing a square into parallelogram in 2-D or cube into parallelepiped in 3-D space It is normally used to display italic text using regular ones

  50. Shearing For 2-D shearing transformation the transformation matrix has the following form X direction y direction

More Related