Top Banner
1 Geometric Transformation-2D lides for Data Visualization course only lides for Geometric Modeling course only lides for Computer Graphics course only lides for Computer Vision course only Last Updated: 29-02-12 Readings: 1) Hearn Donald, Baker Pauline, Computer Graphics with OpenGL, Third Edition, Prentice Hall, 2004. Chapter 5 2) Hill, F. S., Kelly S. M., Computer Graphics Using OpenGL, Third Edition, Pearson Education, 2007. Chapter 5 3) $ Szeliski R., Computer Vision - Algorithms and Applications, Springer, 2011. Chapter 2
56

1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

Dec 22, 2015

Download

Documents

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: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

1Geometric Transformation-2D

# Slides for Data Visualization course only* Slides for Geometric Modeling course only@ Slides for Computer Graphics course only$ Slides for Computer Vision course only

Last Updated: 29-02-12

Readings:1) Hearn Donald, Baker Pauline, Computer Graphics

with OpenGL, Third Edition, Prentice Hall, 2004. Chapter 5

2) Hill, F. S., Kelly S. M., Computer Graphics Using OpenGL, Third Edition, Pearson Education, 2007. Chapter 5

3) $ Szeliski R., Computer Vision - Algorithms and Applications, Springer, 2011. Chapter 2

Page 2: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

2Overview

2D Transformations• Basic 2D transformations• Matrix representation• Composite Transformation • Computational Efficiency• Homogeneous representation• Matrix composition

2D Transformations• Basic 2D transformations• Matrix representation• Composite Transformation • Computational Efficiency• Homogeneous representation• Matrix composition

Page 3: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

3Geometric Transformations

Linear Transformation Euclidean Transformation Affine Transformation Projective Transformation

Page 4: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

4Linear Transformations

• Linear transformations are combinations of …• Scale,• Rotation,• Shear, and• Mirror

• Properties:• Satisfies:• Origin maps to origin• Lines map to lines• Parallel lines remain parallel• Ratios are preserved

• Linear transformations are combinations of …• Scale,• Rotation,• Shear, and• Mirror

• Properties:• Satisfies:• Origin maps to origin• Lines map to lines• Parallel lines remain parallel• Ratios are preserved

)()()( 22112211 pppp TsTsssT

y

x

dc

ba

y

x

'

'

Page 5: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

5Euclidean Transformations

The Euclidean transformations are the most commonly used transformations. An Euclidean transformation is either a translation, a rotation, or a reflection.

Properties:Preserve length and angle measures

The Euclidean transformations are the most commonly used transformations. An Euclidean transformation is either a translation, a rotation, or a reflection.

Properties:Preserve length and angle measures

Page 6: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

6Affine Transformations

Affine transformations are the generalizations of Euclidean transformation and combinations of• Linear transformations, and• Translations

Properties:• Origin does not necessarily map to origin• Lines map to lines but circles become ellipses• Parallel lines remain parallel• Ratios are preserved• Length and angle are not preserved

Affine transformations are the generalizations of Euclidean transformation and combinations of• Linear transformations, and• Translations

Properties:• Origin does not necessarily map to origin• Lines map to lines but circles become ellipses• Parallel lines remain parallel• Ratios are preserved• Length and angle are not preserved

wyx

fedcba

wyx

100''

Page 7: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

7Projective Transformations

Projective transformations are the most general linear transformations and require the use of homogeneous coordinates.

Properties:• Origin does not necessarily map to origin• Lines map to lines• Parallel lines do not necessarily remain parallel• Ratios are not preserved• Closed under composition

Projective transformations are the most general linear transformations and require the use of homogeneous coordinates.

Properties:• Origin does not necessarily map to origin• Lines map to lines• Parallel lines do not necessarily remain parallel• Ratios are not preserved• Closed under composition

wyx

ihgfedcba

wyx

'''

Page 8: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

8Transformation of Objects

Basic transformations are:– Translation– Rotation– Scaling

Application:oSuch as animation: to give life, virtual realityoWe use parameterised transformations that change over time toThus for each frame the object moves a little further, just like a movie

Basic transformations are:– Translation– Rotation– Scaling

Application:oSuch as animation: to give life, virtual realityoWe use parameterised transformations that change over time toThus for each frame the object moves a little further, just like a movie

y

z

x y

z

xy

z

x

Translation

Rotation

Scaling

Page 9: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

92D Translation

A translation of a single point is achieved by adding an offset to its coordinates, so as to generate a new coordinate position:

A translation of a single point is achieved by adding an offset to its coordinates, so as to generate a new coordinate position:

tx = 2ty = 3

Page 10: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

102D Translation

Translation operation:

Or, in matrix form:

Translation operation:

Or, in matrix form:

y

x

tyy

txx

'

'

y

x

t

t

y

x

y

x

'

'

translation matrix

Page 11: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

112D Scaling

Scaling a coordinate means multiplying each of its components by a scalar

Uniform scaling means this scalar is the same for all components:

Scaling a coordinate means multiplying each of its components by a scalar

Uniform scaling means this scalar is the same for all components:

2

Page 12: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

12

Non-uniform scaling: different scalars per component:

How can we represent this in matrix form?

Non-uniform scaling: different scalars per component:

How can we represent this in matrix form?

2D Scaling

x 2y 0.5

Page 13: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

132D Scaling

Scaling operation:

Or, in matrix form:

Scaling operation:

Or, in matrix form:

ysy

xsx

y

x

'

'

y

x

s

s

y

x

y

x

0

0

'

'

scaling matrix

Page 14: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

142D Scaling

Does non-uniform scaling preserve angles?

No

Consider the angle that the vector (1, 1) makes with the x axis.

Scaling y by 2 creates the vector (1, 2). The angle that this vector makes with the x axis is different, i.e., ≠ , the angle is not preserved.

Page 15: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

15

To rotate a polygon or other graphics primitive, we simply apply the (same) rotation transformation to all of its vertices

To rotate a polygon or other graphics primitive, we simply apply the (same) rotation transformation to all of its vertices

2D Rotation

300

Page 16: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

162D Rotation

(x, y)

(x', y')

x' = x cos() - y sin()y' = x sin() + y cos()

• Counter Clock Wise• RHS

Page 17: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

172D Rotation

x = r cos (f)y = r sin (f)x’ = r cos (f + )y’ = r sin (f + )

Trig Identity…x’ = r cos(f) cos() – r sin(f) sin()y’ = r sin(f) cos() + r cos(f) sin()

Substitute…x’ = x cos() - y sin()y’ = x sin() + y cos()

(x, y)

(x’, y’)

f

Page 18: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

182D Rotation

This is easy to capture in matrix form:

x’ = x cos() - y sin()y’ = x sin() + y cos()

=>

This is easy to capture in matrix form:

x’ = x cos() - y sin()y’ = x sin() + y cos()

=>

y

x

y

x

cossin

sincos

'

'

rotation matrix

Page 19: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

19Matrix Representation

Represent 2D transformation by a matrix

Multiply matrix by column vector apply transformation to point

Represent 2D transformation by a matrix

Multiply matrix by column vector apply transformation to point

yx

dcba

yx

''

dcba

dycxy

byaxx

'

'

Page 20: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

20Composite Transformation

Matrices are a convenient and efficient way to represent a sequence of transformations

Transformations can be combined by multiplication, like

Matrices are a convenient and efficient way to represent a sequence of transformations

Transformations can be combined by multiplication, like

yx

lkji

hgfe

dcba

yx

''

Page 21: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

21

Transformation in Matrix Representation

y

x

y

x

cossin

sincos

'

'

y

x

s

s

y

x

y

x

0

0

'

'

y

x

t

t

y

x

y

x

'

'Translation

Scaling

Rotation

Can we make a composite matrix?

Page 22: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

22Homogeneous Coordinates– We can express a translation in terms of a matrix

multiplication operation by expanding the transformation matrix from its representation by a 2x2 matrix to representation by a 3x3 matrix

– This is accomplished by using homogeneous coordinates, in which 2D points (x, y) are expressed as (xh, yh, h),

where h ≠ 0 and x = xh / h, y = yh / h

Typically, we use h = 1.

– We can express a translation in terms of a matrix multiplication operation by expanding the transformation matrix from its representation by a 2x2 matrix to representation by a 3x3 matrix

– This is accomplished by using homogeneous coordinates, in which 2D points (x, y) are expressed as (xh, yh, h),

where h ≠ 0 and x = xh / h, y = yh / h

Typically, we use h = 1.

Page 23: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

23# Homogeneous Coordinates

http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/geometry/homo-coor.html

Page 24: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

24Homogeneous Coordinates

Add a 3rd coordinate to every 2D point• (x, y, w) represents a point at location (x/w, y/w)• (x, y, 0) represents a point at infinity• (0, 0, 0) is not allowed

Add a 3rd coordinate to every 2D point• (x, y, w) represents a point at location (x/w, y/w)• (x, y, 0) represents a point at infinity• (0, 0, 0) is not allowed

Convenient coordinate system to represent many useful transformations

1 2

1

2(2,1,1) or (4,2,2) or (6,3,3)

x

y

Page 25: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

252D Translation Matrix

Using homogeneous coordinates, we can express the equations that define a 2D translation of a coordinate position:

Using homogeneous coordinates, we can express the equations that define a 2D translation of a coordinate position:

1100

10

01

1

y

x

t

t

y

x

y

x

y

x

t

t

y

x

y

x

'

'=>

Page 26: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

26

Transformation in Matrix Representation

Translation

Scaling

Rotation

Can we make a composite matrix now?

1100

10

01

1

y

x

t

t

y

x

y

x

1100

00

00

1

y

x

s

s

y

x

y

x

1100

0cossin

0sincos

1

y

x

y

x

Page 27: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

27Composite TransformationIf we want to apply two transformations, M1 and M2 to a

point P, this can be

expressed as:

P = M2.M1.P

or

P = M.P

where M = M2.M1

Note: The transformations appear in right-to-left order

If we want to apply two transformations, M1 and M2 to a point P, this can be

expressed as:

P = M2.M1.P

or

P = M.P

where M = M2.M1

Note: The transformations appear in right-to-left order

Page 28: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

28

Ta Tb = Tb Ta, Ra Rb != Rb Ra and Ta Rb != Rb Ta

Composite Transformation

rotations around different axes do not commute

Page 29: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

29Composite Transformation

Matrix Concatenation Properties

Multiplication of matrices is associative The transformations appear in right-to-left order Same type of transformation can commute Rotation and uniform scaling can commute Rotations around different axes do not commute

Matrix Concatenation Properties

Multiplication of matrices is associative The transformations appear in right-to-left order Same type of transformation can commute Rotation and uniform scaling can commute Rotations around different axes do not commute

Page 30: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

30Inverse Transformations

For translation, the inverse is accomplished by translating in the opposite direction:

For translation, the inverse is accomplished by translating in the opposite direction:

100

10

011

y

x

t

t

T

Note: T-1(tx, ty) = T(-tx, -ty)

Page 31: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

31Inverse Transformations

For scaling, the inverse is accomplished by scaling by the reciprocal of the original amount in each direction:

For scaling, the inverse is accomplished by scaling by the reciprocal of the original amount in each direction:

100

0/10

00/11

y

x

s

s

S

Note: S-1(sx, sy) = S(1/sx, 1/sy)

Page 32: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

32Inverse Transformations

For rotation, the inverse is accomplished by rotating about the negative of the angle:

Note that R-1() = RT() = R (-)

For rotation, the inverse is accomplished by rotating about the negative of the angle:

Note that R-1() = RT() = R (-)

100

0)cos()sin(

0)sin()cos(

100

0)cos()sin(

0)sin()cos(1

R

Page 33: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

33Transformation about a Pivot Point

The transformation sequence is:

– translate all vertices of the object by the vector T = (-tx, -ty), where (tx, ty) is the current location of object.

– transform (rotate or scale or both) the object– translate all vertices of the object by the vector T-1

i.e.,

P = T-1.M.T

The transformation sequence is:

– translate all vertices of the object by the vector T = (-tx, -ty), where (tx, ty) is the current location of object.

– transform (rotate or scale or both) the object– translate all vertices of the object by the vector T-1

i.e.,

P = T-1.M.T

Page 34: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

34Transformation about a Pivot Point

General 2D Pivot-Point Rotation

i.e., rotation of angle about a point (xc, yc)

T(xc, yc).R(xc, yc, ).T(-xc, -yc) = ?

General 2D Fixed-Point Scaling

i.e., scaling of parameters (sx, sy) about a point (xc, yc)

T(xc, yc).S(xc, yc, sx, sy).T(-xc, -yc) = ?

General 2D Pivot-Point Rotation

i.e., rotation of angle about a point (xc, yc)

T(xc, yc).R(xc, yc, ).T(-xc, -yc) = ?

General 2D Fixed-Point Scaling

i.e., scaling of parameters (sx, sy) about a point (xc, yc)

T(xc, yc).S(xc, yc, sx, sy).T(-xc, -yc) = ?

Page 35: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

35Transformation about a Pivot Point

General 2D Scaling & Rotation about a point (xc, yc)

T((xc, yc).R(xc, yc, ).S(xc, yc, sx, sy).T((-xc, -yc) = ?

General 2D Scaling & Rotation about a point (xc, yc)

T((xc, yc).R(xc, yc, ).S(xc, yc, sx, sy).T((-xc, -yc) = ?

Page 36: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

36Transformation about a Pivot Point

FW

translate p to origin

),( cc yxp

rotate about p by

rotate aboutorigin

translate p back

T(xc, yc).R(xc, yc, ).T(-xc, -yc)

Page 37: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

37Computational Efficiency

However, after matrix concatenation and simplification, we have

or x’ = a x + b y + c; y’ = d x + e y + f

having just 4 multiplications & 4 additions ,

which is the maximum number of computation required for any transformation sequence.

However, after matrix concatenation and simplification, we have

or x’ = a x + b y + c; y’ = d x + e y + f

having just 4 multiplications & 4 additions ,

which is the maximum number of computation required for any transformation sequence.

100

sincos1cossin

sincos1sincos

),,,().,,().,(

yxcycyx

xycxcyx

yxccccyx

tsxsyss

tsysxss

ssyxSyxRttT

11001

y

x

fed

cba

y

x

needs a lot of multiplications and additions.

Page 38: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

38Question 1

Calculate the transformation matrix for rotation about (0, 2) by 60°.

Hint: You can do it as a product of a translation, then a rotation about the origin, and then an inverse translation.

Cos[600] = 0.5, Sin[600] = Sqrt[3]/2

Sol.

Page 39: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

39Question 2

Show that the order in which transformations is important by first sketching the result when triangle A(1,0), B(1,1), C(0,1) is rotating by 45° about the origin and then translated by (1,0), and then sketch the result when it is first translated and then rotated.

Page 40: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

40Question 2 - Solution

Show that the order in which transformations is important by first sketching the result when triangle A(1,0), B(1,1), C(0,1) is rotating by 45° about the origin and then translated by (1,0), and then sketch the result when it is first translated and then rotated.Sol.

If you first rotate and then translate you get                                                If you first translate and then rotate you get                                      

Page 41: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

41Question 3

Calculate a chain of 3 x 3 matrices that, when post-multiplied by the vertices of the house, will translate and rotate the house from (3, 0) to (0, -2). The transformation must also scale the size of the house by half.

x

y

(3,0)

(0,-2)

Page 42: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

42Question 3 - SolutionCalculate a chain of 3 x 3 matrices that, when post-multiplied by the vertices of the house, will translate and rotate the house from (3, 0) to (0, -2). The transformation must also scale the size of the house by half.

100

010

301

100

0)90()90(

0)90()90(

100

02/10

002/1

100

210

001

CosSin

SinCos

M

Sol.

x

y

(3,0)

(0,-2)

Page 43: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

43Transformation about a Pivot Point

Exercise:Find a general 2D composite matrix M for transformation of an

object about its centroid by using the following parameters:

Translation: -xc, -yc

Rotation angle: Scaling: sx, sy

Inverse Translation: xc, yc

Reading: HB5

Exercise:Find a general 2D composite matrix M for transformation of an

object about its centroid by using the following parameters:

Translation: -xc, -yc

Rotation angle: Scaling: sx, sy

Inverse Translation: xc, yc

Reading: HB5

Page 44: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

44Other 2D Transformations

Reflection Shear

Page 45: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

45Reflection

100

010

001

xRf

Rfx is equivalent to performing a non-uniform scaling by S = (1,-1)

Page 46: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

46Reflection

Page 47: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

47Reflection

100

001

010

yxRf

Page 48: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

48Shear

Page 49: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

49Shear

Page 50: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

50Shear

Page 51: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

51Shear

Page 52: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

52Shear

Does shear preserve parallel lines?

YesA shear transformation is an affine

transformation. All affine transformations preserve lines and

parallelism

Page 53: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

53Question 4A shear transformation maps the unit square A(0,0), B(1,0), C(1,1), D(0,1) to A’(0,0), B’(1,0), C’(1+h,1), D’(h,1).

                                                  

Find the transformation matrix for this transformation.

100

0

0

dc

ba

THint: Let                  

and solve for a, b, c, d.

100

010

01 h

TSol.

Page 54: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

54Question 5

Prove that we can transform a line by transforming its endpoints and then constructing a new line between the transformed endpoints.

Can you do the same thing for circles by transforming the centre and a point on the circle?

Page 55: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

55Question 5 - SolutionProve that we can transform a line by transforming its endpoints and then constructing a new line between the transformed endpoints. Can you do the same thing for circles by transforming the centre and a point on the circle?

Sol. The parametric equation of a line segment joining a and b is                             This is true whether or not we use homogenous coordinates.If T is a transform, the transform of the line is                           (Matrix multiplication obeys distributive law)

Which is the line segment connecting the transformed endpoints.

A scaling by (2,1) (i.e. double x values and leave y unchanged) turns circles into ellipses so it is not true for circles.

Page 56: 1 Geometric Transformation-2D # Slides for Data Visualization course only * Slides for Geometric Modeling course only @ Slides for Computer Graphics course.

56References1. Donald Hearn, M. Pauline Baker, Computer Graphics with OpenGL, Third

Edition, Prentice Hall, 2004.

2. Hill, F. S., Kelly S. M., Computer Graphics Using OpenGL, Third Edition, Pearson Education, 2007, http://www.4twk.com/shill/

3. http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/notes.html

4. http://www.cs.virginia.edu/~gfx/Courses/2004/Intro.Spring.04/

5. http://kucg.korea.ac.kr/~sjkim/teach/2001/com336/TP/ (Good)

6. http://courses.csusm.edu/cs697exz/ (Advanced)

7. http://en.wikipedia.org/wiki/Animation

8. http://faculty.cs.tamu.edu/schaefer/teaching/441_Spring2012/index.html

9. http://www.ugrad.cs.ubc.ca/~cs314/Vjan2007/ (Excellent)

1. Donald Hearn, M. Pauline Baker, Computer Graphics with OpenGL, Third Edition, Prentice Hall, 2004.

2. Hill, F. S., Kelly S. M., Computer Graphics Using OpenGL, Third Edition, Pearson Education, 2007, http://www.4twk.com/shill/

3. http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/notes.html

4. http://www.cs.virginia.edu/~gfx/Courses/2004/Intro.Spring.04/

5. http://kucg.korea.ac.kr/~sjkim/teach/2001/com336/TP/ (Good)

6. http://courses.csusm.edu/cs697exz/ (Advanced)

7. http://en.wikipedia.org/wiki/Animation

8. http://faculty.cs.tamu.edu/schaefer/teaching/441_Spring2012/index.html

9. http://www.ugrad.cs.ubc.ca/~cs314/Vjan2007/ (Excellent)