
2D Geometric Transformations (Chapter 5 in FVD) 1 2D geometric transformation • Translation • Scaling • Rotation • Shear • Matrix notation • Compositions • Homogeneous coordinates 2 2D Geometric Transformations • Question: How do we represent a geometric object in the plane? • Answer: For now, assume that objects consist of points and lines. A point is represented by its Cartesian coordinates: (x,y). • Question: How do we transform a geometric object in the plane? • Answer: Let (A,B) be a straight line segment and T a general 2D transformation: T transforms (A,B) into another straight line segment (A’,B’), where A’=TA and B’=TB. 3 Translation • Translate (a,b): (x,y) (x+a,y+b) Translate(2,4) 4 Scale • Scale (a,b): (x,y) (ax,by) Scale (2,3) Scale (2,3) 5 • How can we scale an object without moving its origin (lower left corner)? Translate(-1,-1) Translate(1,1) Scale(2,3) 6 Reflection Scale(-1,1) Scale(1,-1) 7 Rotation • Rotate(q): (x,y) (x cos(q)+y sin(q), -x sin(q)+y cos(q)) Rotate(90) Rotate(90) 8 • How can we rotate an object without moving its origin (lower left corner)? Translate(-1,-1) Translate(1,1) Rotate(90) 9 Shear • Shear (a,b): (x,y) (x+ay,y+bx) Shear(1,0) Shear(0,2) 10 Composition of Transformations • Rigid transformation: – Translation + Rotation (distance preserving). • Similarity transformation: – Translation + Rotation + uniform Scale (angle preserving). • Affine transformation: – Translation + Rotation + Scale + Shear (parallelism preserving). • All above transformations are groups where Rigid Similarity Affine. 11 Affine Similarity Rigid 12 Matrix Notation • Let’s treat a point (x,y) as a 2x1 matrix (a column vector): x y • What happens when this vector is multiplied by a 2x2 matrix? a bx ax by c d y cx dy 13 2D Transformations • 2D object is represented by points and lines that join them. • Transformations can be applied only to the the points defining the lines. • A point (x,y) is represented by a 2x1 column vector, and we can represent 2D transformations using 2x2 matrices: x' a bx y' c d y 14 Scale • Scale(a,b): (x,y) (ax,by) a 0x ax 0 b y by • If a or b are negative, we get reflection. • Inverse: S-1(a,b)=S(1/a,1/b) 15 Reflection • Reflection through the y axis: 1 0 0 1 • Reflection through the x axis: 1 0 0 1 • Reflection through y=x: 0 1 1 0 • Reflection through y=-x: 0 1 1 0 16 Shear, Rotation • Shear(a,b): (x,y) (x+ay,y+bx) 1 ax x ay b 1y y bx • Rotate(q): (x,y) (xcosq+ysinq , -xsinq + ycosq) cosq sinq x xcosq ysinq sinq cosq y xsinq y cosq • Inverse: R-1(q)=RT(q)=R(-q) 17 Composition of Transformations • A sequence of transformations can be collapsed into a single matrix: x x ABC D y y • Note: order of transformations is important! (otherwise - commutative groups) translate rotate rotate translate 18 Composition of Transformations (Cont.) D = A B C D-1 = C-1B-1A-1 Proof: D * D-1 = ABC * C-1B-1A-1 = AB*I*B-1*A-1= A*I*A = I 19 Translation x x a • Translation(a,b): y y b • Problem: Cannot represent translation using 2x2 matrices. • Solution: Homogeneous Coordinates 20 Homogeneous Coordinates • Homogeneous Coordinates is a mapping from Rn to Rn+1: (x, y) (X,Y,W) (tx,ty,t) • Note: (tx,ty,t) all correspond to the same non-homogeneous point (x,y). E.g. (2,3,1)(6,9,3). • Inverse mapping: X Y (X ,Y,W ) , W W 21 Translation • Translate(a,b): 1 0 ax x a 0 1 by y b 0 0 11 1 • Inverse: T-1(a,b)=T(-a,-b) • Affine transformation now have the following form: a b e c d f 0 0 1 22 Geometric Interpretation W Y (X,Y,W) 1 y x (X,Y,1) X • A 2D point is mapped to a line (ray) in 3D. The non-homogeneous points are obtained by projecting the rays onto the plane Z=1. 23 • Example: Rotation about an arbitrary point: (x0,y0) q • Actions: – Translate the coordinates so that the origin is at (x0,y0). – Rotate by q. – Translate back. 1 0 x0 cosq sinq 01 0 x0 x 0 1 y sinq cosq 00 1 y y 0 0 0 0 1 0 0 10 0 1 1 cosq sinq x0 (1cosq ) y0 sinq x sinq cosq y (1cosq )x sinq y 0 0 0 0 1 1 24 • Another example: Reflection about an Arbitrary Line: p2 p1 L=p1+t (p2-p1)=t p2+(1-t) p1 • Actions: – Translate the coordinates so that P1 is at the origin. – Rotate so that L aligns with the x- axis. – Reflect about the x-axis. – Rotate back. – Translate back. 25 Change of Coordinates • It is often requires the transformation of object description from one coordinate system to another. • How do we transform between two Cartesian coordinate systems? • Rule: Transform one coordinate frames towards the other in the opposite direction of the representation change. y’ x’ y x 26 Change of Coordinates (Cont.) Example: X P’ O Y X’ P O’ Y’ 27 • Example: – Represent the point P=(xp,yp,1) in the (x’,y’) coordinate system. P'MP where cosq sinq 01 0 x0 1 1 M R T sinq cosq 00 1 y0 0 0 10 0 1 y’ y x’ q (x0,y0) (xp,yp) x 28 • Alternative method: – Assume x’=(ux,uy) and y’=(vx,vy) in the (x,y) coordinate system . P'MP where u u 01 0 x x y 0 M vx vy 00 1 y0 0 0 10 0 1 y’ y x’ (vx,vy) (ux,uy) (x0,y0) x 29 • Example: – P is at the y’ axis P=(vx,vy): y (vx,vy) (ux,uy) y’ x’ x u u 0 x y vx 0 P' MP vx vy 0 vy 1 1 0 0 1 1 – What is the inverse? 30 • Another example: Reflection about an Arbitrary Line: p y 2 p1 x • Define a coordinate systems (u,v) parallel to P1P2: p p u u 2 1 x u p2 p1 y u v v y x v ux y 1 0 p u v 0 u u 01 0 p 1x x x 1 0 0 x y 1x M 0 1 p u v 0 0 1 0 v v 0 0 1 p 1y y y x y 1y 0 0 1 0 0 1 0 0 1 0 0 10 0 1 31.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages31 Page
-
File Size-