Hello!
In our last lesson, we learned how to move a function's graph around the coordinate plane using vertical and horizontal translations (shifts). We saw that y = f(x) + c moves the graph up or down, and y = f(x + c) moves it left or right. These transformations change the position of the graph but not its fundamental shape.
Today, we'll complete our toolkit of transformations. This lesson covers the learning outcome: Perform transformations of functions, including vertical and horizontal stretches/compressions and reflections. These transformations will allow us to change the shape and orientation of a graph, making it taller, shorter, wider, narrower, or flipping it over an axis.
By the end of this lesson, you'll be able to look at an equation like y = -3(x-1)² and understand it as a series of transformations applied to the basic parent function y = x².
1. Vertical Stretches and Compressions (Shrinks)
A vertical stretch or compression changes the graph's height. Imagine pulling the graph up from the top and down from the bottom, or squashing it vertically.
The rule is: y = a * f(x)
This transformation affects the y-coordinates of every point on the graph. A point (x, y) on the original graph moves to the point (x, ay) on the new graph.
- If
|a| > 1, the graph is stretched vertically by a factor ofa. - If
0 < |a| < 1, the graph is compressed vertically (or shrunk) by a factor ofa.
The x-axis acts as the "anchor" for this transformation; any points on the x-axis (where y=0) will stay where they are, since a * 0 = 0.
The following video provides an excellent explanation using British terminology, which you may find more familiar. It clearly explains how to describe this transformation formally.
A Level Math P1 - Functions - Transformation of Functions - Stretch
The video 'A Level Math P1 - Functions - Transformation of Functions - Stretch' by Mathlete by Saad explains vertical stretches clearly. It uses the sine function as an example, which makes the stretch very easy to see.
Watch from 05:23 to 12:53. Pay close attention to the formal description: 'a stretch parallel to the y-axis with stretch factor k'. Notice how the y-coordinates of the key points change, while the x-coordinates do not.
2. Horizontal Stretches and Compressions (Shrinks)
Just as we can stretch a graph vertically, we can also stretch or compress it horizontally. This makes the graph wider or narrower.
The rule is: y = f(bx)
Like horizontal translations, this transformation can be counter-intuitive. The change happens inside the function, affecting the x-input.
- If
|b| > 1, the graph is compressed horizontally by a factor of1/b. (It gets narrower). - If
0 < |b| < 1, the graph is stretched horizontally by a factor of1/b. (It gets wider).
A point (x, y) on the original graph moves to the point (x/b, y) on the new graph. The y-axis is the anchor for this transformation; points on the y-axis (where x=0) are unaffected.

Let's return to the same video to see how this works.
A Level Math P1 - Functions - Transformation of Functions - Stretch
We'll continue with the video from Mathlete by Saad to understand horizontal stretches. The presenter does a great job of explaining the inverse relationship between the coefficient 'b' and the stretch factor.
Watch from 12:53 to 20:23. Notice that for y = sin(2x), the graph is compressed horizontally by a factor of 1/2. The formal description is 'a stretch parallel to the x-axis with stretch factor 1/k'.
Test your understanding!
The function y = f(x) is transformed to y = f(3x). Describe the transformation. Is it a stretch or a compression, and by what factor?
Show answer
This is a horizontal compression. Since b=3, which is greater than 1, the graph is compressed horizontally by a factor of 1/3. Every x-coordinate on the original graph is divided by 3.
3. Reflections
Reflections "flip" a graph across an axis. They are special cases of stretches where the factor is -1.
Reflection in the x-axis
This flips the graph vertically.
The rule is: y = -f(x)
This is a vertical transformation. A point (x, y) becomes (x, -y).
Reflection in the y-axis
This flips the graph horizontally.
The rule is: y = f(-x)
This is a horizontal transformation. A point (x, y) becomes (-x, y).
The following resource provides a very concise summary of the rules for stretches and reflections.
Let's read a concise summary of the rules for stretches and reflections from the 'Transformation of graphs' guide by Maths Panda. This will reinforce what we've seen in the videos.
Please read page 2 and page 3 of this PDF. Start at the heading 'Stretches' on page 2 and read through to the end of the 'Reflections' section on page 3. It gives clear rules and examples for both types of transformations.
Summary of Transformations
We have now covered all the fundamental transformations: translations, stretches/compressions, and reflections. It's helpful to have all the rules in one place.
The final page of the Transformation of graphs PDF provides a perfect summary table. I highly recommend studying it and perhaps keeping it handy as a reference.
The summary table in the 'Transformation of graphs' PDF brings everything we've learned in the last two lessons together.
Study the 'Summary' table on page 4. It neatly lists each transformation, its effect on the function's equation (y=f(x)), and the corresponding change to a point's coordinates.
Here's a quick summary in our own words:
Let's start with a point (x, y) on the graph of y = f(x).
The transformed graph is y = a * f(b(x - h)) + k.
a: Vertical stretch/compression and reflection in x-axis.b: Horizontal stretch/compression and reflection in y-axis.h: Horizontal translation.k: Vertical translation.
The original point (x, y) moves to a new point (x', y') where:
Important Note: The order of transformations can matter, especially when combining stretches and translations. A standard, reliable order is:
- Stretches and reflections (horizontal and vertical).
- Translations (horizontal and vertical).
Conclusion
You now have a complete set of tools to transform any function graph. By understanding how the components of an equation shift, stretch, and reflect a parent function, you can predict the appearance of complex graphs without having to plot many points.
Key Takeaways:
- Vertical Stretch/Compression:
y = a * f(x). Multiplies all y-coordinates bya. Stretches if|a| > 1, compresses if0 < |a| < 1. - Horizontal Stretch/Compression:
y = f(bx). Divides all x-coordinates byb. Compresses if|b| > 1, stretches if0 < |b| < 1. - Reflection in x-axis:
y = -f(x). A special case of vertical stretch wherea = -1. - Reflection in y-axis:
y = f(-x). A special case of horizontal stretch whereb = -1.
Preview of the Next Lesson:
We will put these skills into practice immediately. In the next lesson, we will focus on graphing quadratic functions by identifying the vertex, axis of symmetry, and intercepts. We will see that any quadratic function can be seen as a transformation of the basic parent function y = x², which makes graphing it much easier.