Computer Graphics

Chapter 3
Geometric Transformations and Viewing

Post Graduate Program in Computer Science Engineering
Computer Graphics   •   Post Graduate

3. Geometric Transformations and Viewing

Introduction and Context

A computer-generated image is not produced merely by storing geometric objects. A graphics system must describe where objects are located, how they are oriented and scaled, how they relate to one another, how a camera observes them, and how the observed scene is converted into pixels. Geometric transformations and viewing provide the mathematical framework for this entire process.

The same object may be represented in its own local coordinate system, positioned in a world, observed through a camera, projected onto an image plane, and finally mapped to a viewport. Each stage uses a different coordinate space and a different interpretation of position. Errors in any transformation can produce misplaced objects, incorrect lighting relationships, distorted proportions, or a completely invisible scene.

This chapter develops two- and three-dimensional transformations, homogeneous coordinates, transformation composition, hierarchical modeling, camera models, orthographic and perspective projection, viewport mapping, and coordinate-space conversion. The emphasis is not only on formulas but also on interpretation, implementation, numerical behavior, and professional practice.

Learning Objectives

After studying this chapter, the reader should be able to:

1. Derive and apply translation, rotation, scaling, reflection, and shearing transformations in 2D and 3D.

2. Explain homogeneous coordinates and use matrix composition correctly.

3. Distinguish points, vectors, normals, and direction vectors under transformations.

4. Construct transformation hierarchies for articulated and composite models.

5. Build camera coordinate systems and derive view transformations.

6. Compare orthographic, oblique, and perspective projections.

7. Derive viewport mappings and convert coordinates between common graphics spaces.

8. Identify numerical, implementation, and modeling errors in a graphics pipeline.

9. Select suitable transformations and projection models for practical applications.

1. Coordinate Spaces: The Language of a Graphics Pipeline

A coordinate system is meaningful only when its origin, axes, units, and orientation are known. Graphics applications commonly use several related spaces.

Object or local space describes a model relative to its own origin. A chair, for example, may be modeled around the point where its legs meet, independent of its location in a room. World space places all objects in a common scene. View or camera space expresses the world as seen from a particular camera. Clip space is the result of applying a projection transformation and is used for visibility clipping. Normalized device coordinates (NDC) are obtained after perspective division. Window or screen space expresses positions in pixels or viewport units.

A typical conceptual pipeline is

object space → world space → view space → clip space → NDC → viewport space.

The transformations between these spaces are convention-dependent. Some systems use column vectors and postmultiply points by matrices; others use row vectors and premultiply them. Both conventions are valid, but mixing them is a common source of errors. This chapter uses column vectors, so a point is represented as \(p' = Mp\), and the rightmost matrix is applied first.

A point and a vector must not be confused. A point identifies a location and should be translated. A vector represents displacement or direction and should not be affected by translation. Homogeneous coordinates encode this distinction by using \(w=1\) for points and \(w=0\) for vectors.

2. Two-Dimensional Transformations

A 2D point is written as \(p=(x,y)^T\). Translation by \((t_x,t_y)\) is

\[

x'=x+t_x,\qquad y'=y+t_y.

\]

Translation cannot be represented by an ordinary 2×2 linear matrix because it does not preserve the origin. Homogeneous coordinates solve this problem by representing a point as \(\tilde p=(x,y,1)^T\):

\[

T(t_x,t_y)=

\begin{bmatrix}

1&0&t_x\\

0&1&t_y\\

0&0&1

\end{bmatrix}.

\]

A 2D scaling transformation about the origin is

\[

S(s_x,s_y)=

\begin{bmatrix}

s_x&0&0\\

0&s_y&0\\

0&0&1

\end{bmatrix}.

\]

Uniform scaling has \(s_x=s_y\); nonuniform scaling changes proportions. A negative scale factor introduces a reflection in the corresponding axis.

Counter-clockwise rotation through angle \(\theta\) is represented by

\[

R(\theta)=

\begin{bmatrix}

\cos\theta&-\sin\theta&0\\

\sin\theta&\cos\theta&0\\

0&0&1

\end{bmatrix}.

\]

The transformation of a point is therefore

\[

x'=x\cos\theta-y\sin\theta,\qquad

y'=x\sin\theta+y\cos\theta.

\]

A shear changes one coordinate in proportion to the other. Horizontal and vertical shears are respectively

\[

H_x(k)=

\begin{bmatrix}1&k&0\\0&1&0\\0&0&1\end{bmatrix},

\qquad

H_y(k)=

\begin{bmatrix}1&0&0\\k&1&0\\0&0&1\end{bmatrix}.

\]

Reflection about the x-axis uses \(S(1,-1)\), while reflection about the y-axis uses \(S(-1,1)\). Reflection about the line \(y=x\) exchanges the two coordinates and is represented by a matrix whose first two rows are \((0,1)\) and \((1,0)\).

Transformations about an Arbitrary Point

Most modeling operations are not performed about the world origin. To scale or rotate around a fixed point \(c=(c_x,c_y)\), translate the center to the origin, apply the desired transformation, and translate it back:

\[

M=T(c_x,c_y)\,A\,T(-c_x,-c_y),

\]

where \(A\) is a scaling, rotation, or reflection matrix. The rightmost operation occurs first. This pattern is fundamental: transform the reference point to a convenient coordinate system, perform the operation, and restore the original coordinate system.

3. Three-Dimensional Transformations

A 3D point uses homogeneous coordinates \((x,y,z,1)^T\). Translation is

\[

T=\begin{bmatrix}

1&0&0&t_x\\0&1&0&t_y\\0&0&1&t_z\\0&0&0&1

\end{bmatrix},

\]

and scaling is

\[

S=\begin{bmatrix}

s_x&0&0&0\\0&s_y&0&0\\0&0&s_z&0\\0&0&0&1

\end{bmatrix}.

\]

Rotation about the coordinate axes is commonly written as

\[

R_x(\theta)=\begin{bmatrix}1&0&0&0\\0&c&-s&0\\0&s&c&0\\0&0&0&1\end{bmatrix},

\]

\[

R_y(\theta)=\begin{bmatrix}c&0&s&0\\0&1&0&0\\-s&0&c&0\\0&0&0&1\end{bmatrix},

\qquad

R_z(\theta)=\begin{bmatrix}c&-s&0&0\\s&c&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix},

\]

where \(c=\cos\theta\) and \(s=\sin\theta\). The exact signs depend on the handedness of the coordinate system and the convention for positive rotation, so implementations must document these choices.

A general rigid-body transformation combines rotation and translation:

\[

M=\begin{bmatrix}R&t\\0\ 0\ 0&1\end{bmatrix},

\]

where \(R\) is a 3×3 orthonormal rotation matrix and \(t\) is a translation vector. Rigid transformations preserve lengths, angles, and handedness. A general affine transformation may additionally include scaling and shearing; it preserves parallelism but not necessarily lengths or angles.

Rotations about an arbitrary axis can be constructed using an axis-angle representation. For a unit axis \(u=(u_x,u_y,u_z)\) and angle \(\theta\), Rodrigues’ formula is

\[

R=I\cos\theta+(1-\cos\theta)uu^T+[u]_\times\sin\theta,

\]

where \([u]_\times\) is the skew-symmetric cross-product matrix. In production systems, quaternions are often used for representing orientation because they avoid some Euler-angle problems and support stable interpolation.

4. Composition, Inversion, and Hierarchies

Transformations do not generally commute. Scaling followed by translation is different from translation followed by scaling. Under the column-vector convention, if an object is first scaled, then rotated, then translated, its composite matrix is

\[

M=T R S.

\]

The matrix closest to the point acts first. This simple rule should be tested with a concrete point whenever a transformation sequence is uncertain.

A transformation is invertible when its matrix is nonsingular. The inverse reverses the operation: \(T^{-1}\) translates in the opposite direction, \(R^{-1}=R^T\) for a pure rotation, and a nonzero scale is inverted by using reciprocal scale factors. For a rigid transform \(x'=Rx+t\),

\[

x=R^T(x'-t).

\]

Transformation hierarchies represent parent-child relationships. Consider a robot arm with shoulder, upper arm, forearm, and hand. If the shoulder has world matrix \(M_s\), and the upper arm has local matrix \(M_u\), then

\[

M_{upper}=M_sM_u.

\]

The forearm is positioned relative to the upper arm:

\[

M_{forearm}=M_{upper}M_f.

\]

Consequently, rotating the shoulder moves the entire arm, while rotating the forearm leaves the shoulder and upper arm unchanged. This is the basis of scene graphs, skeletal animation, articulated robotics, and CAD assemblies.

A useful implementation separates each node’s local transform from its computed world transform. During traversal, the system passes the accumulated parent matrix to the child. The hierarchy should also define pivot locations explicitly; an incorrect pivot often produces apparently incorrect rotations even when the matrix arithmetic is correct.

5. Normals and the Inverse-Transpose Rule

Surface normals are not ordinary points. A normal must remain perpendicular to a surface after transformation. Under rotation, it can be transformed by the same rotation matrix, but nonuniform scaling changes this relationship. If the linear part of an object transformation is \(A\), a normal should be transformed using

\[

n'=(A^{-1})^Tn,

\]

followed by normalization.

This inverse-transpose rule is essential for correct lighting. Applying the model matrix directly to normals after nonuniform scaling can make a surface appear incorrectly illuminated because the transformed normal is no longer perpendicular to the transformed surface. Translation is ignored because normals represent directions rather than locations.

6. Camera Models and View Transformation

A camera is specified by its position, viewing direction, and an orientation reference such as an up vector. Let the camera position be \(e\), the target be \(c\), and the nominal up direction be \(a\). A right-handed camera basis can be constructed as

\[

f=\frac{c-e}{\|c-e\|},\qquad

r=\frac{f\times a}{\|f\times a\|},\qquad

u=r\times f.

\]

Here \(f\) is the forward direction, \(r\) is the camera’s right direction, and \(u\) is the corrected up direction. If the camera looks along negative z in view space, the basis is arranged with the appropriate sign for the forward axis. The up vector must not be parallel to the viewing direction; otherwise the cross product becomes zero and the camera orientation is undefined.

The view transformation converts world coordinates into camera coordinates. Conceptually, it first translates the camera position to the origin and then aligns the camera basis with the view axes. In a common right-handed convention, the view matrix has the form

\[

V=\begin{bmatrix}

r_x&r_y&r_z&-r\cdot e\\

u_x&u_y&u_z&-u\cdot e\\-f_x&-f_y&-f_z&f\cdot e\\0&0&0&1\end{bmatrix}.

\]

Different graphics APIs choose different viewing directions, depth ranges, and matrix storage conventions. The conceptual operation remains the same: express every world-space point relative to the camera basis.

7. Projection: From 3D to an Image

Projection removes one spatial degree of freedom and produces a 2D representation. The choice of projection affects measurement, realism, depth perception, and interpretation.

Orthographic Projection

Orthographic projection uses parallel projectors. In its simplest form, a view-space point maps to

\[

x'=x,

\qquad y'=y.

\]

Depth is retained separately for visibility testing but does not change apparent size. An orthographic matrix for left, right, bottom, top, near, and far planes can be written as

\[

P_o=\begin{bmatrix}

\frac{2}{r-l}&0&0&-\frac{r+l}{r-l}\\

0&\frac{2}{t-b}&0&-\frac{t+b}{t-b}\\

0&0&-\frac{2}{f-n}&-\frac{f+n}{f-n}\\

0&0&0&1

\end{bmatrix},

\]

for a convention in which the depth interval is mapped to a symmetric normalized range. Orthographic projection is appropriate for engineering drawings, architectural plans, user interfaces, and situations where geometric scale must remain constant.

Perspective Projection

Perspective projection models a pinhole camera. For focal distance \(d\), a point at depth \(z\) maps approximately to

\[

x'=\frac{dx}{z},\qquad y'=\frac{dy}{z},

\]

assuming the selected sign convention makes visible points have positive depth. Thus distant objects appear smaller. A practical perspective matrix maps view-space coordinates to clip coordinates, after which the graphics pipeline performs perspective division by \(w\). The field of view, aspect ratio, near plane, and far plane determine the frustum.

The near plane must be positive and should not be chosen unnecessarily close to the camera. A very large ratio between far and near distances reduces depth-buffer precision and can cause z-fighting. Reversed-depth techniques and floating-point depth buffers are contemporary strategies for improving precision, but they do not remove the need for sensible clipping distances.

Oblique Projection

Oblique projection retains parallelism but projects along a direction that is not perpendicular to the image plane. Cabinet and cavalier drawings are examples. Oblique methods are useful when a front face must remain undistorted while depth is indicated graphically.

8. Viewport Mapping and Coordinate-Space Conversion

After projection and perspective division, coordinates lie in normalized device coordinates. These must be mapped to a rectangular viewport. If NDC x and y range from −1 to 1 and the viewport has lower-left corner \((x_v,y_v)\), width \(w_v\), and height \(h_v\), then

\[

x_s=x_v+\frac{x_{ndc}+1}{2}w_v,

\qquad

y_s=y_v+\frac{y_{ndc}+1}{2}h_v.

\]

The vertical formula may need modification when the screen origin is at the upper-left rather than the lower-left. The viewport aspect ratio should generally match the projection aspect ratio. If they differ, the image may appear stretched even though the projection matrix is mathematically correct.

A complete forward conversion is often written

\[

p_{clip}=PVMp_{object},

\]

followed by

\[

p_{ndc}=\left(\frac{x_{clip}}{w_{clip}},\frac{y_{clip}}{w_{clip}},\frac{z_{clip}}{w_{clip}}\right).

\]

The matrix \(M\) is the model or world transformation, \(V\) is the view transformation, and \(P\) is the projection transformation. The inverse chain supports picking and interaction. A screen coordinate can be converted into a world-space ray by undoing viewport mapping and projection, assigning suitable near and far depths, and applying the inverse of \(PV\). This process is called unprojection and is widely used for object selection and 3D manipulation.

9. Implementation Patterns and Verification

A robust transformation library should distinguish matrix construction, matrix multiplication, point transformation, vector transformation, and inverse calculation. It should also state whether matrices are stored row-major or column-major; storage layout and mathematical convention are related but not identical.

Useful implementation practices include:

  • Keep model, view, and projection matrices conceptually separate.
  • Use named functions such as `translate`, `rotate`, `lookAt`, and `perspective` rather than manually editing matrix entries throughout application code.
  • Normalize vectors used to construct camera bases and normals.
  • Test transformations with known points, unit axes, and identity cases.
  • Check determinants and orthogonality when validating rotation matrices.
  • Avoid repeated accumulation of floating-point rotations without re-orthogonalization.
  • Use a consistent handedness, depth range, and angle unit throughout the program.

A particularly effective debugging method is to render coordinate axes, a unit cube, and a camera frustum. If the axes are reversed, the cube is mirrored, or the frustum points in an unexpected direction, the error usually lies in handedness, multiplication order, or camera-basis construction.

10. Applications and Professional Significance

Transformations are central to nearly every graphics application. In computer-aided design, they position components and support assembly constraints. In games and animation, hierarchical transforms drive characters, vehicles, cameras, and particle systems. In scientific visualization, transformations relate measurement coordinates to display coordinates. In augmented and virtual reality, tracking systems continuously estimate camera and object poses and convert between physical and rendered spaces.

In robotics, a chain of homogeneous transformations describes the pose of each link relative to a base frame. Forward kinematics multiplies these matrices from the base to the end effector. In computer vision, camera calibration estimates projection parameters and relates image measurements to 3D geometry. In geographic visualization, transformations may connect geographic, projected, local, and screen coordinate systems.

The technical decision is rarely simply “which formula should be used?” Engineers must choose a coordinate convention, preserve numerical stability, select a suitable projection, manage precision, and make the representation compatible with rendering hardware and content pipelines.

Illustrative Case Study: A Robotic Inspection Viewer

Background

Consider an industrial inspection application that displays a robotic arm carrying a camera. The application must show the robot, a workpiece, and camera images in a common 3D interface. Operators need to click a location in the image and identify the corresponding location on the workpiece.

Situation and Problem

The robot controller reports each joint pose relative to the preceding joint. The camera calibration provides the camera’s position relative to the robot wrist. Initially, the rendered camera image appears displaced, and screen clicks select points several centimetres away from the intended surface.

Analysis

The robot model uses a hierarchical chain. Each joint has a local transformation, and the camera pose is obtained by multiplying all parent transforms followed by the wrist-to-camera transform. The first error is traced to applying the wrist transform before the parent chain. A second error arises because the application uses a top-left screen origin while the viewport conversion assumes a bottom-left origin. Finally, the selection ray is generated using the model matrix but omits the inverse view matrix.

Approach and Solution

The team defines explicit spaces: joint-local, robot-base, workcell-world, camera-view, clip, NDC, and screen. It computes

\[

M_{camera}=M_{base}M_1M_2\cdots M_{wrist}M_{wrist-camera}.

\]

The view matrix is the inverse of the camera pose. The calibrated intrinsic parameters determine the perspective projection. For picking, the screen position is converted to NDC, two points are unprojected through the inverse projection and inverse view matrices, and a ray is intersected with the workpiece geometry. The viewport conversion is updated to invert the y-coordinate appropriately.

Outcome

The displayed camera and rendered model become spatially aligned, and screen selections identify the intended surface locations. More importantly, the explicit coordinate-space documentation makes later calibration and maintenance substantially easier.

Learning Points

The case demonstrates that transformation failures are often integration failures rather than algebraic failures. A correct matrix can still be used at the wrong stage, with the wrong convention, or for the wrong geometric entity. Naming spaces and documenting matrix order are therefore professional requirements, not optional formalities.

Challenges, Limitations, and Common Errors

Several errors recur in transformation-based systems. Reversing matrix multiplication order changes the modeled motion. Confusing points and vectors causes translations to affect directions. Transforming normals with the model matrix produces incorrect lighting under nonuniform scaling. A camera up vector parallel to the view direction makes the camera basis unstable. An incorrect aspect ratio distorts the image, while unsuitable clipping planes damage depth precision.

Euler angles are intuitive but can suffer from gimbal lock and interpolation artifacts. Quaternions reduce these problems but require normalization and careful interpretation. Floating-point accumulation can gradually destroy the orthogonality of a rotation matrix. Very large world coordinates reduce precision near the camera, motivating origin rebasing or local coordinate systems in large virtual environments.

Transformations also have limitations as a representation. A single affine matrix cannot represent perspective distortion, and a rigid matrix cannot encode deformation. Nonlinear effects, lens distortion, skin deformation, and terrain projection require additional models or stages.

Ethical and Professional Considerations

Coordinate errors can have consequences beyond visual defects. In medical visualization, an incorrect registration may lead to misleading spatial interpretation. In robotics and autonomous systems, a calibration error can create unsafe motion. Engineering software should therefore record units, coordinate conventions, calibration versions, uncertainty, and validation results. Visual plausibility is not sufficient evidence of geometric correctness.

When transformation data comes from sensors or tracked users, privacy and security considerations also arise. Pose data may reveal movement patterns or sensitive workplace information. Systems should limit data collection, control access, and preserve auditability where the application demands it.

Current Developments

Modern graphics engines increasingly use physically based cameras, wide-gamut display pipelines, temporal reconstruction, and GPU-driven scene processing. Scene graphs are often combined with entity-component systems, hierarchical bounding volumes, and instancing to support large scenes. Virtual and augmented reality systems maintain several synchronized spaces, including tracking, stage, local, view, and display spaces.

Differentiable rendering and neural scene representations make transformations part of optimization processes in computer vision and machine learning. A system may estimate camera pose by minimizing image error, requiring stable derivatives of projection and coordinate conversion. These developments increase the importance of explicit conventions, numerical conditioning, and reliable inverse transformations.

Best Practices

A professional transformation workflow should:

1. Define every coordinate space and its units.

2. Choose and document handedness, vector orientation, depth range, and screen-origin convention.

3. Keep local, world, view, projection, and viewport operations conceptually distinct.

4. Use hierarchical composition for related objects rather than duplicating world-space values.

5. Treat normals, points, and vectors according to their geometric meanings.

6. Validate camera and projection matrices using test geometry and known correspondences.

7. Select near and far clipping planes to preserve depth precision.

8. Build automated tests for inversion, composition, axis behavior, and round-trip conversions.

9. Preserve calibration metadata and report uncertainty in safety-critical applications.

Chapter Summary

Geometric transformations provide the mathematical structure for positioning, orienting, scaling, and projecting graphical objects. Homogeneous coordinates unify affine operations and distinguish points from vectors. Matrix order matters because transformations generally do not commute. Hierarchical composition expresses parent-child relationships and supports articulated models.

A camera converts world coordinates into view coordinates through a basis constructed from position, direction, and up information. Orthographic projection preserves apparent size, whereas perspective projection introduces depth-dependent scale. After projection, perspective division produces normalized device coordinates, which are mapped to a viewport in pixels. Inverse transformations enable picking and coordinate recovery.

Reliable graphics software depends on explicit conventions, stable numerical methods, correct treatment of normals, sensible clipping planes, and systematic validation. These principles apply across rendering, CAD, animation, robotics, visualization, computer vision, and immersive systems.

Key Terms

Homogeneous coordinates: An augmented coordinate representation that enables translation and affine transformations through matrix multiplication.

Affine transformation: A transformation that preserves straight lines and parallelism, including translation, rotation, scaling, and shearing.

Rigid transformation: A rotation and translation that preserve distances and angles.

Model transformation: A transformation from object-local coordinates to world coordinates.

View transformation: A transformation from world coordinates to camera coordinates.

Projection transformation: A transformation that maps camera-space geometry toward an image or clip volume.

Viewport: The rectangular target region in a window or framebuffer.

Normalized device coordinates: Coordinates obtained after perspective division and normalized to a standard range.

Composite matrix: A single matrix representing a sequence of transformations.

Transformation hierarchy: A parent-child structure in which child transformations are accumulated with ancestor transformations.

Pivot: The point about which a rotation or scale is performed.

Normal: A vector perpendicular to a surface, used particularly in lighting calculations.

Inverse-transpose matrix: The matrix used to transform normals under a general linear transformation.

Orthographic projection: A parallel projection in which object size does not depend on depth.

Perspective projection: A projection in which apparent size decreases with distance from the camera.

Frustum: The truncated pyramid-shaped visible volume of a perspective camera.

Unprojection: Conversion from screen or projected coordinates back into a world-space representation, often a ray.

Handedness: The orientation convention defining the relationship among coordinate axes.

Depth buffer: A per-pixel structure storing depth values for visibility determination.

Quaternion: A four-component representation commonly used for stable 3D orientation and interpolation.

Review Questions

Short Answer Questions

1. Why are homogeneous coordinates required to represent translation as a matrix operation?

2. Distinguish a point from a vector in homogeneous coordinates.

3. What is the purpose of a view transformation?

4. Why must normals be transformed using the inverse transpose under nonuniform scaling?

5. What is perspective division?

Long Answer Questions

1. Derive the 2D homogeneous matrices for translation, rotation, and scaling, and explain their composition order.

2. Explain how a camera basis is constructed from eye, target, and up vectors. Include the conditions under which the construction fails.

3. Compare orthographic, oblique, and perspective projections with suitable applications for each.

4. Describe hierarchical transformations using an articulated robotic arm as an example.

5. Explain the complete coordinate pipeline from object space to viewport space, including perspective division.

Analytical / Application Questions

1. A model is first scaled by (2, 1, 1), then rotated about the z-axis, and finally translated. Explain how the order affects a point and how you would verify the result computationally.

2. A rendered scene appears vertically stretched and objects selected by mouse clicks are displaced. Identify likely viewport and aspect-ratio errors and propose a debugging sequence.

3. Design a coordinate-space and transformation strategy for a tracked camera mounted on a robot arm. Specify the matrices needed for rendering and screen-space picking.

22. Multiple Choice Questions with Answers

Question 1

Under the column-vector convention, which matrix is applied first in the composite transformation M = T R S?

A. T

B. R

C. S

D. All three simultaneously

Correct Answer: C. S

Question 2

A normal transformed by a model matrix containing nonuniform scaling should use which operation?

A. The model matrix directly

B. The transpose of the model matrix

C. The inverse-transpose of the linear part

D. Only the translation component

Correct Answer: C. The inverse-transpose of the linear part

Question 3

Which property distinguishes perspective projection from orthographic projection?

A. Perspective projection preserves parallel lines in all cases

B. Perspective projection makes distant objects appear smaller

C. Perspective projection removes depth information

D. Perspective projection cannot use a depth buffer

Correct Answer: B. Perspective projection makes distant objects appear smaller

Question 4

If a camera looks from e toward c, which vector is normally used as the normalized forward direction?

A. (e+c)/2

B. c-e

C. e×c

D. e-c only after projection

Correct Answer: B. c-e

Question 5

What is the principal role of the viewport transformation?

A. To convert object coordinates into camera coordinates

B. To map normalized device coordinates to a pixel rectangle

C. To calculate surface normals

D. To remove hidden surfaces

Correct Answer: B. To map normalized device coordinates to a pixel rectangle

Question 6

In a transformation hierarchy, what happens when a parent node is rotated?

A. Only the parent’s local geometry changes

B. All descendants inherit the parent’s changed world transform

C. The child matrices become projections

D. The camera is automatically reoriented

Correct Answer: B. All descendants inherit the parent’s changed world transform

Question 7

Which representation is most directly associated with a point that should be affected by translation?

A. (x,y,z,0)

B. (x,y,z,1)

C. (x,y,0,0)

D. (1,1,1,0)

Correct Answer: B. (x,y,z,1)

Question 8

A very large far-to-near clipping ratio most directly threatens which aspect of rendering?

A. Texture filtering

B. Depth-buffer precision

C. Object hierarchy traversal

D. Normal orientation

Correct Answer: B. Depth-buffer precision

Question 9

What is the purpose of unprojection in an interactive 3D application?

A. To convert a world point into a local point only

B. To create a world-space ray from a screen coordinate

C. To apply nonuniform scaling to normals

D. To convert a quaternion into a texture

Correct Answer: B. To create a world-space ray from a screen coordinate

Question 10

For a rigid transformation x' = Rx + t, which expression reverses the transformation when R is an orthonormal rotation matrix?

A. R(x'+t)

B. R^T(x'-t)

C. R(x'-t)

D. R^T(x'+t)

Correct Answer: B. R^T(x'-t)

Computer Graphics
Chapter 3 of 15