Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
41 views21 pages

L5 2dtrans

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 21

AML710 CAD

LECTURE 5

2D TRANSFORMATIONS (Contd.)

Sequence of operations, Matrix multiplication, concatenation, combination of operations

Types of Transformation
Affine Map: A map that maps E3 into itself is called an
affine Map if it leaves barycentric conditions invariant. If x = j a j , x, a j E 3 Then, x = ja j x, a j E 3
Most of the transformations that are used to position or scale an object in CAD are affine maps. The name was given by L. Euler and studied systematically by A. Mobius

Euclidian Maps: Rigid body motions like rotation and


translation where lengths and angles are unchanged are called Euclidian maps. This is a special case of affine maps

Transformation Groups and Symmetries


Affine transformations are classified (Felix
Klein) as follows Similarity Groups: Rigid motion and scaling Eg: Congruent, similar Symmetry Groups:Rotation, Reflection, Translation 1. No translation and no reflection Circle group Eg: a gear wheel 2. No translation and at least one reflection Dihedral group 3. Translation along one direction 4. Translation along more than one direction

Homogeneous coordinates of vertices


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

y y
(x/h, y/h, 1)

x x

h=1 h=0

For example, 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 system
h
(4, 2, 2) 6, 3, 3)

y y
(2, 1, 1)

x x

h=1 h=0

Rotation
Consider the following figure where a position vector p(x,y) which makes an angle to x-axis after transformation to p(x,y) makes an angle + degrees.
P(x,y)

P= [x y] = [rcos rsin] P= [x y] = [rcos(+ ) rsin(+ )] = [r(coscos - sinsin) r(cossin+ sincos) ] Using the definition of x=rcos and y=rsin, we can write P= [x y] = [x cos y sin x sin +y cos ] or the transformation matrix is

P(x,y)

[X ][T ] = [x

cos y ] sin

sin cos

Some Common Cases of Rotation


Rotation of 90 counter clockwise about the origin

[T ] = [T ] =

cos

sin

sin 0 1 = cos 1 0 sin 1 0 = cos 0 1

Rotation of 180 counter clockwise about the origin


cos sin

Rotation of 270 counter clockwise about the origin

[T ] =

cos

sin

sin 0 1 = cos 1 0

In all the above cases det[T]=1

Reflection- Special case of Rotation


Reflection is a special case of rotation of 180 about a line in xy plane passing through the origin. Eg about y=0 (x-axis)
[T ] =
1 0 0 1

About x=0 (y-axis)


[T ] =
1 0 0 1

About the lines x=y and x-y respectively are:


[T ] =
0 1 1 0

[T ] =

0 1 1 0

Reflection- Properties
If two pure reflections about a line passing through the origin are applied successively the result is a pure rotation. The determinant of a pure reflection matrix is -1
[T ] =
1 0 0 1

Properties of transformation Matrices


Det[T]=? In case of a) rotation, b) reflection. What is the geometrical interpretation of inverse of [T]? Show that TT-1 = [I]

[T ] =

cos sin

sin cos

[T ]1 =

cos( ) sin( ) cos = sin( ) cos( ) sin

sin =TT cos

Thus for a pure rotation (det[T]=1) the inverse of T is its transpose

Example
Show that the following transformation matrix gives a pure rotation
1 t 2 2 [T ] = 1 + t 2t 1 + t 2 2t 1+ t 2 2 1 t 1+ t 2

1 t 2 1 t 2 2t 2t det[T ] = 1 + t 2 1 + t 2 = 1 1+ t 2 1+ t 2

Example
A A unit square is transformed by a 22 transformation matrix. The resulting position 0 0 vectors are: Determine the transformation matrix used. Ans:
0 1 [ x] = [ X ][T ] = 1 0 0 0 0 0 0 a b a b = 2 = 1 c d a + c b + d 8 1 d 6 c 0 3 ;[T ] = 2 3 6 1 4 1

2 3 [ x ] = 8 4 6 1

Example
Show that the shear transformation in x and y directions together is not the same as shear along x followed by shear along y? Ans:
1 b 1 0 1 + bc b 1 b 0 1 c 1 = c 1 c 1 b 1 b 1 0 1 b 1 c 1 0 1 = c 1 + bc c 1

Example Problem
Consider a triangle whose vertices are (2 2), (4 2) and (4 4). Find the concatenated transformation matrix and the transformed vertices for rotatation of 90 about the origin followed by reflection through the line y = -x. Comment on the sequence of transformations.

2 2 2 2 2 2 0 1 0 1 1 0 [ X }[T1 }[T2 } = [ X }[T } = 4 2 1 0 = 4 2 0 1 = 4 2 1 0 4 4 4 4 4 4

For seeing the effect of changing the sequence of operations let us reverse the order, i.e, first reflection and then rotation.
2 2 2 2 2 2 1 0 0 1 0 1 [ X }[T2 }[T1 } = [ X }[T } = 4 2 1 0 = 4 2 0 1 = 4 2 1 0 4 4 4 4 4 4

Example Problem: Solution

Conduct a combination of transformations in sequence (1,3)


Translate the right-angle vertex to the origin (Tx = -1, Ty = -1)
x' 1 0 Tx x y ' = 0 1 T y . y w' 0 0 1 w
(1,1) (5,1)

(0,2) (0,0) (4,0)

Rotate 45o (/4 radian) sin /4 = cos /4 = 0.7071


x" cos y" = sin w" 0 sin cos 0 0 x ' 0 y' 1 w'

(-1.4,1.4)

(2.8,2.8)

x" cos y" = sin w" 0 cos = sin 0

sin cos 0 sin cos 0

0 x' cos 0 y ' = sin 1 w' 0

sin cos 0

0 1 0 Tx x 0 0 1 Ty y 1 0 0 1 w

Tx cos Ty sin x Tx sin + Ty cos y 1 w

The computation of [ ] from [ ] [ ] is called matrix multiplication. The general form is:
a b e c d g f ae + bg = h ce + dg af + bh cf + dh

A sequence of transformations can be lumped in a single matrix via matrix multiplications

Scaling relative to a fixed point


(m, n)

1. Translate the point(-m, -n) to the origin 2. Scale the object by Sx, Sy scale factors 3. Translate the point back (m, n)

[T ] = [Tt ]1 [S ][Tt ]
1 0 m Sx 0 0 1 0 m [T ] = 0 1 n 0 Sy 0 0 1 n 0 0 1 0 0 1 0 0 1
Column Vectors

Rotation about an arbitrary point


(m, n)

[T ] = [Tt ][R][Tt ]1
Row Vectors

0 0 cos 1 [T ] = 0 1 0 sin m n 1 0

sin cos 0

0 1 0 0 0 0 1 0 1 m n 1

Rotation about an arbitrary point


1. Translate the point(-m, -n) to the origin 2. Rotate the object about the origin by o 3. Translate back (m,n)

P =[x y h] P(m, n)

[T ] = [Tt ][R][Tt ]1
0 0 cos 1 [T ] = 0 1 0 sin m n 1 0 sin cos 0 0 1 0 0 0 0 1 0 1 m n 1

Ex: Center of an object (4,3) , rotate it about the center by 90o CC 0 1 0 0 1 7 x 1 0 1 y OR [x y 1] 1 0 0 7 1 1 0 0 1 1

10

Reflection O(3)
Reflection is a special case of rotation SO(3) when angel of rotation is 180 about an axis in the plane
= tan (m)
sin(180) = 0, cos(180) = 1
1

y =mx+b

1 0 0 [T ] = 0 1 0 0 0 1

Reflection about an arbitrary line


1. Translate (0, -b) so that the line passes through the origin 2. Rotate the line about the x axis by -o b 3. Reflect object about the x axis 4. Rotate back the line by o 5. Translate back (0,b)

y =mx+b

[T ] = [Tt ][Tr ][R ][Tr ] [Tt ]


1

= tan 1 (m)
0 0 0

1 [T ] = 0 0

0 0

1 2

2/ 5 1/ 5 1 0
0

1/ 5 0

2/ 5 0

1 0 1 0
0

0 0

1 0

2 / 5 1/ 5 1 0
0

1 / 5 0 2/ 5 0

1 0 1 0
0

1 2

Alternate Method?

Ex: Reflect triangle (2,4),(4,6),(2,6) about line

y = ( x + 4)
1 2

3 / 5 4 / 5 0

4 / 5 8 / 5 3 / 5 16 / 5 0 1

2 4 1

4 2 6 6 1 1

14 / 5 = 12 / 5 1

28 / 5 22 / 5 14 / 5 6 / 5 1 1

11

Mid-point Transformation
Consider a straight line between A(x1,y1) and B(x2,y2). Let us try to transform this line using a general a 22 transformation matrix E

A*

M B M

B*

a b [T ] = c d x1 A * A B * = B [T ] = x 2

F
* y1 * y2

y1 a b ax1 + cy1 = y2 c d ax2 + cy2

* bx1 + dy1 x1 = * bx2 + dy2 x2

[x

* * * x * + x2 ax1 + cy1 + ax2 + cy2 + y2 y1 * = 1 ym = 2 2 2 y + y2 x +x y + y2 x +x = a 1 2 + c 1 b 1 2 +d 1 2 2 2 2 * m

bx1 + dy1 + bx2 + dy2 2 (1)

[x ' m

x + x y 'm ] = 1 2 2

y1 + y2 y1 + y2 a b x1 + x2 = a 2 + c 2 2 c d

x1 + x2 y + y2 +d 1 ( 2) 2 2

Mid-point Transformation
From (1) and (2) we can conclude that by recursively continuing this process, we will cover all A* E points on the line AB and hence their images on A*B* by corresponding map. M B M F A But a general proof of end points transformation actually transforms the whole line can be given usign the section formula. Any point m that divides the line AB in the ratio p:q can be given as:

B*

m=

1 ( pb + qa) p+q

Needless to say that the same is applicable to A*B*. The special case of mid point transformation occurs when p:q=1.

12

Transformation of intersecting lines


When two intersecting lines are transformed using general 2x2 transformation matrix the resulting lines are also intersecting Consider 2 intersection lines E A B

y = m1 x + b1

y = m2 x + b2
The point of intersection: Transformed point of intersection:

[X i ] = [xi

b b yi ] = 1 2 m2 m1 a b [X i ] c d

b1m2 b2 m1 m2 m1

[x

' i

a (b b ) + c(b1m2 b2 m1 ) yi' = 1 2 m2 m1

b(b1 b2 ) + d (b1m2 b2 m1 ) m2 m1

Transformation of intersecting lines


Observe these points A In the last slide E B 1. A pair of non-perpendicular lines get transformed to perpendicular lines

2. By inverse T-1 a pair of perpendicularA lines can get transformed to non-perpendicular lines 3. Such a result can have disastrous effect on the resulting geometry

13

Transformation of two parallel lines


When two parallel lines are transformed using general 2x2 transformation matrix the resulting lines remain parallel

Consider 2 lines parallel to each other between the end points A(x1,y1),B(x2,y2) and CD. Since they are parallel y y1 the slope is the same given by m= 2 x 2 x1

[T ][X ] =
m =

a c x1 b d y1

x 2 ax1 + cy1 ax 2 + cy 2 = y2 bx1 + dy1 bx 2 + dy 2

(bx2 + dy 2 ) (bx1 + dy1 ) b( x 2 x1 ) + d ( y 2 y1 ) = (ax 2 + cy 2 ) (ax1 + cy1 ) a( x 2 x1 ) + c( y 2 y1 )


( y 2 y) ( x 2 x1 ) 1 b + dm m = = ( y 2 y1 ) a + cm a+c ( x 2 x1 ) b+d

Intersecting lines and rigid body transformations


When do perpendicular lines transform as perpendicular lines? Consider the scalar(dot) and vector products of two vectors as follows
V1 .V2 =V1 xV2 x +V1 yV2 y = V1 V2 cos
v v V1V2 = V1 xV2 x V1 yV2 y k = V1 V2 k sin

Let us now transform these vectors by general 2x2 T and find dot and cross products again

a c V1x V2 x aV1x + cV1 y b d V V = bV + dV 2x 1y 1y 1x


(a 2

aV2 x + cV2 y bV2 x + dV2 y

2 2 2 V cos + b )V1 xV2 x + ( c + d )V1 y V2 y + ( ac + bd )(V1 xV2 y + V1 y V2 x ) = V1 2 r r V k sin ( ad bc )(V1 xV2 y V2 xV1 y ) k = V1 2

We require for magnitude and angle to remain unchanged


+b 2 = c 2 +d 2 = 1; ac + bd = 0; ad bc = +1 OR T T

[ ][ ]1 = [T ][T ]T = [I ]

14

Transformation of Unit square and area


Observe unit square being scaled and sheared along x and y axes simultaneously
D (c,d) D A C (a,b) B C (a+c, b+d)

0 1 1 0 a c 0 1 1 0 0 a a + c = P= ; and P b d 0 0 1 1 = 0 b b + d 0 0 1 1
1 1 A p = ( a + c )( b + d ) 2 ( ab ) 2 ( cd ) c ( b + b + d ) b ( c + a + c ) = ad bc 2 2 = det[T ] A p = As det[T ]

(o,0) A

c d

Area Scaling example A triangle with vertices (1,0), (0,1) and (-1,0) is transformed by
3 2 [T ] = 1 2
Ai = 1 Area 2 ( 2)(1) = 1 sq. units Vertices after transformation are

2 1 0 3 3 2 [ X ' ] = 0 1 = 1 2 1 2 3 2 1 0
At = Ai 1 Transformed area, 2 ( 4)( 4) = 8 sq. units

15

Geometrical Interpretation of Overall Scaling

[x *
=

y * h] = [x x s y 1 s

1 0 0 y 1] 0 1 0 = [x 0 0 s

y s]

h<1

h=1

h>1

Viewing Transformations
It is a transformation from world CS to Screen CS. The dimensions of the WCS may be in any chosen system of units SI or FPS etc the latter is measured in pixels. Translate the MCS base point to origin Apply the scaling necessary to fit into the screen limits (xmin,ymin and xmax ymax) Move the base point back to its original position

1. 2. 3.

[T ] = [Tt ][S ][Tt ]1


[T ] = 0 xmin
1 0 1 y min
max u min u xmax xmin 0 0 1 0

0 vmax vmin y max y min 0

1 0 0 1 u min
0

0 1 vmin

1
0 2

16

Translation
What are invariant?
Lengths Angles

Which transformation group?


Congruent

det[T]=1

Translation + Dilation
What are invariant?
Ratio of Lengths Angles

Which transformation group?


similarity

det[T]=1

17

Translation + Rotation
What are the invariants?

Lengths Angles Which transformation group? Congruent det[T]=1

Reflection
What are the invariants?

Lengths Angles Which transformation group? Congruent det[T] = -1

18

Reflection+Translation=Glide
What are the invariants?

Lengths Angles Which transformation group? m Congruent det[T] = -1 Glide= Rm+Ta=Ta+Rm

Shear Transformation
What are invariant? parallelism
4 2

10

-2

Which transformation group? affine

-4

19

Projective Transformation
What are invariant? Incidence Cross ratios of lengths Order of curves

10

-2

-4

Isometries of a Square
How many isometries?
Cayle Table of isometries of a square
i 90 90 180 270 i D2 D1 H V 180 180 270 i 90 V H D2 D1 270 270 i 90 180 D1 D2 V H H H D1 V D2 i 180 90 270 V V D2 h D1 180 i 270 90 D1 D1 V D2 H 270 90 i 180 D2 D2 H D1 V 90 270 180 i

identity Rotational Reflection


i 90 180 270

I
90 180 270 H

i 90 180 270 H V D1 D2

D1

D2

V D1 D2

20

Transformations Possible in different Geometries


Transformation / Geometries Rotation Translation Uniform Scaling Non-uniform Scaling Shear Central Projection Euclidian Similarity Affine Projective

Invariant Quantities in different Geometries


Transformation / Geometries Lengths Angles Ratios of Lengths Parallelism Incidence Cross-ratios of Lengths Euclidian Similarity Affine Projective

21

You might also like