Top Banner
CG Page: 1 東東東東東東 東東東 3.1 2D Geometry - points and polygon X Y oint in 2D is represented by two real bers (X,Y) e segment is represented by its tw oints (X 1 ,Y 1 ) (X 2 ,Y 2 ), or a 2x2 matrix ] X 1 Y 1 X 2 Y 2 X Y
17

2D Geometry

Dec 07, 2015

Download

Documents

Muhar Riana

geometri
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2D Geometry

CG Page: 1 東吳資訊科學 江清水

3.1 2D Geometry - points and polygons

X

Y

A point in 2D is represented by two real numbers (X,Y)

A line segment is represented by its two end points (X1,Y1) (X2,Y2), or a 2x2 matrix

[ ]X1 Y1

X2 Y2

X

Y

Page 2: 2D Geometry

CG Page: 2 東吳資訊科學 江清水

A polygon is represented by an list of points (X1,Y1), (X2,Y2), ..... (Xn,Yn) or a

n x 2 matrix [ ]

For example, a triangle is represent by

[ ]

X1 Y1

: :

Xn Yn

X1 Y1

X2 Y2

X3 Y3

X

Y

Page 3: 2D Geometry

CG Page: 3 東吳資訊科學 江清水

3.2 Object transformation and Coordinates System transformation

2

1

1 2 8

Y

X

(2,4)

(6,2)(2,2)

Object transformation is different from

the coordinates system transformation

Page 4: 2D Geometry

CG Page: 4 東吳資訊科學 江清水

Translation (2,1)

Rotation (/2)counter clock wiseabout the origin

X

Y

Y

X

Object Transformation

Scale (1/2)about the origin

Y

X

Page 5: 2D Geometry

CG Page: 5 東吳資訊科學 江清水

Y

X

Y

X

Coordinates system transformationY

X1 2 3

Translation (2,1)

Rotation (/2)counter clock wiseabout the origin

Scale (1/2)about the origin

If not described explicitly, transformation always means object transformation

Page 6: 2D Geometry

CG Page: 6 東吳資訊科學 江清水

There are 3 "basic" transformations:

(1) Translation

(2) Scaling

(3) Rotation

A series of transformations can be combined (concatenated) into one.

(1) Translation : T(Tx, Ty)

X

Y

(x,y)

(x',y')

2D Translations

Tx

Ty

3.3

Page 7: 2D Geometry

CG Page: 7 東吳資訊科學 江清水

(2) Scaling (about the origin) : S(Sx, S

y)

• What about "Mirror Images"?

• How do we avoid distortion?

• What happens when the scale factor equal to zero?

X

Y

(x,y)

Y

X

(x',y')

S(-2, -1)

Page 8: 2D Geometry

CG Page: 8 東吳資訊科學 江清水

(3) Rotation (about the origin

counterclockwise) :

x = R cos y = R sinx' = R cos( R(cos cos sin

sin y' = R sin(R(sin cos cos

sin

So, x ' = xcos - ysiny ' = xsin + ycos

X

Y

(x,y)

(x',y')

Page 9: 2D Geometry

CG Page: 9 東吳資訊科學 江清水

Concatenation -- A series of transformations can be combined (concatenated) into one.

Example: scaling about arbitrary point.

1. Translate so that point (a,b)

becomes the temporary origin:

x1 = x - a y1 = y - b

2. Scale to the correct size:

x2 = Sx*x1 y2 = Sy*y1

3. Translate again to restore the coordinates of (a,b):

x3 = x2 + a y3 = y2 + b

(a,b)X

Y(x,y)

Page 10: 2D Geometry

CG Page: 10 東吳資訊科學 江清水

Algebraic representations for transformations are very limited:

(1) A special procedure is need for

each basic transformation and

other known concatenated forms.

(2) It is difficult to provide general

transformation capabilities in

algebraic form in the computer.

(3) How can one find the inverse of

a concatenated equation (to

restore the original position, for

example)?

Page 11: 2D Geometry

CG Page: 11 東吳資訊科學 江清水

Let the point (x,y) be a row vector

[x y]:x' = ax + by and y' = cx + dy

can be expressed in the matrix equation:

[x' y'] = [x y] * [ ]2x2

Let P' = [x' y'] and P = [x y], this becomes the matrix equation:

P' = P * T where P' =[x' y'] ,

P = [x y] , T =

Consider three basic transformations, can we find a "T" for each?

• What about translations?

X'=X+Tx, Y'=Y+Ty

No, P' =[x' y']=[x y] [ ]+[Tx Ty]=P*T+Q

• What about scaling? X'=Sx*X, Y'=Sy*Y

Yes, P' =[x' y']=[x y] [ ] =P*T

• What about rotation?

x'=xcos-ysin, y'=xsin+ycos

Yes, P' =[x' y']=[x y] [ ]

a c

b d[ ]

1 0

0 1

Sx 0

0 Sy

cos sin-sin cos

Page 12: 2D Geometry

CG Page: 12 東吳資訊科學 江清水

3.4 Homogeneous Coordinates

Let the point (x,y) be a row vector [x y 1]:

x' = ax + by + e and y' = cx + dy + f can be expressed in the matrix equation:

[x' y' 1] = [x y 1] [ ]3x3

This becomes the matrix equation P' = P * T wher

e P'=[x' y' 1], P= [x y 1],

T= [ ]Now, can we find a "T" for each transformation?

• What about translations? Yes, T= [ ]• What about scaling? Yes, T= [ ]• What about rotation? Yes, T= [ ]

Page 13: 2D Geometry

CG Page: 13 東吳資訊科學 江清水

To check, what should the matrix be if we:

(1) translate by (0,0) ?

P'=P*[ ]=P*[ ]=P

(2) scale by (1,1) ?

P'=P*[ ]=P*[ ]=P

(3) rotate by 0 o ?

P'=P*[ ]=P*[ ]=P

(4) rotate by 90o ?

P'=[x' y' 1]=[x y 1] [ ] =[1 0 1]*[ ]=[0 1 1]

Draw the pictures and find the new vertices of the triangle for the following transformations (See the figure below) :

(x, y) = (1, 0)

(x', y') = (0, 1)

X

Y(2,2)

(2,1)

(4,1)

A

BC

Page 14: 2D Geometry

CG Page: 14 東吳資訊科學 江清水

(5) translate A by (2,1).

(6) translate A by (-2,1).

(7) scale A by (2,1).

(8) scale A by (-1,1).

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

Page 15: 2D Geometry

CG Page: 15 東吳資訊科學 江清水

(9) scale A by (1,0).

(10) scale A by (0,0).

(11) rotate A by 0o.

(12) rotate A by 90o .

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

X

Y

(2,2)

(2,1)(4,1)

A

BC

Page 16: 2D Geometry

CG Page: 16 東吳資訊科學 江清水

Concatenation is easy now. Consider

our scaling example:Example: We want to reduce the size or the box,

without changing the position of point (a, b)

Functional form and matrix form for each transformations:

(1) translate: T(-a,-b)

(2) scale : S(Sx,Sy)

(3) translate: T(a,b)

(a,b)

Y(x, y)

X

3.5 Composite 2D Transformation

Page 17: 2D Geometry

CG Page: 17 東吳資訊科學 江清水

Combining the matrix equations:

P3 =P2* T (-a,-b)=(P1*S(Sx, Sy) )*T(a, b)

=P*T(-a, -b) *S(Sx, Sy)*T(a, b)

Multiply the matrices :

Now, the matrix equation is :

or, in algebraic form :

Thus, a single 3x3 matrix can represent any combination of basic transformations in a simple form.