Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition Chapter 5
Figure 5.1: Translation.
Figure 5.2: Scaling.
Figure 5.3: Rotation.
Figure 5.4: Illustrations for Example 5.2.
Figure 5.5: Reflection (|XP| = |XP’|).
Figure 5.6: Glide reflection.
Figure 5.7: Affine transformation in R 3.
Figure 5.8: Quadratic transform h of R 2 takes a straight segment to a parabolic arc.
Figure 5.9: Hint for Exercise 5.26.
Figure 5.10: Transformations that are good from the API programmer's point of view, and not so good.
Figure 5.11: Square-headed student struck by a CG book: the shape of the head is distorted, but not that of the book.
Figure 5.12: Transformations (a)-(c) are Euclidean, (d) is not.
Figure 5.13: Executing (c) of Figure 5.12 by a reflection about the mirror l followed by translation and rotation.
Figure 5.14: The orientation of PQR perceived by V depends on the half-plane of l containing Q (Q is depicted here in the half-plane x 1 y – y 1 x > 0).
Figure 5.15: Illustrations for the proof of Proposition 5.6.
Figure 5.16: 2D shears: l is a directed line, α the angle of shear.
Figure 5.17: Sheared sheep.
Figure 5.18: A shear as a rotation-scaling-rotation.
Figure 5.19: Translation.
Figure 5.20: Scaling.
Figure 5.21: Rotation.
Figure 5.22: (a) 2D rotation on the xy-plane (b)-(d) 3D rotations about the coordinate axes.
Figure 5.23: Rotating about an arbitrary radial axis.
Figure 5.24: Experiment 5.1: (a) Screenshot of output (b) Trick-based rotation scheme.
Figure 5.25: Aligning l along the z-axis.
Figure 5.26: (a) Non-zero collinear vectors drawn from the origin (b) Taking the cross-product.
Figure 5.27: The vector f(X) is obtained by rotating X an angle of θ about the radial line l.
Figure 5.28: X 1 and X 2 are components of X parallel and perpendicular, respectively, to l; X 2, f(X 2 ) and P x X all lie on the plane p through O perpendicular to l. X 2 and P x X are mutually perpendicular as well.
Figure 5.29: Reflection about plane p (|XP| = |XP’|).
Figure 5.30: Screenshot from Experiment 5.2.
Figure 5.31: (a) {u, v, w} is left-handed (b) {u, v, w} is right-handed (c) The reflection f about the plane p is orientation-reversing, because the triple {PQ, PQ, PS} is right-handed, while the triple of images {f(P)f(Q), f(P)(R), f(P)(S)} is left-handed.
Figure 5.32: Finding the axis of a rigid transformation that fixes the origin.
Figure 5.33: (a) A 2D slice of a 3D shear on the plane q and two more “copies” of q (b) A shear along the xz-plane whose line is the x-axis.
Figure 5.34: Screenshot of shear.cpp.
Figure 5.35: Shadow of a point cast by the sun at 45° in the sky.