Transformations & Images | Free ACT Math Course
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ACT Math: Transformations & Images | The School of Mathematics</title>
<meta name="description" content="Learn transformations for the ACT with this free, complete lesson: translations, reflections, rotations, dilations, and function graph transformations (shifts, reflections, stretches). Includes 21 free original practice problems with instant feedback and full step-by-step explanations.">
<style>
:root {
--blue: #4285f4;
--green: #34a853;
--red: #ea4335;
--gray-bg: #f8f9fa;
--border: #e0e0e0;
}
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: #ffffff;
color: #202124;
line-height: 1.65;
margin: 0;
padding: 0;
}
.wrap { max-width: 820px; margin: 0 auto; padding: 32px 20px 80px; }
h1 { font-size: 2rem; line-height: 1.25; margin-bottom: 10px; }
h2 {
font-size: 1.5rem;
margin-top: 48px;
padding-top: 8px;
border-top: 2px solid var(--border);
}
h3 { font-size: 1.15rem; margin-bottom: 6px; }
.intro { font-size: 1.05rem; color: #3c4043; }
.cta-group {
display: flex;
gap: 12px;
flex-wrap: wrap;
margin: 22px 0 32px;
}
.cta-btn {
flex: 1 1 220px;
text-align: center;
text-decoration: none;
font-weight: 700;
font-size: 1rem;
padding: 15px 18px;
border-radius: 10px;
}
.cta-primary { background: var(--blue); color: #fff; }
.cta-primary:hover { background: #3367d6; }
.cta-secondary { background: #fff; color: var(--blue); border: 2px solid var(--blue); }
.cta-secondary:hover { background: #eef3fd; }
nav.toc {
background: var(--gray-bg);
border: 1px solid var(--border);
border-radius: 10px;
padding: 18px 22px;
margin-bottom: 36px;
}
nav.toc h2 { margin-top: 0; border-top: none; font-size: 1.1rem; }
nav.toc ol { margin: 0; padding-left: 22px; }
nav.toc a { color: var(--blue); text-decoration: none; }
nav.toc a:hover { text-decoration: underline; }
table.ref {
width: 100%;
border-collapse: collapse;
margin: 18px 0 26px;
font-size: 0.95rem;
}
table.ref th, table.ref td {
border: 1px solid var(--border);
padding: 10px 12px;
text-align: left;
vertical-align: top;
}
table.ref th { background: var(--gray-bg); }
.example {
background: var(--gray-bg);
border-left: 4px solid var(--blue);
border-radius: 6px;
padding: 16px 20px;
margin: 18px 0;
}
.example p { margin: 6px 0; }
.step-math { font-family: "Cambria Math", Georgia, serif; }
.problem {
border: 1px solid var(--border);
border-radius: 10px;
padding: 18px 22px 20px;
margin: 18px 0;
}
.problem .prompt { font-weight: 600; margin-bottom: 12px; }
.options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 4px; }
.option-btn {
text-align: left;
padding: 10px 14px;
border: 1px solid #ccc;
border-radius: 6px;
background: #fff;
cursor: pointer;
font-size: 0.98rem;
font-family: inherit;
}
.option-btn:hover:not(:disabled) { background: #f1f3f4; }
.option-btn.correct { background: #e6f4ea; border-color: var(--green); font-weight: 600; }
.option-btn.incorrect { background: #fce8e6; border-color: var(--red); }
.option-btn:disabled { cursor: default; }
.explanation {
margin-top: 0;
padding: 0 16px;
background: var(--gray-bg);
border-left: 4px solid var(--blue);
border-radius: 4px;
max-height: 0;
opacity: 0;
overflow: hidden;
transition: max-height 0.35s ease, opacity 0.35s ease, margin-top 0.35s ease, padding 0.35s ease;
}
.explanation.show {
max-height: 600px;
opacity: 1;
margin-top: 14px;
padding: 14px 16px;
}
.explanation p { margin: 6px 0; }
.explanation .label { font-weight: 700; }
.mistake-list li { margin-bottom: 10px; }
.faq-item { margin-bottom: 18px; }
.faq-item h3 { margin-bottom: 4px; }
footer.cta-final { margin-top: 56px; }
</style>
</head>
<body>
<div class="wrap">
<h1>ACT Math: Transformations & Images</h1>
<p class="intro">
Transformations questions on the ACT come in two flavors: moving points and shapes around the coordinate plane, and shifting or stretching function graphs. This free, complete lesson covers translations, reflections, rotations, dilations, and function graph transformations. Each idea is followed by a fully worked example, and then a set of original practice problems with instant feedback, in the same four-answer-choice, calculator-allowed format as the current ACT. Everything here is free, and you can keep practicing afterward with the full ACT Math Question Bank linked below.
</p>
<div class="cta-group">
<a class="cta-btn cta-primary" href="https://theschoolofmathematics.com/quiz/act-transformations-images-quiz-1">Practice Transformations & Images Free</a>
<a class="cta-btn cta-secondary" href="https://theschoolofmathematics.com/quiz/course/ACT-Math-Qbank">Explore the Full ACT Math Qbank</a>
</div>
<nav class="toc" aria-label="Table of contents">
<h2>What's covered in this lesson</h2>
<ol>
<li><a href="#translations">Translations</a></li>
<li><a href="#reflections">Reflections</a></li>
<li><a href="#rotations">Rotations</a></li>
<li><a href="#dilations">Dilations</a></li>
<li><a href="#function-transformations">Function Graph Transformations</a></li>
<li><a href="#mistakes">Common Mistakes to Avoid</a></li>
<li><a href="#faq">Frequently Asked Questions</a></li>
</ol>
</nav>
<!-- ============ SECTION A ============ -->
<h2 id="translations">1. Translations</h2>
<p>A <strong>translation</strong> slides a point or shape to a new position without changing its size, shape, or orientation. Add the horizontal shift to every x-coordinate and the vertical shift to every y-coordinate.</p>
<div class="example">
<p><strong>Worked Example:</strong> Point A(3, −5) is translated 4 units left and 6 units up. Find the new coordinates.</p>
<p class="step-math">New x: 3 − 4 = −1 New y: −5 + 6 = 1</p>
<p>A' = (−1, 1)</p>
</div>
<div class="problem" id="pa-1">
<p class="prompt">1. Point B(2, 7) is translated 5 units right and 3 units down. Find the new coordinates.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pa-1',true)">A) (7, 4)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-1',false)">B) (−3, 10)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-1',false)">C) (7, 10)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-1',false)">D) (−3, 4)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> New x: 2 + 5 = 7. New y: 7 − 3 = 4. Result: (7, 4).</p>
</div>
</div>
<div class="problem" id="pa-2">
<p class="prompt">2. Triangle vertices A(1, 2), B(4, 2), C(4, 6) are translated 3 units left and 2 units up. Find the new coordinates of vertex C.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pa-2',true)">A) (1, 8)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-2',false)">B) (7, 4)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-2',false)">C) (1, 4)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-2',false)">D) (7, 8)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> New x: 4 − 3 = 1. New y: 6 + 2 = 8. Result: (1, 8).</p>
</div>
</div>
<div class="problem" id="pa-3">
<p class="prompt">3. A translation moves point (−2, 5) to (3, 1). What is the translation rule?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pa-3',true)">A) 5 units right, 4 units down</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-3',false)">B) 5 units left, 4 units up</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-3',false)">C) 4 units right, 5 units down</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-3',false)">D) 5 units right, 4 units up</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Change in x: 3 − (−2) = 5 (right). Change in y: 1 − 5 = −4 (down).</p>
</div>
</div>
<div class="problem" id="pa-4">
<p class="prompt">4. Point D(0, 0) is translated using the rule (x, y) → (x + 6, y − 9). What are the new coordinates?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pa-4',true)">A) (6, −9)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-4',false)">B) (−6, 9)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-4',false)">C) (9, −6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pa-4',false)">D) (6, 9)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (0 + 6, 0 − 9) = (6, −9).</p>
</div>
</div>
<!-- ============ SECTION B ============ -->
<h2 id="reflections">2. Reflections</h2>
<p>A <strong>reflection</strong> flips a point or shape across a line, like a mirror image.</p>
<table class="ref">
<tr><th>Reflection across...</th><th>Rule</th></tr>
<tr><td>The x-axis</td><td>(a, b) → (a, −b)</td></tr>
<tr><td>The y-axis</td><td>(a, b) → (−a, b)</td></tr>
<tr><td>The line y = x</td><td>(a, b) → (b, a)</td></tr>
</table>
<div class="example">
<p><strong>Worked Example:</strong> Reflect point (4, −3) across the x-axis.</p>
<p>Reflecting across the x-axis flips the sign of the y-coordinate:</p>
<p class="step-math">(4, −3) → (4, 3)</p>
</div>
<div class="problem" id="pb-1">
<p class="prompt">1. Reflect point (5, 2) across the y-axis.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pb-1',true)">A) (−5, 2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-1',false)">B) (5, −2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-1',false)">C) (−5, −2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-1',false)">D) (2, 5)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Reflecting across the y-axis flips the sign of the x-coordinate: (−5, 2).</p>
</div>
</div>
<div class="problem" id="pb-2">
<p class="prompt">2. Reflect point (−3, −7) across the x-axis.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pb-2',true)">A) (−3, 7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-2',false)">B) (3, −7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-2',false)">C) (3, 7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-2',false)">D) (−7, −3)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Reflecting across the x-axis flips the sign of the y-coordinate: (−3, 7).</p>
</div>
</div>
<div class="problem" id="pb-3">
<p class="prompt">3. Reflect point (6, −2) across the line y = x.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pb-3',true)">A) (−2, 6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-3',false)">B) (2, −6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-3',false)">C) (−6, 2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-3',false)">D) (6, 2)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Reflecting across y = x swaps the coordinates: (−2, 6).</p>
</div>
</div>
<div class="problem" id="pb-4">
<p class="prompt">4. A trapezoid has vertex D at (8, 3). If the trapezoid is reflected across the y-axis, what are the new coordinates of D?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pb-4',true)">A) (−8, 3)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-4',false)">B) (8, −3)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-4',false)">C) (−8, −3)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pb-4',false)">D) (3, 8)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Reflecting across the y-axis flips the sign of the x-coordinate: (−8, 3).</p>
</div>
</div>
<!-- ============ SECTION C ============ -->
<h2 id="rotations">3. Rotations</h2>
<p>A <strong>rotation</strong> turns a point or shape around a fixed center point, usually the origin. All ACT rotations are counterclockwise unless stated otherwise.</p>
<table class="ref">
<tr><th>Rotation about the origin</th><th>Rule</th></tr>
<tr><td>90° counterclockwise</td><td>(a, b) → (−b, a)</td></tr>
<tr><td>180°</td><td>(a, b) → (−a, −b)</td></tr>
<tr><td>270° counterclockwise (= 90° clockwise)</td><td>(a, b) → (b, −a)</td></tr>
</table>
<div class="example">
<p><strong>Worked Example:</strong> Rotate point (5, 2) 90° counterclockwise about the origin.</p>
<p class="step-math">(a, b) → (−b, a): (5, 2) → (−2, 5)</p>
</div>
<div class="problem" id="pc-1">
<p class="prompt">1. Rotate point (3, 7) 180° about the origin.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pc-1',true)">A) (−3, −7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-1',false)">B) (3, −7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-1',false)">C) (−3, 7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-1',false)">D) (7, 3)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (a, b) → (−a, −b): (3, 7) → (−3, −7).</p>
</div>
</div>
<div class="problem" id="pc-2">
<p class="prompt">2. Rotate point (4, −6) 90° counterclockwise about the origin.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pc-2',true)">A) (6, 4)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-2',false)">B) (−6, −4)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-2',false)">C) (−4, −6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-2',false)">D) (6, −4)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (a, b) → (−b, a): (4, −6) → (6, 4).</p>
</div>
</div>
<div class="problem" id="pc-3">
<p class="prompt">3. Rotate point (2, 9) 270° counterclockwise about the origin.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pc-3',true)">A) (9, −2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-3',false)">B) (−9, 2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-3',false)">C) (−2, −9)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-3',false)">D) (9, 2)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (a, b) → (b, −a): (2, 9) → (9, −2).</p>
</div>
</div>
<div class="problem" id="pc-4">
<p class="prompt">4. A point is rotated 90° counterclockwise about the origin and lands at (−7, 3). What were its original coordinates?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pc-4',true)">A) (3, 7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-4',false)">B) (7, 3)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-4',false)">C) (−3, −7)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pc-4',false)">D) (−7, −3)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Working backward from (a, b) → (−b, a) = (−7, 3): −b = −7, so b = 7, and a = 3. The original point was (3, 7).</p>
</div>
</div>
<!-- ============ SECTION D ============ -->
<h2 id="dilations">4. Dilations</h2>
<p>A <strong>dilation</strong> scales a point or shape by a scale factor, centered at a fixed point (usually the origin). Unlike translations, reflections, and rotations, a dilation changes size.</p>
<div class="example">
<p><strong>Worked Example:</strong> Dilate point (4, 6) by a scale factor of 3, centered at the origin.</p>
<p class="step-math">(4 × 3, 6 × 3) = (12, 18)</p>
</div>
<div class="problem" id="pd-1">
<p class="prompt">1. Dilate point (5, −2) by a scale factor of 4, centered at the origin.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pd-1',true)">A) (20, −8)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-1',false)">B) (9, 2)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-1',false)">C) (1.25, −0.5)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-1',false)">D) (20, 8)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (5 × 4, −2 × 4) = (20, −8).</p>
</div>
</div>
<div class="problem" id="pd-2">
<p class="prompt">2. Dilate point (12, −18) by a scale factor of <span class="step-math">1/3</span>, centered at the origin.</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pd-2',true)">A) (4, −6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-2',false)">B) (36, −54)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-2',false)">C) (4, 6)</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-2',false)">D) (−4, 6)</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> (12 × <span class="step-math">1/3</span>, −18 × <span class="step-math">1/3</span>) = (4, −6).</p>
</div>
</div>
<div class="problem" id="pd-3">
<p class="prompt">3. A triangle is dilated by a scale factor of 2, centered at the origin. How does the new perimeter compare to the original?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pd-3',true)">A) The new perimeter is twice the original</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-3',false)">B) The new perimeter is 4 times the original</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-3',false)">C) The new perimeter is the same</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-3',false)">D) The new perimeter is half the original</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Perimeter is a linear measurement, so it scales directly with the scale factor: twice the original.</p>
</div>
</div>
<div class="problem" id="pd-4">
<p class="prompt">4. A figure is dilated by a scale factor of 5, centered at the origin. How does the area of the new figure compare to the original?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pd-4',true)">A) 25 times the original</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-4',false)">B) 5 times the original</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-4',false)">C) 10 times the original</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pd-4',false)">D) The same as the original</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Area scales by the square of the scale factor: 5² = 25 times the original.</p>
</div>
</div>
<!-- ============ SECTION E ============ -->
<h2 id="function-transformations">5. Function Graph Transformations</h2>
<p>For a function g(x) built from f(x), changes inside the parentheses affect the graph horizontally (and work opposite to what they look like); changes outside affect it vertically (and work the way they look).</p>
<table class="ref">
<tr><th>Change</th><th>Effect on the graph</th></tr>
<tr><td>f(x) + k</td><td>Shifts up k units (k > 0)</td></tr>
<tr><td>f(x) − k</td><td>Shifts down k units (k > 0)</td></tr>
<tr><td>f(x − h)</td><td>Shifts right h units (h > 0)</td></tr>
<tr><td>f(x + h)</td><td>Shifts left h units (h > 0)</td></tr>
<tr><td>−f(x)</td><td>Reflects over the x-axis</td></tr>
<tr><td>f(−x)</td><td>Reflects over the y-axis</td></tr>
<tr><td>a · f(x), |a| > 1</td><td>Vertically stretches by a factor of a</td></tr>
</table>
<div class="example">
<p><strong>Worked Example:</strong> If g(x) = f(x − 4) + 2, how does the graph of g compare to f?</p>
<p>The graph of g is the graph of f shifted 4 units right and 2 units up.</p>
</div>
<div class="problem" id="pe-1">
<p class="prompt">1. If g(x) = f(x + 3) − 5, how does the graph of g compare to f?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pe-1',true)">A) Shifted 3 units left, 5 units down</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-1',false)">B) Shifted 3 units right, 5 units up</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-1',false)">C) Shifted 3 units left, 5 units up</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-1',false)">D) Shifted 3 units right, 5 units down</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> f(x + 3) shifts left 3 units; subtracting 5 shifts down 5 units.</p>
</div>
</div>
<div class="problem" id="pe-2">
<p class="prompt">2. If g(x) = −f(x), how does the graph of g compare to f?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pe-2',true)">A) Reflected over the x-axis</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-2',false)">B) Reflected over the y-axis</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-2',false)">C) Shifted down</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-2',false)">D) Shifted up</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Negating the entire output flips the graph vertically, reflecting it over the x-axis.</p>
</div>
</div>
<div class="problem" id="pe-3">
<p class="prompt">3. If g(x) = f(−x), how does the graph of g compare to f?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pe-3',true)">A) Reflected over the y-axis</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-3',false)">B) Reflected over the x-axis</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-3',false)">C) Shifted left</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-3',false)">D) Shifted right</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Negating the input flips the graph horizontally, reflecting it over the y-axis.</p>
</div>
</div>
<div class="problem" id="pe-4">
<p class="prompt">4. If g(x) = 3f(x), how does the graph of g compare to f?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pe-4',true)">A) Vertically stretched by a factor of 3</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-4',false)">B) Horizontally stretched by a factor of 3</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-4',false)">C) Shifted up 3 units</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-4',false)">D) Vertically compressed by a factor of 3</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Multiplying the entire output by 3 stretches the graph vertically, tripling every y-value.</p>
</div>
</div>
<div class="problem" id="pe-5">
<p class="prompt">5. The graph of f(x) = x² is shifted 5 units right and 3 units down. What is the equation of the new function?</p>
<div class="options">
<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'pe-5',true)">A) g(x) = (x − 5)² − 3</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-5',false)">B) g(x) = (x + 5)² − 3</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-5',false)">C) g(x) = (x − 5)² + 3</button>
<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'pe-5',false)">D) g(x) = (x − 3)² − 5</button>
</div>
<div class="explanation">
<p><span class="label">Explanation:</span> Shifting right 5 replaces x with (x − 5); shifting down 3 subtracts 3 from the whole function: (x − 5)² − 3.</p>
</div>
</div>
<!-- ============ MISTAKES ============ -->
<h2 id="mistakes">Common Mistakes to Avoid</h2>
<ul class="mistake-list">
<li><strong>Reflecting across the wrong axis.</strong> "Reflect across the x-axis" and "reflect across the y-axis" are easy to swap under time pressure, double-check which axis is named before flipping a sign.</li>
<li><strong>Mixing up the rotation direction.</strong> ACT rotations are counterclockwise unless the problem specifically says clockwise, using the wrong direction flips your final answer.</li>
<li><strong>Applying a scale factor to only one coordinate.</strong> A dilation multiplies both the x- and y-coordinate by the same scale factor, not just one of them.</li>
<li><strong>Getting the direction of a horizontal shift backward.</strong> f(x − h) shifts right, and f(x + h) shifts left, the opposite of what the sign seems to suggest, since the change happens to the input rather than the output.</li>
<li><strong>Forgetting that a dilation's scale factor affects area differently than perimeter.</strong> Perimeter (and other linear measurements) scale by the factor itself; area scales by the factor squared.</li>
</ul>
<!-- ============ FAQ ============ -->
<h2 id="faq">Frequently Asked Questions</h2>
<div class="faq-item">
<h3>What's the difference between a rigid transformation and a dilation?</h3>
<p>Translations, reflections, and rotations are rigid transformations, they preserve size and shape exactly, only changing position or orientation. A dilation is not rigid, it changes the size of the figure while preserving its overall shape.</p>
</div>
<div class="faq-item">
<h3>Can a function's graph ever be rotated?</h3>
<p>Not typically, since a rotated function would usually fail the vertical line test (multiple y-values for one x-value) and would no longer represent a function at all. Function transformations on the ACT stick to shifts, reflections, and stretches.</p>
</div>
<div class="faq-item">
<h3>Why does f(x − h) shift the graph right instead of left?</h3>
<p>The graph shifts wherever the original output now occurs. Since f(x − h) reaches the same output that f(x) reached, but h units later (at a larger x-value), the entire graph appears to move to the right.</p>
</div>
<div class="faq-item">
<h3>Where can I practice more problems like these?</h3>
<p>The <a href="https://theschoolofmathematics.com/quiz/act-transformations-images-quiz-1">Transformations & Images quizzes</a> in the ACT Math Question Bank include additional original problems on this topic, along with quizzes covering every other topic tested on the ACT Math section.</p>
</div>
<footer class="cta-final">
<div class="cta-group">
<a class="cta-btn cta-primary" href="https://theschoolofmathematics.com/quiz/act-transformations-images-quiz-1">Practice Transformations & Images Free</a>
<a class="cta-btn cta-secondary" href="https://theschoolofmathematics.com/quiz/course/ACT-Math-Qbank">Explore the Full ACT Math Qbank</a>
</div>
</footer>
</div>
<script>
function checkAnswer(btn, problemId, isCorrect) {
var problem = document.getElementById(problemId);
var buttons = problem.querySelectorAll('.option-btn');
buttons.forEach(function(b) { b.disabled = true; });
if (isCorrect) {
btn.classList.add('correct');
} else {
btn.classList.add('incorrect');
var correctBtn = problem.querySelector('.option-btn[data-correct="true"]');
if (correctBtn) { correctBtn.classList.add('correct'); }
}
var exp = problem.querySelector('.explanation');
if (exp) { exp.classList.add('show'); }
}
</script>
</body>
</html>