Vertical scaleMultiplies output by a — stretches, compresses, or flips the curve vertically.Vertical shiftAdds k to output — slides the whole curve up or down.Horizontal scaleScales the input — squeezes, stretches, or flips horizontally (opposite of vertical scale).Horizontal shiftSubtracts h from input — slides the curve left or right.CustomAll four transformations combined.
Open the page and three panels appear. On the left is the base function picker — every family the visualizer supports (linear, quadratic, cubic, reciprocal, exponential, logarithmic, sine, cosine, absolute value, square root). In the center is the plot panel with two curves: a dashed gray line showing the untransformed base f(x), and a solid blue curve showing the transformed g(x). On the right is the info panel with a contextual explanation of whatever transformation you are currently studying.
Below the plot sit two interactive strips. The applied chip strip shows the current values of all four transformation parameters (a, k, b, h), with active (non-default) parameters highlighted in blue. Below it, a tab bar lets you isolate one transformation at a time or jump to a Custom tab where all four work simultaneously.
The page launches with quadratic as the base and all parameters at defaults — g(x) sits exactly on top of f(x). Drag any slider and the blue curve separates from the gray.
Picking a Base Function
The picker on the left lists ten base function families, with sine and cosine grouped together under "Trigonometric". Each entry shows a small glyph of the family's characteristic shape. Click to switch — the plot resets the transformed curve to match the base, and all four transformation parameters return to their defaults (a=1, b=1, h=0, k=0).
The base function controls only the *starting shape*. The four transformations work the same way for every family: a scales vertically, k shifts vertically, b scales horizontally, h shifts horizontally. What changes between families is how those transformations affect family-specific features — moving the vertex of a parabola, the asymptote of a reciprocal, the midline of a sinusoid, or the domain start of a square root.
Switching base functions resets parameters but preserves the active tab, so you can compare the same transformation across different bases without losing your place.
The Four Tabs and the Custom Tab
Five tabs sit below the plot, controlling which transformation you study:
When a single transformation has a non-default value, its tab badge shows that value in monospace. Switching tabs does not reset parameters — values you set in one tab persist when you move to another, so you can build up multiple transformations even from the single-parameter tabs.
The Reset button inside each tab resets only that tab's parameter; the Custom tab's Reset resets all four.
Manual vs Auto Mode
Each single-parameter tab (everything except Custom) has a Manual / Auto toggle at the top.
• Manual — the default. Drag the slider yourself. Every drag updates the plot, the equation, and the info panel. • Auto — the slider becomes a playback control. Three buttons appear: step backward, play/pause, and step forward. Pressing play animates the parameter back and forth across its full range, ping-ponging between min and max indefinitely. The plot updates frame by frame, so you see exactly what the transformation does as the parameter sweeps.
Auto mode is the fastest way to build intuition for a single transformation. Set a to auto and watch the parabola stretch, compress, and flip across the x-axis without your hands leaving the keyboard. Custom tab does not support Auto — combined transformations are designed for manual exploration.
Reading the Two Curves
The plot always shows two curves at once:
• Dashed gray curve — the untransformed base function f(x). Stays fixed regardless of parameter values, so you always have a reference for what the transformation is doing • Solid blue curve — the transformed function g(x)=a⋅f(b(x−h))+k. Moves, stretches, and flips as you adjust parameters
Two equation badges in the plot header label the curves: the gray base equation (e.g., f(x)=x2) and the blue transformed equation, which rewrites symbolically every time a parameter changes. When all four parameters are at their defaults, the equations are identical and the curves overlap exactly.
Crosshair, axis labels, and curve tooltips work the same as in any other visualizer in the series — mouse over the blue curve to read off g(x) at the cursor position.
The Applied Chip Strip
Just below the plot, a horizontal strip labeled "Applied" shows four chips: one each for a, k, b, and h. Each chip displays the parameter's current value in monospace.
When a parameter is at its default (a=1, b=1, h=0, k=0), its chip is grayed out — indicating that no transformation is currently being applied in that direction. When a parameter is non-default, its chip lights up blue and bolds, making the active transformations scannable at a glance.
The chip strip is especially useful in Custom mode, where multiple transformations can compound. A glance at the chips tells you exactly which transformations are active and at what magnitude, without having to read off four sliders.
The Side Info Panel
The info panel on the right reads the current tab and the current base function and assembles a contextual explanation in two parts:
• General — what this transformation does, independent of the base function. The formula, the qualitative effects of positive and negative parameter values, the conditions for stretches versus compressions, and reflections • Applied to [base] — what this specific parameter value does to *this* specific function family. The vertex of the parabola moves to (h,k), the amplitude of the sine becomes ∣a∣, the vertical asymptote of the reciprocal moves to x=h, and so on
When the parameter is at its default, the applied section reminds you that no transformation has been applied yet and prompts you to move the slider. Switch to the Custom tab and the info panel lists every non-default transformation in one place, each with its general formula and family-specific consequence.
The Four Transformations Mathematically
The transformed function is
g(x)=a⋅f(b(x−h))+k
Each parameter controls one type of transformation:
• a — vertical scale and reflection. Multiplies outputs by a. ∣a∣>1 stretches vertically; ∣a∣<1 compresses; a<0 reflects across the x-axis. • k — vertical shift. Adds k to every output. Positive k moves the curve up, negative moves it down. Shape is unchanged. • b — horizontal scale and reflection. Multiplies inputs by b. ∣b∣>1 *compresses* horizontally (counterintuitive); ∣b∣<1 stretches; b<0 reflects across the y-axis. • h — horizontal shift. Subtracts h from the input. Positive h moves the curve *right* (the minus sign in f(x−h) is the source of the inversion).
The four transformations commute in pairs (vertical with horizontal) but not across axes. The order in g(x)=a⋅f(b(x−h))+k is the canonical convention.
Why Horizontal Transformations Are "Backwards"
The most common stumbling block in function transformations is that horizontal operations behave opposite to what intuition suggests:
• Replacing x with x−h moves the graph right by h, not left • Replacing x with bx where b>1compresses the graph horizontally, not stretches it
The reason is that the substitution acts on the *input* axis, not the output. If you want g to take value f(0) at x=h (i.e. move that feature right to h), you need g(h)=f(0), which means the input to f must equal 0 when x=h — hence f(x−h). Similarly, if b doubles, you reach the same input value of f in half the distance, so the curve compresses.
The visualizer makes this concrete: drag h to +3 and watch the curve slide right by three units, in spite of the minus sign in the formula. Setting b to auto and watching it sweep through the same effect is the quickest cure for the confusion.
The Vertical Scale
The parameter a multiplies every output: g(x)=a⋅f(x), stretching the curve away from the x-axis or squashing it toward it.
a = 2, frozen
Every height doubled: same vertex, same roots, twice the climb. The gray original shows what the blue curve left behind.
The frozen a=2 doubles every height of the parabola: same vertex, same axis crossings, twice the climb. Values between 0 and 1 flatten instead; negative values add a flip across the x-axis on top of the scaling.
Two things never move under a: the roots (heights of zero stay zero) and the x-positions of every feature. Vertical scaling is a pure output operation — the curve's horizontal anatomy is untouchable.
The animation mode makes the special values legible: watch the curve pass through the flatline at a=0 and emerge inverted on the other side.
The Vertical Shift
The parameter k adds a constant to every output: g(x)=f(x)+k, sliding the whole curve up or down as a rigid body.
k = 3, frozen
The whole parabola lifted rigidly by 3 — shape untouched, vertex now at (0, 3), roots gone above the axis.
The frozen k=3 lifts the parabola's vertex from the origin to (0,3) — and every other point by exactly the same amount. Nothing about the shape changes: distances, slopes, and widths all survive.
What does change is the curve's relationship to the x-axis: roots appear, merge, and vanish as the curve rises past it. Sliding k on the parabola is watching the discriminant change sign in real time.
Together with the horizontal shift, this pair forms the rigid motions; the two scales are the shape-changers.
The Horizontal Scale
The parameter b multiplies the input before the function sees it: g(x)=f(bx) — and the effect runs opposite to intuition.
b = 2, frozen
Input doubled means the curve narrows: each height reached at half the distance — the famous backwards behavior.
The frozen b=2 makes the parabola narrower, not wider: with the input doubled, the curve reaches each height at half the distance. Compression by b, not expansion — the "backwards" behavior examined in Why Horizontal Transformations Are "Backwards".
Fractional b stretches; negative b adds a y-axis flip. Heights are untouched — this is the exact mirror of the vertical scale, acting on the other axis.
On the parabola, f(2x)=4x2 happens to equal a vertical scaling by 4 — a coincidence of the quadratic worth testing against sine, where no such disguise exists.
The Horizontal Shift
The parameter h shifts inputs: g(x)=f(x−h), sliding the curve along the x-axis — with the sign convention that trips everyone once.
h = 3, frozen
Subtracting 3 inside the parentheses slides the curve right: the vertex now lives at x = 3.
The frozen h=3 moves the vertex to x=3: *subtracting* 3 inside the parentheses moves the curve to the *right*. The rule reads backwards until you see it from the input's side — the point that used to happen at 0 now happens at 3, because 3−3=0.
Like the vertical shift, this is a rigid motion: shape perfectly preserved, position changed. Every feature — vertex, roots, extrema — translates by exactly h.
The badge convention in the tool keeps the sign honest: the chip shows h=3, and the equation card writes f(x−3), letting you watch the notation and the geometry agree.
Combining All Four Transformations
The Custom tab opens all four sliders at once, assembling the full form g(x)=a⋅f(b(x−h))+k — the template every transformed function in this course fits.
All four at once, frozen
Widened by a = 0.5, narrowed by b = 1.5, carried to (2, 1) by the shifts — the full template in one picture.
The frozen combination 0.5⋅f(1.5(x−2))+1 shows all four at work: widened by the vertical scale, narrowed by the horizontal one, and carried to a new vertex at (2,1) by the two shifts.
Order matters inside the formula but not on the sliders: the expression applies h, then b, then a, then k — input operations inside-out, output operations outside-in. The tool computes the composition correctly whatever order you drag in.
Reading a transformed formula backwards into its four moves is the skill this tab drills — and it is precisely the skill needed for tangent lines under transformation, for graph sketching, and for every "describe the transformation" exam question ever set.
Related Concepts and Tools
Functions Families Gallery — companion tool plotting twelve standard function families with parameter sliders; the natural prerequisite for this visualizer.
Functions — general theory of functions: domain, range, composition, inverses.
Graphing Functions — broader treatment of graph features (intercepts, asymptotes, end behavior) that transformations preserve or change.
Parent Functions — the canonical untransformed members of each family used as the starting point here.
Composition of Functions — how function composition relates to and generalizes the four affine transformations.
Inverse Functions — reflecting a graph across the line y=x, a transformation not covered here but built from the same conceptual toolkit.
Equation and Inequality Visualizers — companion tools for solving f(x)=n and f(x)>0 across all the same function families.