Download presentation
Presentation is loading. Please wait.
1
Three-Dimensional Graphics
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 T x y z
2
Right hand coordinate system
X x Y = Z ; Y x Z = X; Z x X = Y; Y y z x +z x Left hand coordinate system Not used in this class and Not in OpenGL Right hand coordinate system
3
3D transformation Very similar to 2D transformation Translation
x’ = x + tx; y’ = y + ty; z’ = z + tz X’ tx X Y’ ty Y Z’ tz Z = homogeneous coordinates
4
3D transformation Scaling X’ = X * Sx; Y’ = Y * Sy; Z’ = Z * Sz
X’ Sx X Y’ Sy Y Z’ Sz Z =
5
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) x y z +
6
3D transformation Rotation about Z – similar to 2D rotation
x’ = x cos(q) – y sin(q) y’ = x sin(q) + y cos(q) z’ = z y x + cos(q) -sin(q) sin(q) cos(q) z OpenGL - glRotatef(q, 0,0,1)
7
3D transformation Rotation about y z’ = z cos(q) – x sin(q)
+ Rotation about y z’ = z cos(q) – x sin(q) x’ = z sin(q) + x cos(q) y’ = y cos(q) sin(q) 0 -sin(q) 0 cos(q) 0 z x y + OpenGL - glRotatef(q, 0,1,0)
8
3D transformation Rotation about x y’ = y cos(q) – z sin(q)
+ Rotation about x y’ = y cos(q) – z sin(q) z’ = y sin(q) + z cos(q) x’ = x cos(q) -sin(q) 0 sin(q) cos(q) 0 y z x + OpenGL - glRotatef(q, 1,0,0)
9
3D transformation Arbitrary rotation axis (rx,ry,rz)
Text p. 212 explains how to do it We omit the detail here Use OpenGL: glRotatef(angle, rx, ry, rz) x z y (rx, ry, rz)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.