Download presentation
Presentation is loading. Please wait.
Published byAdelia Bates Modified over 9 years ago
1
CAP4730: Computational Structures in Computer Graphics
2D Transformations
2
2D Transformations World Coordinates Translate Rotate Scale
Viewport Transforms Putting it all together
3
Transformations Rigid Body Transformations - transformations that do not change the object. Translate If you translate a rectangle, it is still a rectangle Scale If you scale a rectangle, it is still a rectangle Rotate If you rotate a rectangle, it is still a rectangle
4
Vertices We have always represented vertices as (x,y)
An alternate method is: Example:
5
Matrix * Vector
6
Matrix * Matrix Does A*B = B*A? What does the identity do?
7
Practice
8
Translation Translation - repositioning an object along a straight-line path (the translation distances) from one coordinate location to another. (x’,y’) (tx,ty) (x,y)
9
Translation Given: We want: Matrix form:
10
Translation Examples P=(2,4), T=(-1,14), P’=(?,?)
11
Which one is it? (x’,y’) (tx,ty) (tx,ty) (x,y) (x,y)
12
Recall A point is a position specified with coordinate values in some reference frame. We usually label a point in this reference point as the origin. All points in the reference frame are given with respect to the origin.
13
Applying to Triangles (tx,ty)
14
What do we have here? You know how to:
15
Scale Scale - Alters the size of an object. Scales about a fixed point
(x’,y’) (x,y)
16
Scale Given: We want: Matrix form:
17
Non-Uniform/Differential Scalin’
(x’,y’) (x,y) S=(1,2)
18
Rotation Rotation - repositions an object along a circular path.
Rotation requires an and a pivot point
19
Rotation
20
Example P=(4,4) =45 degrees
21
What is the difference? Revisited
V(-0.6,0) V(0,-0.6) V(0.6,0.6) Translate (1.2,0.3) V(0,0.6) V(0.3,0.9) V(0,1.2) Translate (1.2,0.3) V(0.6,0.3) V(1.2,-0.3) V(1.8,0.9) V(0,0.6) V(0.3,0.9) V(0,1.2)
22
Rotations V(-0.6,0) V(0,-0.6) V(0.6,0.6) Rotate -30 degrees
23
Combining Transformations
Q: How do we specify each transformation?
24
Specifying 2D Transformations
Translation T(tx, ty) Translation distances Scale S(sx,sy) Scale factors Rotation R() Rotation angle
25
Combining Transformations
Using translate, rotation, and scale, how do we get:
26
Combining Transformations
Note there are two ways to combine rotation and translation. Why?
27
Let’s look at the equations
28
Combining them We must do each step in turn. First we rotate the points, then we translate, etc. Since we can represent the transformations by matrices, why don’t we just combine them?
29
2x2 -> 3x3 Matrices We can combine transformations by expanding from 2x2 to 3x3 matrices.
30
Homogenous Coordinates
We need to do something to the vertices By increasing the dimensionality of the problem we can transform the addition component of Translation into multiplication.
31
Homogenous Coordinates
Homogenous Coordinates - term used in mathematics to refer to the effect of this representation on Cartesian equations. Converting a pt(x,y) and f(x,y)=0 -> (xh,yh,h) then in homogenous equations mean (v*xh,v*yh,v*h) can be factored out. What you should get: By expressing the transformations with homogenous equations and coordinates, all transformations can be expressed as matrix multiplications.
32
Final Transformations - Compare Equations
33
Combining Transformations
34
How would we get:
35
How would we get:
36
Coordinate Systems Object Coordinates World Coordinates
Eye Coordinates
37
Object Coordinates
38
World Coordinates
39
Screen Coordinates
40
Coordinate Hierarchy
41
Let’s reexamine assignment 2b
42
Transformation Hierarchies
For example:
43
Transformation Hierarchies
Let’s examine:
44
Transformation Hierarchies
What is a better way?
45
Transformation Hierarchies
What is a better way?
46
Transformation Hierarchies
We can have transformations be in relation to each other
47
More Complex Models
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.