370 likes | 735 Views
Computer Graphics. Chapter 8 3D Transformations. Transformation in 3D space. Y. Transformed Object. (x’,y’,z’). X. Z. (x,y,z). Initial Object. 3D Homogeneous Coordinates. Cartesian Homogeneous. Translation. Y. X. Z. Offset Vector = (t x , t y , t z ). Scaling About the Origin. Y.
E N D
Computer Graphics Chapter 8 3D Transformations
Transformation in 3D space Y Transformed Object (x’,y’,z’) X Z (x,y,z) Initial Object
3D Homogeneous Coordinates CartesianHomogeneous
Translation Y X Z Offset Vector = (tx, ty, tz)
Scaling About the Origin Y X Z Scale Factors = (sx, sy, sz)
Rotation About Z-axis y y (x’,y’,z’) (x,y,z) q x x z
Rotation About X-axis z y (x’,y’,z’) (x,y,z) q x y z
Rotation About Y-axis x (x’,y’,z’) y (x,y,z) q x z z
Reflections Reflection about xy plane: Reflection about yz plane: Reflection about zx plane:
3D Affine Transformations A general invertible, linear, transformation
Affine Transforms - Properties • Product of affine transformations is affine. • Affine transformations preserve linearity of segments. • Affine transformations preserve parallelism between lines. • Affine transformations are invertible.
Projection Geometry Plane of Projection Object Point P Projector P’ Center of Projection P’ (2D) P (3D)
Parallel and Perspective • Parallel Projections: • The center of projection is at infinity. • The projectors are parallel to each other. • Perspective Projections: • The center of projection is a finite point. • The projectors intersect at the center of projection.
Orthographic Projection The lines of projection are parallel, and at the same time orthogonal to the plane of projection.
Orthographic Projection The lines of projection are parallel, and at the same time orthogonal to the plane of projection.
Orthographic Projection Projection along z axis: Transformation: x’ = x y’ = y z-coordinate information is lost! Orthographic Projection Matrix:
Oblique Projection The lines of projection are parallel, but not orthogonal to the plane of projection.
Oblique Projection Transformation: x’ = x+k1z y’ = y+k2z The z-coordinate value of the object point, leads to a shift of x, y coordinates of the projected point, proportional to z. Oblique Projection Matrix:
Perspective Projection The projectors intersect at a Center of Projection C.
Perspective Projection • For convenience of deriving projection equations, we assume that the center of projection is at the origin. • The object and the plane of projection are now on the negative z side. • The distance D then refers to the z-coordinate of the object point (towards –z). • The plane of projection has the equation z = N.
Perspective Projection Perspective Projection Matrix:
Perspective Projection The z-coordinate value of the object point leads to proportional scaling along x, y directions. Projections of objects located closer to the center of projection O, appear to be larger in size compared to objects that are farther away from O.
Perspective Transformation a, b are arbitrary constants. The last term z’ is referred to as the pseudo-depth. Perspective Transformation Matrix:
Projections: Properties • Projections map points from one space to another coordinate space of lower dimension, and hence involves loss of information. • Projections are not invertible. All projection matrices are singular. • All points on a projector map to the same point on the plane of projection.
View Volumes • A view volume refers to a region of interest in three-dimensional space which will be used to generate the display on the viewport. • All points outside the view volume will not be displayed. • The shape of the view volume depends on the projection used, and the limits specified by the user.
View Volume - Orthographic Projn glOrtho(left, right, bottom, top, near, far);
View Volume - Orthographic Projn glOrtho(left, right, bottom, top, near, far);
View Volume - Perspective Projn glFrustum(left, right, bottom, top, near, far);
View Volume - Perspective Projn gluPerspective(fovy, aspect, near, far);
Canonical View Volumes • The 3D object model is not actually clipped inside the projection view volume. • The view volume is instead mapped to a canonical view volume (CVV) which is a cube that extends from 1 to +1 in each dimension, having center at the origin. • The dimensions of the CVV facilitates a fast and efficient clipping.
Mapping to CVV Orthographic: Perspective: