A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Function Transformations: Shifts, Stretches, and Reflections

College Depth 69 in the knowledge graph ☐ I know this ☆ Set as goal
6,336topics build on this
311prerequisites beneath it
See this on the map →
Function Notation ReviewDomain and Range+2 more→→Amplitude, Period, and Phase ShiftConic Sections Overview+2 more
functions transformations graphing

Core Idea

Every function y = f(x) can be transformed by modifying the input or output: vertical/horizontal shifts move the graph, vertical/horizontal stretches scale it, and reflections flip it across an axis. These transformations follow predictable algebraic patterns: y = af(b(x - h)) + k encodes all of them in a single template. This framework lets you graph any transformed function quickly by reading off the parameters.

How It's Best Learned

Build intuition by starting with a simple parent function (like f(x) = x2) and applying one transformation at a time. Use graphing technology to verify predictions. Emphasize the "inside vs. outside" distinction: changes inside the argument affect x (and act opposite to intuition), changes outside affect y (and act as expected).

Common Misconceptions

Explainer

You know from function notation that f(x) is a machine: input x, output f(x). Function transformations ask a new question: what happens to the graph if you modify the machine's input or output systematically? The answer is completely mechanical — there is one master formula y = af(b(x − h)) + k, and each parameter controls exactly one type of transformation. Once you can read this formula, you can graph any transformed function quickly by reading off the parameters without recomputing the function from scratch.

Start with the outside changes, which modify the output directly. Adding k gives y = f(x) + k, which shifts every point up by k — all y-values increase by k, so the graph lifts vertically. Multiplying the output by a gives y = af(x), which stretches vertically by factor |a| (if |a| > 1, stretching; if |a| < 1, compressing) and reflects across the x-axis if a < 0. These act intuitively: you're directly scaling or shifting the y-values and the graph responds as you'd expect.

Now the inside changes, which modify the input before it enters f, and they feel counterintuitive. Replacing x with (x − h) gives y = f(x − h), which shifts the graph *right* by h even though you're subtracting. The reason: to get the same output you used to get at x = 0, you now need x = h (so that x − h = 0). Every feature of the graph migrates right by h. If h is negative, it shifts left. Replacing x with bx gives y = f(bx), which *compresses* horizontally by factor b when |b| > 1 (events happen sooner) and *stretches* when |b| < 1 (events spread out). A reflection across the y-axis corresponds to b = −1. The mnemonic: outside changes act as you expect; inside changes act opposite to what the algebra suggests.

The full formula y = af(b(x − h)) + k combines all four in a consistent order. To graph it: identify the parent function f, apply the horizontal shift h (move right by h), apply the horizontal scale b (compress/stretch/reflect horizontally), apply the vertical scale a (stretch/compress/reflect vertically), then apply the vertical shift k. Key features transform by the same rules as individual points: a vertex at (x₀, y₀) on the parent moves to (x₀/b + h, ay₀ + k); a horizontal asymptote y = c becomes y = ac + k. This framework carries directly into trigonometry, where the same parameters become amplitude (a), frequency (b), phase shift (h), and vertical midline (k) — making function transformations an indispensable foundation for everything that follows.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Dividing Integers → Unit Rates → Proportions → Percent Concept → Converting Between Fractions, Decimals, and Percents → Operations with Rational Numbers → Two-Step Equations → Solving Multi-Step Equations → Equations with Variables on Both Sides → Literal Equations → Slope-Intercept Form → Point-Slope Form → Writing Linear Equations → Parallel and Perpendicular Line Slopes → Graphing Linear Equations → Graphing Quadratic Functions → Vertex Form of Quadratic Functions → Function Transformations: Shifts, Stretches, and Reflections

Longest path: 70 steps · 311 total prerequisite topics

Prerequisites (4)

Leads To (4)