Vertical and horizontal shifts, reflections, stretches and compressions, even and odd functions, order of transformations, and graphing toolkit functions — complete Stewart Ch. 2 coverage with worked examples and transformation tables.
General Transformation Form
y = a · f(b(x − h)) + k
h
Horizontal shift
Right if h>0, left if h<0
k
Vertical shift
Up if k>0, down if k<0
a
Vertical scale
|a|>1 stretch; 0<|a|<1 shrink; a<0 reflects
b
Horizontal scale
|b|>1 shrink; 0<|b|<1 stretch; b<0 reflects
Every key point (x₀, y₀) on the parent graph maps to the transformed point (x₀/b + h, a·y₀ + k). Memorize this mapping to graph any transformed function in seconds.
Adding a constant outside the function moves every point on the graph up or down. The shape of the graph is unchanged; only its vertical position changes.
The k in the master formula handles vertical shifts. Every point (x, y) becomes (x, y + k).
| Equation | Transformation | Example | Key Point |
|---|---|---|---|
| y = f(x) + 3 | UP 3 units | x² + 3 | (0, 3) |
| y = f(x) − 5 | DOWN 5 units | x² − 5 | (0, −5) |
| y = f(x) + 0.5 | UP 0.5 units | √x + 0.5 | [0, ∞) |
| y = f(x) − 1 | DOWN 1 unit | |x| − 1 | (0, −1) |
Start with f(x) = x². Graph g(x) = x² + 3 and h(x) = x² − 2.
Range of f: [0, ∞). Range of g: [3, ∞). Range of h: [−2, ∞). Domain stays (−∞, ∞) for all three.
Replacing x with (x − c) inside the function moves the graph left or right. The direction is counterintuitive: subtracting inside moves right, adding inside moves left.
| Equation | Transformation | Explicit Form | Key Point |
|---|---|---|---|
| y = f(x − 4) | RIGHT 4 units | (x−4)² | (4, 0) |
| y = f(x + 2) | LEFT 2 units | (x+2)² | (−2, 0) |
| y = f(x − 1) | RIGHT 1 unit | √(x−1) | [1, ∞) |
| y = f(x + 3) | LEFT 3 units | |x + 3| | (−3, 0) |
Start with f(x) = √x. Graph g(x) = √(x − 4) and h(x) = √(x + 2).
Reflections flip the graph over an axis. Negating outside the function reflects over the x-axis; negating inside the function reflects over the y-axis.
y = −f(x)
Every y-value is negated. Points above the x-axis move below, and vice versa. The x-intercepts (where y = 0) stay fixed.
y = f(−x)
Every x-value is negated. Points to the right of the y-axis move to the left, and vice versa. The y-intercept stays fixed.
| Form | Axis | Operation | Even/Odd Note |
|---|---|---|---|
| y = −f(x) | x-axis | Negate every y-value | Same if even |
| y = f(−x) | y-axis | Negate every x-value | Same if even |
| y = −f(−x) | Origin | Negate both x and y | Same if odd |
Let f(x) = √x. Determine the domain and key points of g(x) = −√x and h(x) = √(−x).
Domain: [0, ∞) — unchanged, since we only negate y, not x. Key points: (0, 0) stays (0, 0); (1, 1) becomes (1, −1); (4, 2) becomes (4, −2); (9, 3) becomes (9, −3). The graph is a downward-curving branch below the x-axis. Range: (−∞, 0].
Domain: we need −x ≥ 0, so x ≤ 0. Domain: (−∞, 0]. Key points: (0, 0) stays (0, 0); (−1, 1); (−4, 2); (−9, 3). The graph is the mirror image of √x reflected over the y-axis. Range: [0, ∞).
Multiplying the entire function by a constant c changes the vertical scale. When c > 1 the graph stretches away from the x-axis; when 0 < c < 1 the graph shrinks toward it.
Key insight: the x-intercepts do not move under vertical scaling (multiplying 0 by any c still gives 0).
Start with f(x) = x². Compare g(x) = 3x² and h(x) = (1/3)x².
| x | f(x) = x² | g(x) = 3x² | h(x) = (1/3)x² |
|---|---|---|---|
| −3 | 9 | 27 | 3 |
| −2 | 4 | 12 | 4/3 |
| −1 | 1 | 3 | 1/3 |
| 0 | 0 | 0 | 0 |
| 1 | 1 | 3 | 1/3 |
| 2 | 4 | 12 | 4/3 |
| 3 | 9 | 27 | 3 |
g(x) is 3 times as tall as f(x) at every x; the vertex stays at (0,0) but the parabola is much narrower visually. h(x) is 1/3 as tall; the parabola is visually wider.
Replacing x with bx inside the function scales the graph horizontally. The effect is the reverse of what you might expect: large b compresses the graph, small b stretches it.
Let f(x) = √x. Analyze g(x) = √(4x) and h(x) = √(x/4).
Here b = 4. Horizontal shrink by factor 1/4. Key mapping: (x, y) → (x/4, y). So (1, 1) → (1/4, 1); (4, 2) → (1, 2); (9, 3) → (9/4, 3). Domain: [0, ∞). Note: √(4x) = 2√x, so this also equals a vertical stretch by 2 — a useful connection showing horizontal and vertical transformations can overlap.
Here b = 1/4. Horizontal stretch by factor 4. Key mapping: (x, y) → (4x, y). So (1, 1) → (4, 1); (4, 2) → (16, 2); (9, 3) → (36, 3). Note: √(x/4) = (1/2)√x, so this also equals a vertical shrink by 1/2.
| Equation Form | Type | Scale Factor | Visual Effect |
|---|---|---|---|
| y = 3f(x) | Vertical stretch | 3 | Points move away from x-axis, 3× taller |
| y = 0.5f(x) | Vertical shrink | 1/2 | Points move toward x-axis, half as tall |
| y = f(2x) | Horizontal shrink | 1/2 | Graph compressed toward y-axis |
| y = f(x/3) | Horizontal stretch | 3 | Graph stretched away from y-axis |
When a function has multiple transformations, the order matters. Apply them in the sequence below for y = a · f(b(x − h)) + k.
Horizontal shift
Move left or right by h (inside the parentheses, x − h)
Horizontal stretch/shrink
Scale x by 1/b — compress if |b|>1, stretch if |b|<1
Vertical stretch/shrink and reflection
Multiply y by |a|; reflect over x-axis if a<0
Vertical shift
Move up or down by k (outside the function, +k or −k)
Graph g(x) = −2√(3(x − 1)) + 4 starting from f(x) = √x.
Applying a vertical shift before a vertical stretch changes the result. For y = 2f(x) + 3: stretching first doubles the function, then we shift up 3. But if you shifted first (f(x) + 3) and then stretched (2(f(x) + 3) = 2f(x) + 6), you get a different vertical shift of 6, not 3. Always match the written form of the equation and apply transformations in the canonical order above.
Even and odd symmetry describe a special relationship between a function and its reflection. These properties have profound consequences for integration, Fourier analysis, and graphing.
f(−x) = f(x) for all x
The graph is symmetric about the y-axis. Folding the graph along the y-axis produces identical halves.
Examples:
f(−x) = −f(x) for all x
The graph has 180° rotational symmetry about the origin. Rotating the graph half a turn produces the same curve.
Examples:
Determine whether f(x) = x⁴ − 3x² + 5 is even, odd, or neither.
Test g(x) = x³ + x².
Compare: g(−x) = −x³ + x². This does NOT equal g(x) = x³ + x² (signs of x³ differ). And −g(x) = −x³ − x² does NOT equal g(−x) either.
Conclusion: g is NEITHER even nor odd. It has no axis or rotational symmetry.
Intuition: mixing even-powered and odd-powered terms with no special relationship usually gives a neither-even-nor-odd function.
Every transformation starts from a parent function. Memorize these six toolkit functions — their domains, ranges, symmetry, and key points. Any transformed graph is one of these six with shifts, stretches, or reflections applied.
y = x²
(0,0)
(1,1)
(2,4)
(3,9)
(−1,1)
(−2,4)
y = x³
(0,0)
(1,1)
(2,8)
(−1,−1)
(−2,−8)
y = √x
(0,0)
(1,1)
(4,2)
(9,3)
(16,4)
y = |x|
(0,0)
(1,1)
(2,2)
(−1,1)
(−2,2)
y = 1/x
(1,1)
(2,0.5)
(0.5,2)
(−1,−1)
y = ∛x
(0,0)
(1,1)
(8,2)
(−1,−1)
(−8,−2)
Most exam problems combine two or more transformations. The systematic approach is to identify h, k, a, b in the master formula, then map key points using the formula (x₀, y₀) → (x₀/b + h, a·y₀ + k).
Graph g(x) = −|x + 2| + 3. Identify all transformations from f(x) = |x|.
Rewrite: g(x) = −1 · |x − (−2)| + 3. So a = −1, b = 1, h = −2, k = 3.
Mapping key points:
(0, 0) → (0 + (−2), −1·0 + 3) = (−2, 3) — new vertex
(1, 1) → (1 + (−2), −1 + 3) = (−1, 2)
(−1, 1) → (−1 + (−2), −1 + 3) = (−3, 2)
(2, 2) → (2 + (−2), −2 + 3) = (0, 1)
(−2, 2) → (−2 + (−2), −2 + 3) = (−4, 1)
Result: an inverted V with vertex at (−2, 3); opens downward; range: (−∞, 3].
Graph g(x) = 2/(x − 3) + 1 from f(x) = 1/x.
Rewrite: g(x) = 2 · f(x − 3) + 1. So a = 2, b = 1, h = 3, k = 1.
Key points from f(x) = 1/x:
(1, 1) → (1 + 3, 2·1 + 1) = (4, 3)
(2, 0.5) → (5, 2·0.5 + 1) = (5, 2)
(−1, −1) → (2, 2·(−1) + 1) = (2, −1)
Asymptotes: x = 3 (vertical), y = 1 (horizontal). Two branches in quadrants relative to the new center (3, 1).
Graph g(x) = (1/2)(x + 1)³ − 4.
a = 1/2, h = −1, k = −4, b = 1.
(0, 0) → (0 + (−1), (1/2)·0 + (−4)) = (−1, −4) — inflection point
(1, 1) → (0, −3.5)
(2, 8) → (1, −0) = (1, 0)
(−1, −1) → (−2, −4.5)
Transformations apply to piecewise functions by applying the transformation to each piece individually AND adjusting the boundary conditions accordingly.
For a vertical shift of k: add k to each output expression. Domain intervals stay the same.
For a horizontal shift of h: replace x with (x − h) in each piece AND shift every boundary value by h (add h to each breakpoint).
For a vertical stretch by a: multiply each output expression by a. Domain intervals stay the same.
Let f(x) be defined as:
f(x) = x + 1 if x < 0
f(x) = x² if x ≥ 0
Find g(x) = f(x − 2) + 3 (shift right 2, up 3).
Step 1 — Horizontal shift right 2:
Replace x with (x − 2) everywhere. Also shift the boundary: x < 0 becomes x − 2 < 0, i.e., x < 2. Similarly x ≥ 0 becomes x ≥ 2.
f(x − 2) = (x − 2) + 1 = x − 1 if x < 2
f(x − 2) = (x − 2)² if x ≥ 2
Step 2 — Vertical shift up 3:
Add 3 to each output. Boundaries do not change.
g(x) = (x − 1) + 3 = x + 2 if x < 2
g(x) = (x − 2)² + 3 if x ≥ 2
Function transformations are not abstract — they appear throughout physics, engineering, music, and signal processing.
The general sinusoidal form is y = A·sin(B(x − h)) + k. Each parameter has physical meaning:
Example: Sound wave
A note played at concert pitch A440 has frequency 440 Hz. If modeled as y = 0.3·sin(880πt), then A = 0.3 (amplitude/volume) and B = 880π, giving period = 2π/(880π) = 1/440 second — exactly 440 cycles per second. Doubling B halves the period, raising the pitch one octave.
The height of a projectile is a transformed quadratic: h(t) = −16t² + v₀t + h₀.
This is a vertical stretch by 16, reflection over t-axis (a = −16), and vertical shift up by h₀ (initial height). The vertex gives the maximum height and time to reach it. Completing the square reveals the vertex form — a combination of vertical stretch, reflection, and both types of shifts applied to the parent parabola y = t².
In economics, a demand curve shift is literally a horizontal or vertical function transformation. When consumer income rises, the demand curve for normal goods shifts right (positive horizontal shift) — at every price, consumers demand more. An excise tax of $5 per unit shifts the supply curve up by 5 (positive vertical shift).
These are not just mathematical abstractions — graphing the transformed curves directly shows the new equilibrium price and quantity.
✗ Shifting y = f(x + 3) to the right instead of the left
Fix: Inside the function, ADDING shifts LEFT; SUBTRACTING shifts right. Check: at x = −3, we get f(0) — so the original output at 0 now appears at x = −3, which is LEFT.
✗ Confusing y = f(2x) as a stretch instead of a shrink
Fix: y = f(2x) is a horizontal SHRINK by 1/2 (graph gets narrower). For a stretch, use y = f(x/2). The scale factor for horizontal transformations is always 1/b.
✗ Applying transformations in the wrong order
Fix: Always: horizontal shift first, then horizontal scale, then vertical scale/reflect, then vertical shift. Wrong order gives wrong graph.
✗ Forgetting to shift the boundary values in piecewise functions
Fix: When applying y = f(x − h) to a piecewise function, shift every breakpoint in the domain by +h as well as replacing x with (x − h) in each formula.
✗ Testing even/odd without fully simplifying
Fix: Compute f(−x) and simplify completely before comparing to f(x) or −f(x). A partial simplification may give the wrong answer.
✗ Assuming combining a horizontal shrink and vertical stretch are equivalent
Fix: For specific parent functions like √x they look the same numerically, but in general y = 2f(x) and y = f(4x) are different transformations with different domains and key points.
Function Composition
Building composite functions and understanding (f ∘ g)(x)
Inverse Functions
Finding inverses algebraically and graphically; reflection over y = x
Trig Graphs
Graphing sine, cosine, tangent with amplitude, period, and phase shift
Domain and Range
Identifying domain and range for all common function types
Piecewise Functions
Defining, graphing, and evaluating piecewise-defined functions
Polynomial End Behavior
Leading term test and the long-run behavior of polynomial graphs
NailTheTest generates unlimited function transformation problems, checks your work step-by-step, and adapts to exactly where you are in Stewart Precalculus Ch. 2.
Start Practicing Free