today: matrix reloaded 1 (aka transformations) · 2019. 6. 11. · graphics (infogr), 2018-19,...

52
Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome 1

Upload: others

Post on 04-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Graphics (INFOGR), 2018-19, Block IV, lecture 11

Deb Panja

Today: Matrix reloaded 1(aka Transformations)

Welcome

1

Page 2: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Recall: active vs. passive transformations

point transformation co-ordinate transformation

(aka active transformation) (aka passive transformation)

2

Page 3: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Today

• Point, or active transformations (using matrices)

− translation (redo)

− projection

− reflection

− scaling

− shearing

− rotation

− linear transformation properties

− combining transformations (and transformation back!)

• Co-ordinate, or passive transformations

• Will largely work in terms of symbols

3

Page 4: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Point, or active transformations

4

Page 5: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Translation

5

Page 6: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Translation as a matrix operation

• We translate a point P (x, y, z) by (ax, ay, az)

i.e., x′ = x+ ax, y′ = y + ay, z

′ = z + azx′

y′

z′

1

︸ ︷︷ ︸

~wt

=

1 0 0 ax0 1 0 ay0 0 1 az0 0 0 1

︸ ︷︷ ︸

Mt(~a)

xyz1

︸ ︷︷ ︸extendedvector

; ~a =

axayaz

• From now on, will use the extended vector to reach P from the originby adding a fictitious dimension, meaning:

x =

1000

, y =

0100

, z =

0010

, f =

0001

6

Page 7: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

How to think about an extended vector in 2D

• Note: A “real” vector ~v, by construction, satisfies ~v · f = 0

e.g., the (2+1)D representation of a real vector in 2D is

vxvy0

7

Page 8: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projection

8

Page 9: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: matrix operation?

9

Page 10: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: a matrix operation

x01

=

1 0 00 0 00 0 1

xy1

10

Page 11: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: a matrix operation

x01

=

1 0 00 0 00 0 1

︸ ︷︷ ︸

Mp

xy1

11

Page 12: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: a matrix operation

x01

=

1 0 00 0 00 0 1

︸ ︷︷ ︸

Mp

xy1

︸ ︷︷ ︸

~v

=

~v · x01

12

Page 13: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: a matrix operation

x01

︸ ︷︷ ︸

~wp

=

1 0 00 0 00 0 1

︸ ︷︷ ︸

Mp

xy1

︸ ︷︷ ︸

~v

=

~v · x01

Note: ~wp = ~v − (~v · y)y

13

Page 14: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting a 2D object on the x-axis: a matrix operation

x01

︸ ︷︷ ︸

~wp

=

1 0 00 0 00 0 1

︸ ︷︷ ︸

Mp

xy1

︸ ︷︷ ︸

~v

=

~v · x01

Note: ~wp = ~v − (~v · y) y; i.e., ~wp =

~wp · x~wp · y~wp · f

=

~v · x01

14

Page 15: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting an object: a matrix operation

~wp = ~v−(~v · n) n; for d = 3, ~wp =

~wp · x~wp · y~wp · z~wp · f

=

~v · x− (~v · n)(n · x)~v · y − (~v · n)(n · y)~v · z − (~v · n)(n · z)

~v · f

(remember: n · f = 0; i.e., n = nxx+ nyy + nzz); nx = n · x etc.

Q. What is Mp?

15

Page 16: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Projecting an object: a matrix operation

~wp = ~v−(~v · n) n; for d = 3, ~wp =

~wp · x~wp · y~wp · z~wp · f

=

~v · x− (~v · n)(n · x)~v · y − (~v · n)(n · y)~v · z − (~v · n)(n · z)

~v · f

A. Mp =

1− n2

x −nxny −nxnz 0−nxny 1− n2

y −nynz 0−nxnz −nynz 1− n2

z 00 0 0 1

16

Page 17: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Reflection

17

Page 18: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Reflecting an object: a matrix operation

Q. ~wr?

18

Page 19: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Reflecting an object: a matrix operation

A. ~wr = ~v − 2(~v · n)n; for d = 3, ~wr =

~v · x− 2(~v · n)(n · x)~v · y − 2(~v · n)(n · y)~v · z − 2(~v · n)(n · z)

~v · f

~wr = Mr~v; Mr =

1− 2n2

x −2nxny −2nxnz 0−2nxny 1− 2n2

y −2nynz 0−2nxnz −2nynz 1− 2n2

z 00 0 0 1

19

Page 20: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Reflecting a vector: a matrix operation

Q. ~vr?

20

Page 21: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Reflecting a vector: a matrix operation

A. ~vr = ~v − 2(~v · n)n; e.g. d = 3, ~vr =

~v · x− 2(~v · n)(n · x)~v · y − 2(~v · n)(n · y)~v · z − 2(~v · n)(n · z)

0

= Mr~v

21

Page 22: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Scaling

22

Page 23: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Scaling: a matrix operation

• d = 2:

x′

y′

1

=

sx 0 00 sy 00 0 1

︸ ︷︷ ︸

Msc(~s)

xy1

; uniform scaling: sx = sy

~s =

[sxsy

]

23

Page 24: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Scaling: a matrix operation

• d = 2:

x′

y′

1

=

sx 0 00 sy 00 0 1

︸ ︷︷ ︸

Msc(~s)

xy1

; uniform scaling: sx = sy

• d = 3:

x′

y′

z′

1

=

sx 0 0 00 sy 0 00 0 sz 00 0 0 1

xyz1

; uniform scaling: sx=sy=sz

• . . .

24

Page 25: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Shearing

25

Page 26: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Shearing: a matrix operation

x′

y′

1

=

1 b 00 1 00 0 1

︸ ︷︷ ︸

Msh(b)

xy1

x′

y′

1

=

1 0 0b 1 00 0 1

xy1

26

Page 27: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rotation

27

Page 28: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rotation: a matrix operation [with Mro(θ)]

28

Page 29: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rotation: a matrix operation [with Mro(θ)]

29

Page 30: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Linear (point) transformations

30

Page 31: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Linear (point) transformations

• Point (x1, x2, . . . , xd) represented as a vector ~v drawn from the origin

• Linear point transformations satisfy the two following criteria:

(a) T (~v1 + ~v2) = T (~v1) + T (~v2)

(b) T (α~v) = αT (~v)

• Examples: translation, projection, reflection, . . .

31

Page 32: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Linear (point) transformations

• Point (x1, x2, . . . , xd) represented as a vector ~v drawn from the origin

• Linear point transformations satisfy the two following criteria:

(a) T (~v1 + ~v2) = T (~v1) + T (~v2)

(b) T (α~v) = αT (~v)

• Examples: translation, projection, reflection, . . .

• Now you can see why this constitutes linear algebra:

− points/lines/(hyper)planes → points/lines/(hyper)planes

(also known as affine transformation)

32

Page 33: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Combining transformations

33

Page 34: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale and then rotate

34

Page 35: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale︸ ︷︷ ︸transformationmatrixMsc

and then rotate︸ ︷︷ ︸transformationmatrixMro

(x, y, z)→ (x′′, y′′, z′′)

Q. How do we express this as a matrix operation?

35

Page 36: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale︸ ︷︷ ︸transformationmatrixMsc

and then rotate︸ ︷︷ ︸transformationmatrixMro

(x, y, z)→ (x′′, y′′, z′′)

Q. How do we express this as a matrix operation?

Hint: (x, y, z)→ (x′, y′, z′)→ (x′′, y′′, z′′)

36

Page 37: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale︸ ︷︷ ︸transformationmatrixMsc

and then rotate︸ ︷︷ ︸transformationmatrixMro

(x, y, z)→ (x′′, y′′, z′′)

Q. How do we express this as a matrix operation?

A. (x, y, z) →︸︷︷︸Msc

(x′, y′, z′) →︸︷︷︸Mro

(x′′, y′′, z′′)

37

Page 38: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale︸ ︷︷ ︸transformationmatrixMsc

and then rotate︸ ︷︷ ︸transformationmatrixMro

(x, y, z)→ (x′′, y′′, z′′)

Q. How do we express this as a matrix operation?

A. (x, y, z) →︸︷︷︸Msc

(x′, y′, z′) →︸︷︷︸Mro

(x′′, y′′, z′′)

Q′. (x, y, z) →︸︷︷︸M

(x′′, y′′, z′′). Is M = MscMro or M = MroMsc?

38

Page 39: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Rule for combining transformations

• Two transformations: e.g., first scale︸ ︷︷ ︸transformationmatrixMsc

and then rotate︸ ︷︷ ︸transformationmatrixMro

(x, y, z)→ (x′′, y′′, z′′)

Q. How do we express this as a matrix operation?

A. (x, y, z) →︸︷︷︸Msc

(x′, y′, z′) →︸︷︷︸Mro

(x′′, y′′, z′′)

Q′. (x, y, z) →︸︷︷︸M

(x′′, y′′, z′′). Is M = MscMro or M = MroMsc?

A′. M = MroMsc (order important!)

Remember: for matrices AB is not necessarily = BA!

(e.g., y-rotation after x-rotation 6≡ x-rotation after y-rotation)

39

Page 40: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back

40

Page 41: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

41

Page 42: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

A. M ′ = M−1

42

Page 43: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

A. M ′ = M−1

• Sometimes the inverse may not exist (e.g., for projection)

in that case, M is?

43

Page 44: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

A. M ′ = M−1

• Sometimes the inverse may not exist (e.g., for projection)

in that case, M is a singular matrix

44

Page 45: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back, and rotation matrices

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

A. M ′ = M−1

• Sometimes the inverse may not exist (e.g., for projection)

in that case, M is a singular matrix

• Inverse calculation is expensive (cofactors, determinants...)

it is however cheap for rotation matrices, since MroMTro = MT

roMro,

i.e., simply M−1ro = MTro

45

Page 46: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Transforming back, and rotation matrices

• So far, (x, y, z) →︸︷︷︸M

(x′, y′, z′)

now we want (x′, y′, z′) →︸︷︷︸M ′

(x, y, z)

Q. Given M , how do we calculate M ′?

A. M ′ = M−1

• Sometimes the inverse may not exist (e.g., for projection)

in that case, M is a singular matrix

• Inverse calculation is expensive (cofactors, determinants...)

it is however cheap for rotation matrices, since MroMTro = MT

roMro,

i.e., simply M−1ro = MTro; note: M−1ro (θ) = MT

ro(θ) = Mro(−θ)

46

Page 47: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Co-ordinate, or passive transformations

47

Page 48: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Active vs. passive transformations (with rotation)

point transformation co-ordinate transformation

(aka active transformation) (aka passive transformation)

• Co-ordinate 2 is anti-clockwise rotated (θ) wrt co-ordinate 1

means (x1, y1, z1) →︸︷︷︸Mro(−θ)

(x2, y2, z2) describes the same physical point

48

Page 49: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Active vs. passive transformations: translation

• Co-ordinate 2 is translated (~a) wrt co-ordinate 1

means (x1, y1, z1) →︸︷︷︸Mt(−~a)

(x2, y2, z2) describes the same physical point

49

Page 50: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Active vs. passive transformations: translation and scaling

• Co-ordinate 2 is translated (~a) wrt co-ordinate 1

means (x1, y1, z1) →︸︷︷︸Mt(−~a)

(x2, y2, z2) describes the same physical point

• Co-ordinate 2 is scaled (~s) wrt co-ordinate 1

means (x1, y1, z1) →︸︷︷︸Msc(

−→1/s)

(x2, y2, z2) describes the same physical point

50

Page 51: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Summary

• Point, or active transformations

− translation

− projection

− reflection

− scaling

− shearing

− rotation

− linear transformation properties

− combining transformations (and transformation back!)

• Co-ordinate, or passive transformations

• Next class: viewing transformations

51

Page 52: Today: Matrix reloaded 1 (aka Transformations) · 2019. 6. 11. · Graphics (INFOGR), 2018-19, Block IV, lecture 11 Deb Panja Today: Matrix reloaded 1 (aka Transformations) Welcome

Finally, references...

• Book chapter 6: Transformation matrices (can leave out Sec. 6.5)

52