Computer Graphics Through OpenGL: From Theory to

Download Report

Transcript Computer Graphics Through OpenGL: From Theory to

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 R3.
Figure 5.8: Quadratic
transform h of R2 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 x1y – y1x > 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: X1 and X2 are components of X parallel and perpendicular, respectively,
to l; X2, f(X2) and P x X all lie on the plane p through O perpendicular to l. X2 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.