Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Transformations






Reshaping Functions

Every function family has a simplest member — a parent function that captures the essential shape. The parabola y=x2y = x^2. The absolute value y=xy = |x|. The square root y=xy = \sqrt{x}. From each parent, an infinite variety of related functions emerges through transformations: shifts that move the graph, stretches that change its scale, reflections that flip its orientation.

Transformations connect algebra to geometry. A change in the equation produces a predictable change in the graph. Knowing how each transformation works allows sketching complex functions quickly and writing equations from visual information.

Key Terms

The Four Operations

Foundation



See All Function Definitions


Parent Functions

A parent function is the simplest function representing a family. It captures the essential shape without any shifts, stretches, or reflections.

Common parent functions include:

Linear: f(x)=xf(x) = x — a straight line through the origin with slope 11.

Quadratic: f(x)=x2f(x) = x^2 — a parabola with vertex at the origin, opening upward.

Cubic: f(x)=x3f(x) = x^3 — an S-curve passing through the origin with point symmetry.

Absolute value: f(x)=xf(x) = |x| — a V-shape with vertex at the origin.

Square root: f(x)=xf(x) = \sqrt{x} — a half-curve starting at the origin, rising and flattening.

Reciprocal: f(x)=1/xf(x) = 1/x — a hyperbola with branches in opposite quadrants.

Exponential: f(x)=exf(x) = e^x or f(x)=2xf(x) = 2^x — a curve rising rapidly to the right, approaching zero to the left.

Each parent has characteristic domain, range, symmetry, and shape. Transformations modify these features systematically. Knowing the parent means knowing what to expect from its transformed offspring. The table below collects all seven parents in one place with formula, domain, range, and the geometric feature that identifies each.
Parent Formula Domain Range Identifying feature
Linear f(x) = x straight line through the origin, slope 1
Quadratic f(x) = x² [0, ∞) parabola with vertex at the origin, opens upward
Cubic f(x) = x³ S-curve through the origin with point symmetry
Absolute value f(x) = |x| [0, ∞) V-shape with vertex at the origin
Square root f(x) = √x [0, ∞) [0, ∞) half-curve rising from the origin, flattening
Reciprocal f(x) = 1⁄x x ≠ 0 y ≠ 0 hyperbola with asymptotes at the axes
Exponential f(x) = eˣ (or 2ˣ) (0, ∞) rises rapidly to the right, asymptote y = 0

Transformations Overview

Transformations alter a function's graph in predictable ways. Four basic types cover most modifications:

Translation shifts the graph horizontally or vertically without changing its shape or orientation.

Reflection flips the graph across an axis, reversing its orientation.

Stretch pulls the graph away from an axis, making it taller or wider.

Compression pushes the graph toward an axis, making it shorter or narrower.

These transformations arise from modifying the function's equation. Changes outside the function — operations applied to f(x)f(x) — produce vertical effects. Changes inside the function — operations applied to xx — produce horizontal effects.

The general transformed function takes the form:

g(x)=af(b(xh))+kg(x) = a \cdot f(b(x - h)) + k


Here aa controls vertical stretch and reflection, bb controls horizontal stretch and reflection, hh controls horizontal shift, and kk controls vertical shift. Understanding each parameter's effect enables both graphing from equations and writing equations from graphs.

Vertical Translations

A vertical translation shifts the graph up or down. Every point moves the same vertical distance; the shape remains unchanged.

The transformation g(x)=f(x)+kg(x) = f(x) + k shifts the graph of ff vertically:

When k>0k > 0, the graph shifts up by kk units.

When k<0k < 0, the graph shifts down by k|k| units.

For f(x)=x2f(x) = x^2, the function g(x)=x2+3g(x) = x^2 + 3 shifts the parabola up 33 units. The vertex moves from (0,0)(0, 0) to (0,3)(0, 3).

For f(x)=xf(x) = \sqrt{x}, the function g(x)=x2g(x) = \sqrt{x} - 2 shifts the curve down 22 units. The starting point moves from (0,0)(0, 0) to (0,2)(0, -2).

Vertical translation affects the range directly. If ff has range [0,)[0, \infty), then f(x)+kf(x) + k has range [k,)[k, \infty). The domain is unchanged — shifting up or down does not affect which inputs are valid.

The yy-intercept shifts by kk: if f(0)=cf(0) = c, then g(0)=c+kg(0) = c + k. The xx-intercepts shift to new locations determined by solving f(x)+k=0f(x) + k = 0.

Horizontal Translations

A horizontal translation shifts the graph left or right. Every point moves the same horizontal distance; the shape remains unchanged.

The transformation g(x)=f(xh)g(x) = f(x - h) shifts the graph of ff horizontally:

When h>0h > 0, the graph shifts right by hh units.

When h<0h < 0, the graph shifts left by h|h| units.

The direction is counterintuitive. Subtracting hh inside the function moves the graph in the positive direction. This happens because f(xh)=f(x)f(x - h) = f(x) requires xx to be hh units larger to produce the same output.

For f(x)=x2f(x) = x^2, the function g(x)=(x3)2g(x) = (x - 3)^2 shifts the parabola right 33 units. The vertex moves from (0,0)(0, 0) to (3,0)(3, 0).

For f(x)=xf(x) = |x|, the function g(x)=x+2g(x) = |x + 2| shifts the V-shape left 22 units (since x+2=x(2)x + 2 = x - (-2), so h=2h = -2). The vertex moves from (0,0)(0, 0) to (2,0)(-2, 0).

Horizontal translation affects the domain directly. If ff has domain [0,)[0, \infty), then f(xh)f(x - h) has domain [h,)[h, \infty). The range is unchanged.

Vertical Reflections

A vertical reflection flips the graph across the xx-axis. Points above the axis move below; points below move above.

The transformation g(x)=f(x)g(x) = -f(x) reflects the graph of ff vertically. Each output is negated: where ff produced yy, the reflected function produces y-y.

For f(x)=x2f(x) = x^2, the function g(x)=x2g(x) = -x^2 reflects the parabola across the xx-axis. The original opens upward with vertex at the minimum; the reflection opens downward with vertex at the maximum.

For f(x)=xf(x) = \sqrt{x}, the function g(x)=xg(x) = -\sqrt{x} reflects the half-curve below the axis. The original has range [0,)[0, \infty); the reflection has range (,0](-\infty, 0].

Vertical reflection transforms the range. If ff has range [a,b][a, b], then f-f has range [b,a][-b, -a]. The domain is unchanged.

Peaks become valleys and valleys become peaks. An increasing function becomes decreasing, and vice versa. The xx-intercepts stay fixed — if f(c)=0f(c) = 0, then f(c)=0-f(c) = 0 as well.

Horizontal Reflections

A horizontal reflection flips the graph across the yy-axis. Points on the right move to the left; points on the left move to the right.

The transformation g(x)=f(x)g(x) = f(-x) reflects the graph of ff horizontally. Each input is negated before the function acts: the output at xx equals the original output at x-x.

For f(x)=xf(x) = \sqrt{x}, the function g(x)=xg(x) = \sqrt{-x} reflects the half-curve across the yy-axis. The original exists for x0x \geq 0; the reflection exists for x0x \leq 0.

For f(x)=exf(x) = e^x, the function g(x)=exg(x) = e^{-x} reflects the exponential curve. The original rises to the right and decays to the left; the reflection rises to the left and decays to the right.

Horizontal reflection transforms the domain. If ff has domain [a,b][a, b], then f(x)f(-x) has domain [b,a][-b, -a]. The range is unchanged.

The yy-intercept stays fixed — f(0)=f(0)f(0) = f(-0). The xx-intercepts reflect: if f(c)=0f(c) = 0, then f(x)=0f(-x) = 0 at x=cx = -c.

Vertical Stretch and Compression

A vertical stretch or compression changes the height of the graph. The xx-coordinates stay fixed while yy-coordinates scale.

The transformation g(x)=af(x)g(x) = a \cdot f(x) scales the graph vertically:

When a>1|a| > 1, the graph stretches vertically — it becomes taller.

When 0<a<10 < |a| < 1, the graph compresses vertically, becoming shorter.

When a<0a < 0, a reflection across the xx-axis also occurs.

For f(x)=x2f(x) = x^2, the function g(x)=3x2g(x) = 3x^2 stretches the parabola vertically by a factor of 33. Points move three times as far from the xx-axis. The parabola appears narrower.

For f(x)=sin(x)f(x) = \sin(x), the function g(x)=12sin(x)g(x) = \frac{1}{2}\sin(x) compresses the wave vertically. The amplitude decreases from 11 to 12\frac{1}{2}.

Vertical scaling affects the range. If ff has range [m,M][m, M], then afa \cdot f has range [am,aM][am, aM] when a>0a > 0, or [aM,am][aM, am] when a<0a < 0.

The xx-intercepts remain fixed — scaling zero still yields zero. The yy-intercept scales: if f(0)=cf(0) = c, then g(0)=acg(0) = ac.

Horizontal Stretch and Compression

A horizontal stretch or compression changes the width of the graph. The yy-coordinates stay fixed while xx-coordinates scale.

The transformation g(x)=f(bx)g(x) = f(bx) scales the graph horizontally:

When b>1|b| > 1, the graph compresses horizontally — it becomes narrower.

When 0<b<10 < |b| < 1, the graph stretches horizontally, becoming wider.

When b<0b < 0, a reflection across the yy-axis also occurs.

The effect is counterintuitive: multiplying xx by a number greater than 11 makes the graph narrower, not wider. This happens because larger bb means reaching the same output values at smaller xx values.

For f(x)=x2f(x) = x^2, the function g(x)=(2x)2=4x2g(x) = (2x)^2 = 4x^2 compresses the parabola horizontally by a factor of 22. Points at x=1x = 1 and x=1x = -1 now achieve the heights that ff achieved at x=2x = 2 and x=2x = -2.

For f(x)=sin(x)f(x) = \sin(x), the function g(x)=sin(2x)g(x) = \sin(2x) compresses the wave horizontally. The period changes from 2π2\pi to π\pi — the wave completes twice as fast.

Horizontal scaling affects the domain. If ff has domain [a,b][a, b], then f(bx)f(bx) has domain [a/b,b/b]=[a/b,1][a/b, b/b] = [a/b, 1] when b>0b > 0.

Across the six basic transformations covered in obj3–obj8, a single pattern emerges: operations applied *inside* ff act on the horizontal direction, while operations applied *outside* ff act on the vertical direction. The table below pairs the inside form with the outside form for each of the three operation types — addition, negation, and scaling.
Operation on the formula Inside f — horizontal effect Outside f — vertical effect
Add a constant f(x − h): shifts horizontally by h (sign reversed — counterintuitive) f(x) + k: shifts vertically by k (sign preserved)
Negate f(−x): reflection across the y-axis −f(x): reflection across the x-axis
Multiply by a constant f(bx): scales x-values by 1⁄b — reciprocal effect (|b| > 1 compresses, 0 < |b| < 1 stretches) a · f(x): scales y-values by a — direct effect (|a| > 1 stretches, 0 < |a| < 1 compresses)

Combining Transformations

Multiple transformations can act together. The general form

g(x)=af(b(xh))+kg(x) = a \cdot f(b(x - h)) + k


combines all four types:

hh: horizontal shift (right if positive, left if negative)

kk: vertical shift (up if positive, down if negative)

aa: vertical stretch (a>1|a| > 1), compression (0<a<10 < |a| < 1), and reflection (a<0a < 0)

bb: horizontal compression (b>1|b| > 1), stretch (0<b<10 < |b| < 1), and reflection (b<0b < 0)

For example, g(x)=2(x+3)2+5g(x) = -2(x + 3)^2 + 5 transforms the parent f(x)=x2f(x) = x^2:

Shift left 33 units (since x+3=x(3)x + 3 = x - (-3), so h=3h = -3)

Stretch vertically by factor 22

Reflect across the xx-axis (negative coefficient)

Shift up 55 units

The vertex moves from (0,0)(0, 0) to (3,5)(-3, 5), and the parabola opens downward.

Order of Transformations

When applying multiple transformations, order matters. Different sequences can produce different results.

One systematic approach applies transformations inside-out:

First, apply horizontal transformations in the order they appear when reading from the variable outward: shift by hh, then scale by 1/b1/b.

Then, apply vertical transformations in the order they appear when reading outward from the function: scale by aa, then shift by kk.

For g(x)=3f(2(x1))+4g(x) = 3f(2(x - 1)) + 4:

Start with parent ff

Shift right 11 (horizontal, inside)

Compress horizontally by factor 22 (horizontal, inside)

Stretch vertically by factor 33 (vertical, outside)

Shift up 44 (vertical, outside)

An alternative approach tracks key points. Identify a reference point on the parent — say, the vertex of a parabola — and apply each transformation to that point's coordinates. The final coordinates locate the transformed point.

Both approaches yield the same result when done correctly. Choose the method that makes the most sense for the given problem.

Writing Equations from Transformed Graphs

Given a transformed graph, the goal is to identify the parent function and the transformations applied, then write the equation.

Step 1: Identify the parent function from the overall shape. Parabola suggests x2x^2; V-shape suggests x|x|; S-curve suggests x3x^3; half-curve suggests x\sqrt{x}.

Step 2: Locate key reference points on the transformed graph. For a parabola, find the vertex. For absolute value, find the vertex. For square root, find the starting point.

Step 3: Compare to the parent. The vertex of y=x2y = x^2 is at (0,0)(0, 0). If the transformed vertex is at (3,2)(3, -2), the graph has shifted right 33 and down 22.

Step 4: Determine vertical scaling and reflection. Compare the steepness or amplitude to the parent. If the graph is twice as steep, a=2|a| = 2. If it opens in the opposite direction, aa is negative.

Step 5: Write the equation. For a parabola with vertex (3,2)(3, -2) opening downward with steepness 22:

y=2(x3)22y = -2(x - 3)^2 - 2


Step 6: Verify by checking a point. Substitute another visible point into the equation and confirm equality.

Effect on Domain and Range

Each transformation type affects domain and range in predictable ways.

Vertical translations shift the range. If ff has range [a,b][a, b], then f(x)+kf(x) + k has range [a+k,b+k][a + k, b + k]. The domain is unchanged.

Horizontal translations shift the domain. If ff has domain [a,b][a, b], then f(xh)f(x - h) has domain [a+h,b+h][a + h, b + h]. The range is unchanged.

Vertical scaling multiplies the range. If ff has range [a,b][a, b], then cf(x)c \cdot f(x) has range [ca,cb][ca, cb] when c>0c > 0, or [cb,ca][cb, ca] when c<0c < 0. The domain is unchanged.

Horizontal scaling divides the domain. If ff has domain [a,b][a, b], then f(cx)f(cx) has domain [a/c,b/c][a/c, b/c] when c>0c > 0, or [b/c,a/c][b/c, a/c] when c<0c < 0. The range is unchanged.

Vertical reflection negates the range. Horizontal reflection negates the domain.

Tracking these effects ensures the transformed function is described correctly. The domain and range of g(x)=2x3+1g(x) = 2\sqrt{x - 3} + 1 follow from the parent f(x)=xf(x) = \sqrt{x} with domain [0,)[0, \infty) and range [0,)[0, \infty): shift domain to [3,)[3, \infty), then range becomes [0,)[0, \infty) scaled to [0,)[0, \infty), then shifted to [1,)[1, \infty).

The table below collects each transformation's effect on domain and range in one place — a quick reference when determining the domain and range of a transformed function.
Transformation Effect on domain Effect on range
Vertical shift + k unchanged [a, b] → [a + k, b + k]
Horizontal shift − h [a, b] → [a + h, b + h] unchanged
Vertical scale by a unchanged [m, M] → [am, aM] (or [aM, am] if a < 0)
Horizontal scale by b [a, b] → [a⁄b, b⁄b] (or reversed if b < 0) unchanged
Vertical reflection unchanged [a, b] → [−b, −a]
Horizontal reflection [a, b] → [−b, −a] unchanged

Effect on Key Features

Transformations move and modify all key features of a graph systematically.

Intercepts transform with the graph. The yy-intercept f(0)f(0) moves to af(bh)+ka \cdot f(-bh) + k. Each xx-intercept cc moves to (c/b)+h(c/b) + h — shifted and scaled horizontally.

Vertices, maxima, and minima move according to both shifts and scalings. The vertex of f(x)=x2f(x) = x^2 at (0,0)(0, 0) moves to (h,k)(h, k) in a(xh)2+ka(x - h)^2 + k. If a<0a < 0, a minimum becomes a maximum.

Asymptotes shift with translations. A horizontal asymptote at y=Ly = L becomes y=aL+ky = aL + k. A vertical asymptote at x=cx = c becomes x=(c/b)+hx = (c/b) + h.

Symmetry can be preserved or destroyed. Translating an even function horizontally off-center removes its yy-axis symmetry. Reflecting an odd function vertically preserves origin symmetry; translating it does not.

Periodicity scales with horizontal transformations. A function with period pp becomes a function with period p/bp/|b| under f(bx)f(bx). Amplitude scales with vertical transformations.

Tracking these features during transformation confirms that the algebraic and geometric descriptions match.

Summary of Transformations

The four transformation types — shifts, scalings (stretch/compression), and reflections — each appear in both horizontal and vertical form, giving six basic transformations governed by the four parameters aa, bb, hh, kk in the general form g(x)=af(b(xh))+kg(x) = a \cdot f(b(x - h)) + k. The table below collects each transformation with its form, geometric effect, and the parameter condition that distinguishes its variants — useful as a reference card when sketching transformed graphs or reading equations off of them.
Transformation Form Geometric effect Parameter condition
Vertical shift g(x) = f(x) + k shifts the graph vertically by k up if k > 0, down if k < 0
Horizontal shift g(x) = f(x − h) shifts the graph horizontally by h right if h > 0, left if h < 0
Vertical stretch / compression g(x) = a · f(x) scales y-values by factor a stretch if |a| > 1, compress if 0 < |a| < 1
Horizontal stretch / compression g(x) = f(bx) scales x-values by factor 1⁄b compress if |b| > 1, stretch if 0 < |b| < 1
Vertical reflection g(x) = −f(x) flips the graph across the x-axis occurs when a < 0
Horizontal reflection g(x) = f(−x) flips the graph across the y-axis occurs when b < 0