Transformations of Functions
Shifts, stretches and reflections — and why horizontal ones feel backwards.
The explanation
Every change to a function's equation moves its graph in a predictable way.
Outside the function (affecting outputs) behaves as you expect:
- f(x) + k shifts up k
- a·f(x) stretches vertically by a; a negative a flips it upside down
Inside the function (affecting inputs) behaves backwards:
- f(x − h) shifts *right* h, not left
- f(bx) squeezes horizontally by 1/b
- f(−x) flips it left-right
Why backwards? Because f(x − 3) has to wait until x reaches 3 to do what f did at 0. The graph is delayed, so it moves right.
Order matters: stretch and reflect before shifting.
Write a transformed function as g(x) = a·f(b(x − h)) + k.
Vertical transformations act on the output and compose in the natural order: multiply by a, then add k. Horizontal transformations act on the input and are therefore *inverted*, both in effect and in order. To reach a given output, the input must be pre-processed, so a subtraction inside produces a rightward shift and a coefficient b produces a compression by 1/b.
Formally, (x, y) on f maps to (x/b + h, ay + k) on g, which is the reliable way to transform specific points such as a vertex or an endpoint.
Sign placement matters: −f(x) reflects across the x-axis while f(−x) reflects across the y-axis. Care is needed with an expression like f(2x − 6), which must be factored to f(2(x − 3)) before the shift can be read as 3 rather than 6.
These rules apply to every family identically, which is what makes the parent-function approach efficient.
Worked example
Describe the transformations in g(x) = −2√(x + 3) − 1 and state the starting point.
- Inside: x + 3 = x − (−3), so shift 3 left.
- a = −2: vertical stretch by 2 and reflection across the x-axis.
- k = −1: shift down 1.
- Parent √x starts at (0,0), which maps to (−3, −1).
Answer: Left 3, stretched by 2, flipped vertically, down 1. Starting point (−3, −1).
Common mistakes
- Reading f(x + 3) as a shift to the right.
- Applying the vertical shift before the stretch, which misplaces the graph.