Vertical and Horizontal Transformations
Function transformations allow us to shift, stretch, compress, and reflect the graph of any function without changing its fundamental shape. When working with polynomial and rational functions, understanding how changes to the algebraic expression translate into visual changes on the coordinate plane is one of the most powerful tools in mathematics. A single parent function — such as f(x) = x², f(x) = x³, or f(x) = 1/x — can generate an entire family of related graphs through systematic transformations. Vertical transformations affect the output (y-values) of a function and act in an intuitive direction: adding a positive constant moves the graph up, multiplying by a number greater than 1 stretches it away from the x-axis. Horizontal transformations affect the input (x-values) and are famously counterintuitive — replacing x with (x − h) shifts the graph to the right when h is positive, not to the left. This apparent reversal trips up many students and deserves careful attention. Mastering these transformations is essential for graphing complex functions quickly, solving optimization problems, and analyzing real-world models. Rather than plotting dozens of points for every new function, you can identify the parent function and the sequence of transformations, then sketch the result with confidence. This article covers vertical and horizontal shifts, vertical and horizontal stretches and compressions, and how to combine multiple transformations systematically.
- Vertical Shifts (Up and Down)
- Horizontal Shifts (Left and Right)
- Vertical Stretches and Compressions
- Horizontal Stretches and Compressions
- Combining Multiple Transformations
Vertical Shifts (Up and Down)
Adding a constant k to the output shifts every point on the graph vertically. The transformed function g(x) = f(x) + k moves the graph up by k units when k > 0 and down by |k| units when k < 0. For example, g(x) = x² + 3 shifts the parabola y = x² upward by 3 units; the vertex moves from (0, 0) to (0, 3). Every y-value increases by 3 while every x-value remains unchanged. Vertical shifts do not affect domain but do shift the range by k.
Horizontal Shifts (Left and Right)
Replacing x with (x − h) in the function rule shifts the graph horizontally. The transformed function g(x) = f(x − h) moves the graph right by h units when h > 0 and left by |h| units when h < 0. This is counterintuitive: g(x) = (x − 4)² shifts the parabola four units to the RIGHT, and g(x) = (x + 2)² shifts it two units to the LEFT. The logic is that to get the same output as f(0) from the original, you now need x = 4, so the point moves right. Horizontal shifts do not affect range but do shift the domain by h.
Vertical Stretches and Compressions
Multiplying the entire function by a constant a produces a vertical stretch or compression. The transformed function g(x) = a·f(x) stretches the graph away from the x-axis by a factor of a when |a| > 1 (points move farther from the x-axis), and compresses it toward the x-axis when 0 < |a| < 1. For example, g(x) = 3x² makes the parabola narrower (steeper), while g(x) = (1/3)x² makes it wider (shallower). When a < 0, the graph is also reflected across the x-axis. The x-intercepts (roots) remain fixed during a pure vertical stretch or compression.
Horizontal Stretches and Compressions
Multiplying the input x by a constant b produces a horizontal stretch or compression. The transformed function g(x) = f(b·x) compresses the graph toward the y-axis by a factor of 1/b when |b| > 1 (the graph appears narrower horizontally), and stretches it away from the y-axis when 0 < |b| < 1. For example, g(x) = (2x)³ = 8x³ compresses the cubic horizontally. Note carefully: g(x) = f(2x) compresses by factor 1/2, not stretches. When b < 0, the graph is also reflected across the y-axis. The y-intercept remains fixed during a pure horizontal stretch or compression.
Combining Multiple Transformations
The general transformed function is written as g(x) = a·f(b(x − h)) + k. Apply transformations in this order: (1) horizontal shift by h, (2) horizontal stretch/compression by factor 1/b, (3) vertical stretch/compression by factor a (and reflection if a < 0 or b < 0), (4) vertical shift by k. For the rational function g(x) = −2·(1/(x − 3)) + 1, the parent is f(x) = 1/x; there is a horizontal shift right 3, a vertical stretch by 2, a reflection across the x-axis, and a vertical shift up 1. The vertical asymptote moves to x = 3 and the horizontal asymptote moves to y = 1.
The Key Equation
- a — Vertical scale factor (dimensionless): Stretches (|a|>1) or compresses (0<|a|<1) the graph vertically; reflects across x-axis if a<0
- b — Horizontal scale factor (dimensionless): Compresses the graph horizontally by factor 1/b when |b|>1; stretches when 0<|b|<1; reflects across y-axis if b<0
- h — Horizontal shift (units): Shifts the graph right by h units when h>0 and left by |h| units when h<0
- k — Vertical shift (units): Shifts the graph up by k units when k>0 and down by |k| units when k<0
Worked Example
Problem. Starting from the parent function f(x) = x³, describe all transformations and sketch key features of g(x) = −2(x + 1)³ + 4.
Answer. The inflection point is at (−1, 4). The cubic is vertically stretched by 2, reflected across the x-axis, shifted left 1 unit and up 4 units. The y-intercept is (0, 2).
Origins · 1 minRené Descartes and how this was discovered
Descartes invented the Cartesian coordinate system (the x-y plane), published in his 1637 work 'La Géométrie' as an appendix to 'Discourse on the Method.' By assigning numerical coordinates to geometric points, he unified algebra and geometry for the first time — making it possible to express curves like parabolas as equations and to reason about transformations algebraically. Without his coordinate plane, the very concept of 'shifting a graph' would have no meaning. Descartes developed much of his philosophy and mathematics while lying in bed in the mornings — a habit he maintained throughout his life. He is also credited with inventing the superscript notation for exponents, such as x², that students use every day.
Related Concepts
- Parent Functions and Function Families — You must know the parent function's graph before you can apply transformations to it; transformations are always described relative to the parent.
- Reflections and Symmetry of Functions — Reflections across the x-axis (a < 0) and y-axis (b < 0) are closely related transformations that complement vertical and horizontal shifts.
- Vertical and Horizontal Asymptotes — Horizontal and vertical shifts move the asymptotes of rational functions; understanding transformations is essential for locating asymptotes of shifted rational functions.
- Graphing Polynomial Functions — Transformations are a key graphing strategy; combining them with knowledge of zeros and end behavior produces complete polynomial graphs efficiently.