Transcript Document
Computer Graphics 2D Geometric Transformations Faculty of Physical and Basic Education Computer Science Dep. 2012-2013 E-mail: [email protected] [email protected] Lecturer: Azhee W. MD. Lecture:Six Geometric Transformations 2D Transformation Translation Scaling Rotation Sharing 2 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 2D Transformation The operations that are applied to an object to change its position, orientation, or size are called geometric transformation Some transformations: Translation Rotation Scaling Reflection Shearing 3 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Translation a point (x,y) is translated to a new position (x1,y1) by move it H units in the horizontal direction and V units in vertical direction , mathematically this can be represented as: X1=X+H y Y1=Y+V (x,y) x (0,0) 4 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Translation if H is positive, the point moves to the right, if H is negative, the point move to the left. if V is positive, the point moves to the up, if V is negative, the point move to the down. Remember that to move object we must translate every point describing the object. To implement translation in matrix representation [x’ y’ 1] = [x y 1] * 1 0 0 0 1 0 H V 1 5 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Translation(example) Consider a triangle with vertices A(0,0),B(2,2) and C(3,1),translate 2 units in the horizontal direction and 1 unit in the Vertical direction (2,2) (3,1) (0,0) 6 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Home work Q)What was the required transformation to move the green triangle to the red triangle? Here the green triangle is represented by 3 points triangle = { p1=(1,0), p2=(2,0), p3=(1.5,2) } 7 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Scaling An object can be made larger by increasing the distance between the points describing the object. In general we can change the size of an object or entire image by multiplying the distance between points by an enlargement or reduction factor. This factor is called the scaling factor and the operation that change the size is called scaling. 8 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Scaling if the scaling factor is greater than 1 is enlarge, if the factor is less than 1, the object is made smaller, a factor of 1 has no effect on the object. Whenever scaling is performed there is one point that remain at the same location , this is called the fixed point of the scaling transformation. to scale an object from a specific fixed point(Xf,Yf) we perform the following three steps: 9 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 Scaling A) Translate the point(Xf,Yf) to the origin ,every point (x,y) is moved to a new point (X1,Y1) : X1=X-Xf Y1=Y-Yf B) scale these translate points with the origin as the fixed points: X2=X1*Sx Y2=Y1*Sy C) translate the origin back on the fixed point(Xf,Yf) : X3=X2+Xf Y3=Y2+Yf University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 10 Scaling where Sx,Sy are called the horizontal and vertical scale factor, to implement scaling in matrix representation(Homogeneous Vector) [x’ y’ 1]=[x y 1] * 1 0 0 * Sx 0 1 0 1 0 0 Sy 1 -Xf –Yf 1 0 0 * 1 10 0 0 1 0 Xf Yf 1 (xf,yf) (A) (B) ( c) University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 11 Scaling example Consider a triangle with vertices A(0,0),B(2,2) and C(3,1),Scaling 2 units in the x axes and 2 unit in the Y axes . (2,2) (3,1) (0,0) University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 12 Home work Q) consider a triangle with vertices A (4,4), B (10,3) and c(7,10), now magnify it to thrice its size keeping C(5,2). University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 13 Rotation Transformation Another useful transformation is the rotation of the object about specified pivot point. After the object has been rotated, it still the same distance away from the pivot point. It is possible to rotate one or more objects or the entire image. About any point in world space in either a clockwise(negative angle) or counterclockwise (positive angle) direction. University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 14 Rotation Transformation Any point(x,y) can be represented by its radial distance (r) ,from the origin and its angle( ) . Y (x’,y’) r (x,y) r (0,0) X Rotation about origin x=r*cos( ) y=r*sin( ) University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 15 Rotation Transformation there are two type of rotation : Counterclockwise Cos( - Sin( ) ) Sin ( Cos( ) ) Clockwise Cos(- Sin( - ) ) Sin (- ) Cos( - ) University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 16 Homogeneous Matrix Representation University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 17 Inverse 2D Transformations University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 18 2D Rotation about an arbitrary point University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 19 2D Fixed Point Scaling University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 20 2D Reflection University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 21 2D Reflection (2) University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 22 2D Shearing University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 23 References Donald Hearn, M. Pauline Baker, Computer Graphics with OpenGL, 3rd edition, Prentice Hall, 2004 Chapter 3, 4 University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013 24