Key Idea: Transformations move and reshape a known graph y = f(x) — sliding, stretching or flipping it — and track where each point ends up. It's a pure Paper 1 (by hand) skill, and the golden rule is outside the function acts on the y's, inside acts on the x's.
🗺️ Every transformation at a glance
| Written as | Effect on the graph | Effect on a point (x, y) |
|---|---|---|
| f(x) + k | translate up k (down if k < 0) — as expected | (x, y) → (x, y + k) |
| f(x − a) | translate right a — opposite of the sign! | (x, y) → (x + a, y) |
| a·f(x) | vertical stretch, factor a | (x, y) → (x, ay) |
| f(bx) | horizontal stretch, factor 1⁄b (reciprocal) | (x, y) → (x⁄b, y) |
| −f(x) | reflect in the x-axis | (x, y) → (x, −y) |
| f(−x) | reflect in the y-axis | (x, y) → (−x, y) |
Outside the bracket (+k, ×a, the leading −) changes the y-values and behaves as you'd expect. Inside the bracket (x − a, bx, −x) changes the x-values and is backwards/reciprocal — it fights your intuition.
➡️ Translations & vectors
- horizontal shift — RIGHT a (top of the vector)
- vertical shift — UP b (bottom of the vector)
Important: f(x − 3) shifts RIGHT 3, not left. To get the same output, x must be 3 bigger, so the graph sits 3 to the right. Likewise f(x + 1) shifts left 1. Inside changes always go the opposite way.
↕️ Stretches & reflections
Important: f(bx) stretches by 1⁄b, not b. So f(2x) squashes by factor ½ toward the y-axis, while f(x⁄2) stretches by factor 2. Vertical stretch a·f(x) is the friendly one — factor a, exactly as written, and x-intercepts stay put.
✏️ IB-style worked examples
IB-style question — describe a translation (2.11.1)
The graph of y = f(x) is transformed to y = f(x − 4) + 2. Describe the transformation fully.
Step by step:
Inside x − 4 → move the OPPOSITE of the sign: right 4.
Outside + 2 → up 2 (as expected).
Combine into one translation vector.
A translation 4 right and 2 up — the vector (4, 2).
IB-style question — image of a point under a stretch (2.11.2)
The point (2, 6) lies on y = f(x). Find its image on y = f(2x).
Step by step:
f(2x) is a horizontal stretch of factor 1⁄2, so divide the x-coordinate by 2.
Inside changes don't touch the y-coordinate.
(1, 6).
IB-style question — a reflection (2.11.2)
The point (3, −5) lies on y = f(x). Find its image on y = −f(x).
Step by step:
−f(x) is a reflection in the x-axis — negate the y-coordinate (outside acts on y).
Simplify.
(3, 5).
IB-style question — a combined transformation (2.11.3)
The point (1, 4) lies on y = f(x). Find its image on y = 2f(x) − 1.
Step by step:
Stretch/reflect FIRST: vertical stretch ×2 acts on y.
THEN translate: − 1 (down 1).
(1, 7).
Important: f(x − 3) moves RIGHT, not left, and f(2x) squashes by ½, not stretches by 2. Anything inside the bracket is horizontal and goes the opposite/reciprocal way to what it looks like. Outside the bracket is vertical and behaves normally.
Tap each card to reveal the answer.
Describe the transformation y = f(x) → y = f(x + 5) Translation 5 to the LEFT — inside +5 goes the opposite way.
(2, 3) lies on y = f(x). Image on y = f(x) − 4? (2, −1) — outside − 4 lowers the y-coordinate by 4.
What does y = 3f(x) do to the graph? Vertical stretch, factor 3 — every y triples; x-intercepts stay put.
Scale factor of the horizontal stretch in y = f(4x)? 1⁄4 — f(bx) stretches by the reciprocal of b, so the graph squashes.
(2, 5) lies on y = f(x). Image on y = f(−x)? (−2, 5) — reflection in the y-axis negates the x-coordinate.
Write y = f(x − 1) + 3 as a translation vector (1, 3) — right 1 (inside x − 1), up 3 (outside + 3).
Exam Tips
- Outside the bracket → vertical, behaves as expected; inside → horizontal and backwards/reciprocal.
- f(x − a) shifts RIGHT a; f(x + a) shifts LEFT a — opposite of the sign you see.
- a·f(x) stretches vertically by a; f(bx) stretches horizontally by 1⁄b (the reciprocal).
- −f(x) reflects in the x-axis (flip y); f(−x) reflects in the y-axis (flip x).
- Combined a·f(x) + k: stretch/reflect FIRST, then translate — 2f(x) − 1 is not 2(f(x) − 1).