ics201 lecture 12 : gentle introduction to computer graphics ii king fahd university of petroleum...

11
ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department Based on: David Brogan’s “Introduction to Computer Graphics” Course Slides, University of Virginia Jack van Wijk’s “Computer Graphics” Course Slides, University of Eindhoven.

Upload: milton-moody

Post on 30-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

ICS201

Lecture 12 : Gentle Introduction to Computer Graphics II

King Fahd University of Petroleum & MineralsCollege of Computer Science & Engineering

Information & Computer Science Department

Based on:David Brogan’s “Introduction to Computer Graphics” Course Slides, University of Virginia

Jack van Wijk’s “Computer Graphics” Course Slides, University of Eindhoven.

Page 2: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

Outline

Introduction to 2D Modeling Transformations Matrix Representations Linear Transformations

Page 3: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

Introduction to Modeling Transformations

Specify transformations for objects Allows definitions of objects in own coordinate

systems Allows use of object definition multiple times in a

scene

Page 4: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

2D Modeling Transformations

ScaleRotate

Translate

ScaleTranslate

x

y

World Coordinates

ModelingCoordinates

Page 5: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

Scaling

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 6: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

Non-uniform scaling: different scalars per component:

How can we represent this in matrix form?

Scaling

X 2,Y 0.5

Page 7: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

Scaling

Scaling operation:

Or, in matrix form:

by

ax

y

x

'

'

y

x

b

a

y

x

0

0

'

'

scaling matrix

Page 8: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

2-D Rotation

(x, y)

(x’, y’)

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

Page 9: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

2-D Rotation

This is easy to capture in matrix form:

Even though sin() and cos() are nonlinear functions of ,

x’ is a linear combination of x and y y’ is a linear combination of x and y

y

x

y

x

cossin

sincos

'

'

Page 10: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

2-D Translation

(x, y)

(x’, y’)

x’ = x + txy’ = y + ty

tx

ty

Page 11: ICS201 Lecture 12 : Gentle Introduction to Computer Graphics II King Fahd University of Petroleum & Minerals College of Computer Science & Engineering

The end