# Nakafa Framework: LLM

URL: /en/subject/high-school/12/mathematics/function-transformation/vertical-dilation
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/high-school/12/mathematics/function-transformation/vertical-dilation/en.mdx

Output docs content for large language models.

---

export const metadata = {
  title: "Vertical Dilation",
  description: "Master vertical dilation of functions with clear examples. Learn how to stretch or compress graphs vertically using scale factors and apply transformations.",
  authors: [{ name: "Nabil Akbarazzima Fatih" }],
  date: "05/26/2025",
  subject: "Function Transformation",
};

import { getColor } from "@repo/design-system/lib/color";
import { LineEquation } from "@repo/design-system/components/contents/line-equation";

## Basic Concepts of Vertical Dilation

Vertical dilation is a geometric transformation that changes the size of a function graph vertically, like stretching or compressing a rubber band up and down. Imagine pulling a photo with both hands, one above and one below, then stretching or compressing it vertically without changing the width of the photo.

If we have a function <InlineMath math="f(x)" />, then vertical dilation produces a new function <InlineMath math="g(x) = k \cdot f(x)" /> where <InlineMath math="k" /> is the scale factor that determines how much the vertical size changes.

### Rules of Vertical Dilation

For any function <InlineMath math="f(x)" />, vertical dilation is defined as:

<BlockMath math="g(x) = k \cdot f(x)" />

Where <InlineMath math="k" /> is the scale factor that affects the transformation:
- If <InlineMath math="k > 1" />, the graph is stretched vertically (enlarged)
- If <InlineMath math="0 < k < 1" />, the graph is compressed vertically (reduced)
- If <InlineMath math="k = 1" />, the graph does not change
- If <InlineMath math="k < 0" />, the graph undergoes reflection as well as dilation

## Visualization of Vertical Dilation

Let's see how vertical dilation works on the quadratic function <InlineMath math="f(x) = x^2" /> with various scale factors.

<LineEquation
  title={<>Vertical Dilation of Quadratic Function <InlineMath math="f(x) = x^2" /></>}
  description="Notice how the graph is stretched or compressed vertically with different scale factors."
  showZAxis={false}
  cameraPosition={[12, 8, 12]}
  data={[
    {
      points: Array.from({ length: 41 }, (_, i) => {
        const x = (i - 20) * 0.25;
        return { x, y: x * x, z: 0 };
      }),
      color: getColor("PURPLE"),
      labels: [{ text: "f(x) = x²", offset: [3.5, 1, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 41 }, (_, i) => {
        const x = (i - 20) * 0.25;
        return { x, y: 2 * x * x, z: 0 };
      }),
      color: getColor("ORANGE"),
      labels: [{ text: "g(x) = 2x²", offset: [3.5, 2, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 41 }, (_, i) => {
        const x = (i - 20) * 0.25;
        return { x, y: 0.5 * x * x, z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "h(x) = 0.5x²", offset: [3.5, 0.5, 0] }],
      showPoints: false,
    },
  ]}
/>

From the visualization above, we can observe:
- The original function <InlineMath math="f(x) = x^2" /> as reference
- Function <InlineMath math="g(x) = 2x^2" /> is vertically stretched by factor 2
- Function <InlineMath math="h(x) = 0.5x^2" /> is vertically compressed by factor 0.5
- All graphs have the same vertex at <InlineMath math="(0, 0)" />

## Vertical Dilation on Linear Functions

Now let's apply the same concept to the linear function <InlineMath math="f(x) = x + 1" />.

<LineEquation
  title={<>Vertical Dilation of Linear Function <InlineMath math="f(x) = x + 1" /></>}
  description="The dilated line has slope that changes according to the scale factor."
  showZAxis={false}
  cameraPosition={[10, 6, 10]}
  data={[
    {
      points: Array.from({ length: 21 }, (_, i) => {
        const x = (i - 10) * 0.5;
        return { x, y: x + 1, z: 0 };
      }),
      color: getColor("AMBER"),
      labels: [{ text: "f(x) = x + 1", offset: [2, 1.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 21 }, (_, i) => {
        const x = (i - 10) * 0.5;
        return { x, y: 3 * (x + 1), z: 0 };
      }),
      color: getColor("TEAL"),
      labels: [{ text: "g(x) = 3(x + 1)", offset: [1, 2, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 21 }, (_, i) => {
        const x = (i - 10) * 0.5;
        return { x, y: 0.5 * (x + 1), z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [{ text: "h(x) = 0.5(x + 1)", offset: [2, 0.5, 0] }],
      showPoints: false,
    },
  ]}
/>

Notice that:
- The original function <InlineMath math="f(x) = x + 1" /> has slope 1
- Function <InlineMath math="g(x) = 3(x + 1)" /> has slope 3 (stretched)
- Function <InlineMath math="h(x) = 0.5(x + 1)" /> has slope 0.5 (compressed)
- All lines still intersect the y-axis, but at different points

## Important Properties of Vertical Dilation

### Effect on Coordinate Points

If point <InlineMath math="(a, b)" /> is on the graph of <InlineMath math="f(x)" />, then the corresponding point on the graph of <InlineMath math="k \cdot f(x)" /> is <InlineMath math="(a, k \cdot b)" />.

### Domain and Range

- **Domain**: Does not change after vertical dilation
- **Range**: Changes according to the scale factor <InlineMath math="k" />

If the range of the original function is <InlineMath math="[c, d]" />, then the range after vertical dilation with factor <InlineMath math="k > 0" /> becomes <InlineMath math="[k \cdot c, k \cdot d]" />.

### Axis Intercepts

- **x-intercept**: Does not change (except if <InlineMath math="k = 0" />)
- **y-intercept**: Changes according to the scale factor

## Application Examples

### Exponential Function

Let's look at vertical dilation on the exponential function <InlineMath math="f(x) = 2^x" />.

<LineEquation
  title={<>Vertical Dilation of Exponential Function <InlineMath math="f(x) = 2^x" /></>}
  description="The exponential curve undergoes height changes according to the scale factor."
  showZAxis={false}
  cameraPosition={[8, 6, 8]}
  data={[
    {
      points: Array.from({ length: 31 }, (_, i) => {
        const x = (i - 15) * 0.3;
        return { x, y: Math.pow(2, x), z: 0 };
      }),
      color: getColor("INDIGO"),
      labels: [{ text: "f(x) = 2^x", offset: [2, 1, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 31 }, (_, i) => {
        const x = (i - 15) * 0.3;
        return { x, y: 2 * Math.pow(2, x), z: 0 };
      }),
      color: getColor("EMERALD"),
      labels: [{ text: "g(x) = 2 · 2^x", offset: [1, 2, 0] }],
      showPoints: false,
    },
  ]}
/>

For exponential functions:
- The horizontal asymptote remains at <InlineMath math="y = 0" /> for both functions
- The y-intercept changes from <InlineMath math="(0, 1)" /> to <InlineMath math="(0, 2)" />
- The growth rate of the function increases according to the scale factor

## Vertical Dilation with Negative Factor

Let's see what happens when the scale factor is negative.

<LineEquation
  title={<>Vertical Dilation with Negative Factor <InlineMath math="f(x) = x^2" /></>}
  description="Negative scale factor causes reflection as well as dilation."
  showZAxis={false}
  cameraPosition={[10, 6, 10]}
  data={[
    {
      points: Array.from({ length: 41 }, (_, i) => {
        const x = (i - 20) * 0.25;
        return { x, y: x * x, z: 0 };
      }),
      color: getColor("CYAN"),
      labels: [{ text: "f(x) = x²", offset: [1, 1, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 41 }, (_, i) => {
        const x = (i - 20) * 0.25;
        return { x, y: -2 * x * x, z: 0 };
      }),
      color: getColor("PINK"),
      labels: [{ text: "g(x) = -2x²", offset: [1, -2, 0] }],
      showPoints: false,
    },
  ]}
/>

When the scale factor is negative:
- The graph undergoes reflection across the x-axis
- Simultaneously undergoes dilation according to the absolute value of the scale factor
- A parabola that opens upward becomes one that opens downward

## Exercises

1. Given the function <InlineMath math="f(x) = x^2 - 4x + 3" />. Determine the equation of the function resulting from vertical dilation with scale factor 3.

2. If the graph of function <InlineMath math="g(x) = \sqrt{x}" /> undergoes vertical dilation with factor <InlineMath math="\frac{1}{2}" />, determine:
   - The equation of the resulting dilated function
   - The range of the function after dilation

3. Function <InlineMath math="h(x) = |x - 1| + 2" /> undergoes vertical dilation with factor -1. Determine the vertex of the resulting dilated function.

### Answer Key

1. Vertical dilation with factor 3: <InlineMath math="f'(x) = 3f(x) = 3(x^2 - 4x + 3) = 3x^2 - 12x + 9" />

   <LineEquation
     title={<>Function <InlineMath math="f(x) = x^2 - 4x + 3" /> and Its Dilation Result</>}
     description="The original parabola is vertically stretched by factor 3 producing a taller parabola."
     showZAxis={false}
     cameraPosition={[12, 8, 12]}
     data={[
       {
         points: Array.from({ length: 41 }, (_, i) => {
           const x = (i - 20) * 0.25;
           return { x, y: x * x - 4 * x + 3, z: 0 };
         }),
         color: getColor("PURPLE"),
         labels: [{ text: "f(x) = x² - 4x + 3", offset: [1, 1, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 41 }, (_, i) => {
           const x = (i - 20) * 0.25;
           return { x, y: 3 * (x * x - 4 * x + 3), z: 0 };
         }),
         color: getColor("ORANGE"),
         labels: [{ text: "f'(x) = 3x² - 12x + 9", offset: [1, -3, 0] }],
         showPoints: false,
       },
     ]}
   />

2. Equation of the resulting dilated function:
    
   - Vertical dilation: <InlineMath math="g'(x) = \frac{1}{2}g(x) = \frac{1}{2}\sqrt{x}" />
   - Range after dilation: <InlineMath math="[0, \infty)" /> becomes <InlineMath math="[0, \infty)" /> but with smaller maximum values

   Visualization:

   <LineEquation
     title={<>Function <InlineMath math="g(x) = \sqrt{x}" /> and Its Dilation Result</>}
     description="The square root curve is vertically compressed by factor 0.5 producing a lower curve."
     showZAxis={false}
     cameraPosition={[8, 6, 8]}
     data={[
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = i * 0.25;
           return { x, y: Math.sqrt(x), z: 0 };
         }),
         color: getColor("VIOLET"),
         labels: [{ text: "g(x) = √x", offset: [2, 1, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = i * 0.25;
           return { x, y: 0.5 * Math.sqrt(x), z: 0 };
         }),
         color: getColor("TEAL"),
         labels: [{ text: "g'(x) = 0.5√x", offset: [2, 0.5, 0] }],
         showPoints: false,
       },
     ]}
   />

3. The original function <InlineMath math="h(x) = |x - 1| + 2" /> has its vertex at <InlineMath math="(1, 2)" />.
   After vertical dilation with factor -1: <InlineMath math="h'(x) = -1 \cdot (|x - 1| + 2) = -|x - 1| - 2" />, the vertex becomes <InlineMath math="(1, -2)" />.

   <LineEquation
     title={<>Function <InlineMath math="h(x) = |x - 1| + 2" /> and Its Dilation Result</>}
     description="The absolute value function undergoes reflection and dilation with factor -1."
     showZAxis={false}
     cameraPosition={[10, 6, 10]}
     data={[
       {
         points: Array.from({ length: 41 }, (_, i) => {
           const x = (i - 20) * 0.25;
           return { x, y: Math.abs(x - 1) + 2, z: 0 };
         }),
         color: getColor("INDIGO"),
         labels: [{ text: "h(x) = |x - 1| + 2", offset: [1, -1.5, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 41 }, (_, i) => {
           const x = (i - 20) * 0.25;
           return { x, y: -(Math.abs(x - 1) + 2), z: 0 };
         }),
         color: getColor("EMERALD"),
         labels: [{ text: "h'(x) = -|x - 1| - 2", offset: [1, 1.5, 0] }],
         showPoints: false,
       },
     ]}
   />