graphics programming graphics programming: transformations

22
Graphics Programming Graphics Programming: Transformations

Post on 22-Dec-2015

291 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Graphics Programming Graphics Programming: Transformations

Graphics Programming

Graphics Programming:Transformations

Page 2: Graphics Programming Graphics Programming: Transformations

Transformation (Isometry) Translations Rotations Scaling Mirror

Page 3: Graphics Programming Graphics Programming: Transformations

Transformations

One example of a transformation is the window to viewport transformation.

Here we have seen an image in the world window scaled and translated (moved) into a viewport window.

We can build on this transformation to allow us to move objects to more complex locations.

Page 4: Graphics Programming Graphics Programming: Transformations

Transformations A Transformation consists of:

a Rotation a Scaling and a Translation a Shearing

They occur in 2D

and 3D

Page 5: Graphics Programming Graphics Programming: Transformations

Transformations

Transformations allow for: scene composition

Page 6: Graphics Programming Graphics Programming: Transformations

Transformations Transformations allow for:

easily create symmetrical objects

Page 7: Graphics Programming Graphics Programming: Transformations

Transformations

Transformations allow for:

viewing objects at different angles

computer animation where several objects need to move relative to one another

Page 8: Graphics Programming Graphics Programming: Transformations

Translation

Page 9: Graphics Programming Graphics Programming: Transformations

Scaling

Page 10: Graphics Programming Graphics Programming: Transformations

Rotation

Page 11: Graphics Programming Graphics Programming: Transformations

Reflection (flip)

Page 12: Graphics Programming Graphics Programming: Transformations

Combining Transforms

Page 13: Graphics Programming Graphics Programming: Transformations

Combining Transforms

Page 14: Graphics Programming Graphics Programming: Transformations

Combining Transforms

Page 15: Graphics Programming Graphics Programming: Transformations

Transforming Points

A transformation simply takes a point and maps it to another location.

Page 16: Graphics Programming Graphics Programming: Transformations

Transforming Points

In the 2D case this means…. Q = M(P)

where M is some mapping matrix

P

Q

Page 17: Graphics Programming Graphics Programming: Transformations

Matrices : Addition

Page 18: Graphics Programming Graphics Programming: Transformations

Matrices : Multiplication

2x - y + 2z = 1x + 2y - 4z = 33x - y + z = 0

Page 19: Graphics Programming Graphics Programming: Transformations

Matrices : Multiplication

Page 20: Graphics Programming Graphics Programming: Transformations

Matrices : Rotation

Page 21: Graphics Programming Graphics Programming: Transformations

Matrices :Identity Matrix

1 0 0

0 1 0

0 0 1

2 3 4

4 7 5

5 2 8

=

2 3 4

4 7 5

5 2 8

x

Page 22: Graphics Programming Graphics Programming: Transformations

Further Reading

See Rowe – Chapter 2 for a discussion on homogenous coordinates and further examples of matrix transformations.

Also see discussions and technical articles on:

www.gamedeveloper.com

www.gamedev.net

www.ddj.com Dr. Dobb’s Journal

- been around since 1976