Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCE441: Computer Graphics 2D/3D Transformations

Similar presentations


Presentation on theme: "CSCE441: Computer Graphics 2D/3D Transformations"— Presentation transcript:

1 CSCE441: Computer Graphics 2D/3D Transformations
Jinxiang Chai

2 Outline 2D Coordinate transformation Composite transformation
3D transformation Required readings: HB 5-9 to 5-17

3 Coordinate Transform: 3D Geometry Pipeline
Rotate and translate the camera Object space World space View space Focal length Aspect ratio & resolution Normalized project space Image space 2

4 Coordinate Transformation: 3D Modeling/Design
Coordinate transformation from one reference frame to another

5 Coordinate Transformation: Animation/Robotics
How to model 2D movement of animated characters or robots? Click here

6 Coordinate Transformation
Coordinate transformation from one reference frame to another

7 Coordinate Transformation
Coordinate transformation from one reference frame to another

8 Coordinate Transformation
Coordinate transformation from one reference frame to another 7

9 Coordinate Transformation
Coordinate transformation from one reference frame to another ? 8

10 Review – Vector Operations
Dot Product

11 Review – Vector Operations
Dot Product: measuring similarity between two vectors

12 Review – Vector Operations
Dot Product: measuring similarity between two vectors

13 Review – Vector Operations
Dot Product: measuring similarity between two vectors Unit vector:

14 Review – Vector Operations
Dot Product: measuring similarity between two vectors

15 Review – Vector Operations
Dot Product: measuring similarity between two vectors

16 Review – Vector Operations
Cross Product: measuring the area determined by two vectors 15

17 Review – Vector Operations
Cross Product: measuring the area determined by two vectors 16

18 2D Coordinates 2D Cartesian coordinate system: P: (x,y)

19 2D Coordinate Transformation
2D Cartesian coordinate system: P: (x,y)

20 2D Coordinate Transformation
2D Cartesian coordinate system: P: (x,y) 19

21 2D Coordinate Transformation
Transform object description from to p

22 2D Coordinate Transformation
Transform object description from to p Given the coordinates (x’,y’) in i’j’ how to compute the coordinates (x,y) in ij? 21

23 2D Coordinate Transformation
Transform object description from to p Given the coordinates (x’,y’) in i’j’ how to compute the coordinates (x,y) in ij? 22

24 2D Coordinate Transformation
Transform object description from to p Given the coordinates (x’,y’) in i’j’ how to compute the coordinates (x,y) in ij? 23

25 2D Coordinate Transformation
Transform object description from to p

26 2D Coordinate Transformation
Transform object description from to p

27 2D Coordinate Transformation
Transform object description from to p

28 2D Coordinate Transformation
Transform object description from to p

29 2D Coordinate Transformation
Transform object description from to p

30 2D Coordinate Transformation
Transform object description from to p

31 2D Coordinate Transformation
Transform object description from to p

32 2D Coordinate Transformation
Transform object description from to p

33 2D Coordinate Transformation
Transform object description from to p

34 2D Coordinate Transformation
Transform object description from to p

35 2D Coordinate Transformation
Transform object description from to p

36 2D Coordinate Transformation
Transform object description from to p

37 2D Coordinate Transformation
p What does this column vector mean?

38 2D Coordinate Transformation
Transform object description from to p What does this column vector mean? Vector i’ in the new reference system

39 2D Coordinate Transformation
Transform object description from to p What does this column vector mean?

40 2D Coordinate Transformation
Transform object description from to p What does this column vector mean? Vector j’ in the new reference system

41 2D Coordinate Transformation
Transform object description from to p What does this column vector mean?

42 2D Coordinate Transformation
Transform object description from to p What does this column vector mean? The old origin in the new reference system

43 2D Coordinate Transformation
2D translation p

44 2D Coordinate Transformation
2D translation ? ? p ? ?

45 2D Coordinate Transformation
2D translation 1 p 1

46 2D Coordinate Transformation
2D translation&rotation ? p

47 2D Coordinate Transformation
2D translation&rotation p ?

48 2D Coordinate Transformation
2D translation&rotation p

49 2D Coordinate Transformation
2D translation&rotation ? p

50 2D Coordinate Transformation
2D translation&rotation p

51 2D Coordinate Transformation
2D translation&rotation p ?

52 2D Coordinate Transformation
2D translation&rotation p

53 2D Coordinate Transformation
An alternative way to look at the problem p

54 2D Coordinate Transformation
An alternative way to look at the problem p

55 2D Coordinate Transformation
An alternative way to look at the problem p

56 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

57 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

58 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

59 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

60 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

61 2D Coordinate Transformation
An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p

62 2D Coordinate Transformation
Same results! p

63 2D Coordinate Transformation
2D translation&rotation p

64 2D Coordinate Transformation
2D translation&rotation p

65 2D Coordinate Transformation
2D translation&rotation p

66 2D Coordinate Transformation
2D translation&rotation p 65

67 2D Coordinate Transformation
2D translation&rotation p

68 2D Coordinate Transformation
2D translation&rotation p

69 Composite 2D Transformation
How to model 2D movement of characters or robots? Click here

70 Composite 2D Transformation
A 2D lamp character

71 Composite 2D Transformation
A 2D lamp character

72 Composite 2D Transformation
How can we draw the character given the pose ?

73 Articulated Character
A default pose (0,0,0,0,0,0)

74 Composite 2D Transformation
What’s the pose?

75 Composite 2D Transformation
What’s the pose?

76 Composite 2D Transformation
A 2D lamp character ? Given , , how to compute the global position of a point A?

77 Composite 2D Transformation
What’s local coordinate ? ?

78 Composite 2D Transformation
What’s local coordinate ? ?

79 Composite 2D Transformation
What’s the current coordinate A ? ?

80 Composite 2D Transformation
What’s the current coordinate A ? ?

81 Composite 2D Transformation
What’s the current coordinate A ? ?

82 Composite 2D Transformation
What’s the current coordinate A ? ?

83 Composite 2D Transformation
What’s the current coordinate A ? 82

84 How to Animate the Character?
A 2D lamp character

85 How to Animate the Character?
Keyframe animation - Manually pose the character by choosing appropriate values for - Linearly interpolate the inbetween poses. - Works for any types of articulated characters!

86 3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
We will still use column vectors to represent points Homogeneous coordinates of a 3D point (x,y,z,1) Transformation will be performed using 4x4 matrix

87 Right-handed Coordinate System
Left hand coordinate system Not used in this class and Not in OpenGL

88 Homogenous coordinates
3D Transformation Very similar to 2D transformation Translation transformation Homogenous coordinates

89 Homogenous coordinates
3D Transformation Very similar to 2D transformation Scaling transformation Homogenous coordinates

90 3D Transformation 3D rotation is done around a rotation axis
Fundamental rotations – rotate about x, y, or z axes Counter-clockwise rotation is referred to as positive rotation (when you look down negative axis) y + x z

91 3D Transformation Rotation about z – similar to 2D rotation y + x z

92 3D Transformation Rotation about y: z -> y, y -> x, x->z z y

93 3D Transformation Rotation about x (z -> x, y -> z, x->y) x z
Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters, y x z

94 3D Rotation about Arbitrary Axes
Rotate p about the by the angle Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

95 3-D Rotation General rotations in 3-D require rotating about an arbitrary axis of rotation Deriving the rotation matrix for such a rotation directly is a good exercise in linear algebra

96 3D Rotation about Arbitrary Axes
Rotate p about the by the angle

97 3-D Rotation General rotations in 3-D require rotating about an arbitrary axis of rotation Deriving the rotation matrix for such a rotation directly is a good exercise in linear algebra Standard approach: express general rotation as composition of canonical rotations Rotations about x, y, z

98 Composing Canonical Rotations
Goal: rotate about arbitrary vector r by θ Idea: we know how to rotate about x,y,z So, rotate about z by - until r lies in the xz plane Then rotate about y by -β until r coincides with +z Then rotate about z by θ Then reverse the rotation about y (by β ) Then reverse the rotation about z (by )

99 3D Rotation about Arbitrary Axes
Rotate p about the by the angle Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

100 3D Rotation about Arbitrary Axes
Translate so that rotation axis passes through the origin Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

101 3D Rotation about Arbitrary Axes
Rotation by about z-axis Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

102 3D Rotation about Arbitrary Axes
Rotation by about y-axis Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

103 3D Rotation about Arbitrary Axes
Rotation by about z-axis Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

104 3D Rotation about Arbitrary Axes
Rotation by about y-axis Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

105 3D Rotation about Arbitrary Axes
Rotation by about z-axis Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters,

106 3D Rotation about Arbitrary Axes
Translate the object back to original point

107 3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis

108 3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis 107

109 3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis

110 3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis A 3 by 3 Rotation matrix

111 Rotation Matrices Orthonormal matrix:
orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1)

112 Rotation Matrices Orthonormal matrix:
orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose:

113 Rotation Matrices Orthonormal matrix:
orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose:

114 Rotation Matrices Orthonormal matrix:
orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose:

115 Rotation Matrices Why?

116 Rotation Matrices Why?

117 Rotation Matrices Why?

118 Rotation Matrices Why?

119 Rotation Matrices Orthonormal matrix:
orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose: e.g.,

120 3D Coordinate Transformation
Transform object description from to p

121 2D Coordinate Transformation
Transform object description from to p

122 3D Coordinate Transformation
Transform object description from to p

123 3D Coordinate Transformation
Transform object description from to p

124 3D Coordinate Transformation
Transform object description from to p

125 3D Coordinate Transformation
Transform object description from to p

126 Composite 3D Transformation
Similarly, we can easily extend composite transformation from 2D to 3D

127 Composite 3D Transformation


Download ppt "CSCE441: Computer Graphics 2D/3D Transformations"

Similar presentations


Ads by Google