What is a transformation in computer graphics?
A mathematical operation that changes an object’s position, orientation, or size.
What are the three standard geometric transformations?
Translation, scaling, and rotation.
Name additional transformations beyond the basic three.
Reflection, shearing, and combinations of transformations
Why are transformations important in graphics?
They allow positioning, orienting, and manipulating models efficiently in a 3D scene.
What does a translation do?
Moves a point by adding a displacement vector (dx, dy, dz):
(x’, y’, z’) = (x + dx, y + dy, z + dz)
Can translation be applied to vectors like normals?
No — translation changes position, not direction
What does scaling do?
Changes an object’s size by multiplying each coordinate by a scaling factor:
(x’, y’, z’) = (sx·x, sy·y, sz·z)
Why must an object be centered at the origin before scaling?
Scaling expands or contracts relative to the origin — if not centered, it moves unintentionally.
How do you scale an object about an arbitrary center?
Translate the object’s center to the origin.
Apply scaling.
Translate back.
What’s the difference between uniform and non-uniform scaling?
Uniform → same factor for all axes.
Non-uniform → different scale factors (e.g., stretch only the x-axis).
What does rotation do in 2D?
Rotates a point (x, y) by an angle α around the origin:
x’ = x cos α – y sin α
y’ = x sin α + y cos α
What direction do positive rotation angles move in OpenGL?
Counter-clockwise around the origin.
Why must objects be translated to the origin before rotation or scaling?
Because these transformations act about the origin; otherwise, the object’s center moves incorrectly.
How can scaling and rotation be represented mathematically?
As 2×2 matrices applied to column vectors.
How do you combine multiple transformations?
By matrix multiplication. If transformations M and N are applied in sequence:
x’’ = N M x → Combined matrix = N M.
Why is concatenation (combining matrices) efficient?
It reduces computation — multiple transforms become one matrix multiply per vertex.
Why can’t translation be represented by a 2×2 matrix?
Because translation adds a constant term rather than multiplying coordinates
How do homogeneous coordinates fix this?
Add a 3rd component (x, y, 1) and use a 3×3 matrix so translation, rotation, and scaling can all be unified.
What does w = 1 vs. w = 0 mean?
w = 1 → points (affected by translation)
w = 0 → vectors (not affected by translation)
What do homogeneous coordinates allow us to represent?
What do homogeneous coordinates allow us to represent?
What do homogeneous coordinates allow us to represent?
4×4 matrices.
Why is 3D rotation more complex than 2D?
Because you can rotate about any arbitrary axis, not just one.
Q23: What defines a 3D rotation?
A23: The rotation angle, the rotation axis, and the center of rotation.
Q24: What are Euler angles?
A24: A set of three rotations about the x-, y-, and z-axes.