# Nakafa Learning Content

> For AI agents: use [llms.txt](https://nakafa.com/llms.txt) for the site index. Markdown versions are available by appending `.md` to content URLs or sending `Accept: text/markdown`.

URL: https://nakafa.com/en/subjects/mathematics/function-transformation/vertical-translation
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/material/lesson/mathematics/function-transformation/vertical-translation/en.mdx

Learn how vertical translation moves a function graph up or down while preserving its shape.

---

## Basic Concepts of Vertical Translation

Vertical translation is a geometric transformation that shifts the graph of a function up or down along the $$y$$-axis without changing the shape of the graph. Imagine lifting or lowering an object vertically: the shape stays the same, only its position changes.

Visible text: Vertical translation is a geometric transformation that shifts the graph of a function up or down along the -axis without changing the shape of the graph. Imagine lifting or lowering an object vertically: the shape stays the same, only its position changes.

If we have a function $$f(x)$$, then vertical translation produces a new function $$g(x) = f(x) + k$$ where $$k$$ is the translation constant.

Visible text: If we have a function , then vertical translation produces a new function where is the translation constant.

### Rules of Vertical Translation

For any function $$f(x)$$, vertical translation is defined as:

Visible text: For any function , vertical translation is defined as:

```math
g(x) = f(x) + k
```

Where:

- If $$k > 0$$, the graph shifts **upward** by $$k \text{ units}$$
- If $$k < 0$$, the graph shifts **downward** by $$|k| \text{ units}$$
- If $$k = 0$$, there is no translation (graph remains the same)

Visible text: - If , the graph shifts **upward** by 
- If , the graph shifts **downward** by 
- If , there is no translation (graph remains the same)

## Visualization of Vertical Translation

Let's see how vertical translation works on the linear function $$f(x) = 2x$$.

Visible text: Let's see how vertical translation works on the linear function .

Component: LineEquation
Props:
- title: Vertical Translation of Linear Function $$f(x) = 2x$$
  Visible text: Vertical Translation of Linear Function
- description: Notice how the graph shifts vertically without changing the slope of the line.
- showZAxis: false
- data: [
{
points: Array.from({ length: 21 }, (_, i) => {
const x = (i - 10) * 0.5;
return { x, y: 2 * x, z: 0 };
}),
color: getColor("PURPLE"),
labels: [{ text: "f(x) = 2x", offset: [1, 0.5, 0] }],
showPoints: false,
},
{
points: Array.from({ length: 21 }, (_, i) => {
const x = (i - 10) * 0.5;
return { x, y: 2 * x + 3, z: 0 };
}),
color: getColor("ORANGE"),
labels: [{ text: "g(x) = 2x + 3", offset: [1, 0.5, 0] }],
showPoints: false,
},
{
points: Array.from({ length: 21 }, (_, i) => {
const x = (i - 10) * 0.5;
return { x, y: 2 * x - 2, z: 0 };
}),
color: getColor("TEAL"),
labels: [{ text: "h(x) = 2x + (-2)", offset: [1, 0.5, 0] }],
showPoints: false,
},
]

From the visualization above, we can observe:

- The original function $$f(x) = 2x$$ passes through the origin
- Function $$g(x) = 2x + 3$$ is the result of translation upward by $$3 \text{ units}$$
- Function $$h(x) = 2x + (-2)$$ is the result of translation downward by $$2 \text{ units}$$

Visible text: - The original function passes through the origin
- Function is the result of translation upward by 
- Function is the result of translation downward by

## Vertical Translation on Quadratic Functions

Now let's apply the same concept to the quadratic function $$f(x) = x^2$$.

Visible text: Now let's apply the same concept to the quadratic function .

Component: LineEquation
Props:
- title: Vertical Translation of Quadratic Function $$f(x) = x^2$$
  Visible text: Vertical Translation of Quadratic Function
- description: The parabola shape remains the same, only its vertical position changes.
- showZAxis: false
- data: [
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: x * x, z: 0 };
}),
color: getColor("VIOLET"),
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: x * x + 4, z: 0 };
}),
color: getColor("AMBER"),
labels: [{ text: "g(x) = x² + 4", offset: [1, 1, 0] }],
showPoints: false,
},
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: x * x - 3, z: 0 };
}),
color: getColor("CYAN"),
labels: [{ text: "h(x) = x² + (-3)", offset: [1, 1, 0] }],
showPoints: false,
},
]

Notice that:

- The vertex of the original parabola $$f(x) = x^2$$ is at $$(0, 0)$$
- After vertical translation $$+4$$, the vertex of $$g(x) = x^2 + 4$$ is at $$(0, 4)$$
- After vertical translation $$+(-3)$$, the vertex of $$h(x) = x^2 + (-3)$$ is at $$(0, -3)$$

Visible text: - The vertex of the original parabola is at 
- After vertical translation , the vertex of is at 
- After vertical translation , the vertex of is at

## Important Properties of Vertical Translation

### Graph Shape Remains Unchanged

Vertical translation preserves the original shape of the graph. The distance between points on the graph remains the same, only the vertical position changes.

### Effect on Coordinate Points

If point $$(a, b)$$ is on the graph of $$f(x)$$, then after vertical translation by $$k$$, that point becomes $$(a, b + k)$$ on the graph of $$f(x) + k$$.

Visible text: If point is on the graph of , then after vertical translation by , that point becomes on the graph of .

### Domain and Range

- **Domain**: Does not change after vertical translation
- **Range**: Shifts by $$k \text{ units}$$

Visible text: - **Domain**: Does not change after vertical translation
- **Range**: Shifts by

If the range of the original function is $$[c, d]$$, then the range after vertical translation $$k$$ becomes $$[c + k, d + k]$$.

Visible text: If the range of the original function is , then the range after vertical translation becomes .

## Application Examples

### Exponential Function Example

Let's look at vertical translation on the exponential function $$f(x) = 2^x$$.

Visible text: Let's look at vertical translation on the exponential function .

Component: LineEquation
Props:
- title: Vertical Translation of Exponential Function $$f(x) = 2^x$$
  Visible text: Vertical Translation of Exponential Function
- description: The exponential curve maintains its characteristics after vertical translation.
- showZAxis: false
- data: [
{
points: Array.from({ length: 31 }, (_, i) => {
const x = (i - 15) * 0.2;
return { x, y: Math.pow(2, x), z: 0 };
}),
color: getColor("INDIGO"),
labels: [{ text: "f(x) = 2^x", offset: [0.5, 1, 0] }],
showPoints: false,
},
{
points: Array.from({ length: 31 }, (_, i) => {
const x = (i - 15) * 0.2;
return { x, y: Math.pow(2, x) + 2, z: 0 };
}),
color: getColor("EMERALD"),
labels: [{ text: "g(x) = 2^x + 2", offset: [0.5, 1, 0] }],
showPoints: false,
},
{
points: Array.from({ length: 31 }, (_, i) => {
const x = (i - 15) * 0.2;
return { x, y: Math.pow(2, x) - 1, z: 0 };
}),
color: getColor("ROSE"),
labels: [{ text: "h(x) = 2^x + (-1)", offset: [0.5, 1, 0] }],
showPoints: false,
},
]

For exponential functions:

- The horizontal asymptote $$y = 0$$ on $$f(x) = 2^x$$ shifts to $$y = k$$ on $$f(x) + k$$
- The $$y$$-intercept shifts from $$(0, 1)$$ to $$(0, 1 + k)$$

Visible text: - The horizontal asymptote on shifts to on 
- The -intercept shifts from to

## Exercises

1. Given the function $$f(x) = x^2 + 4x + 3$$. Determine the equation of the function resulting from vertical translation upward by $$5 \text{ units}$$.

2. If the graph of function $$g(x) = 3x + 2$$ is translated vertically downward by $$7 \text{ units}$$, determine:
   - The equation of the resulting translated function
   - The $$y$$-intercept after translation

3. Function $$h(x) = \sqrt{x}$$ undergoes vertical translation such that point $$(4, 2)$$ becomes $$(4, 5)$$. Determine the translation constant value and the equation of the resulting translated function.

Visible text: 1. Given the function . Determine the equation of the function resulting from vertical translation upward by .

2. If the graph of function is translated vertically downward by , determine:
 - The equation of the resulting translated function
 - The -intercept after translation

3. Function undergoes vertical translation such that point becomes . Determine the translation constant value and the equation of the resulting translated function.

### Answer Key

1. Vertical translation upward by $$5 \text{ units}$$: <InlineMath math="f'(x) = f(x) + 5 = x^2 + 4x + 3 + 5 = x^2 + 4x + 8" />

   <LineEquation
     title={<>Function $$f(x) = x^2 + 4x + 3$$ and Its Translation Result</>}
     description={
       <>
         Original quadratic function and the result of vertical translation
         upward by $$5 \text{ units}$$.
       </>
     }
     showZAxis={false}
     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", at: 10, offset: [0, 1.5, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 41 }, (_, i) => {
           const x = (i - 20) * 0.25;
           return { x, y: x * x + 4 * x + 3 + 5, z: 0 };
         }),
         color: getColor("ORANGE"),
         labels: [{ text: "f'(x) = x² + 4x + 8", at: 10, offset: [0, -0.5, 0] }],
         showPoints: false,
       },
     ]}
   />

2. Equation of the resulting translated function:

   - Translation downward by $$7 \text{ units}$$: <InlineMath math="g'(x) = g(x) + (-7) = 3x + 2 + (-7) = 3x + (-5)" />
   - $$y$$-intercept: substitute $$x = 0$$ into <InlineMath math="g'(x) = 3(0) + (-5) = -5" />, so the intercept point is $$(0, -5)$$

   Visualization:

   <LineEquation
     title={<>Function $$g(x) = 3x + 2$$ and Its Translation Result</>}
     description={
       <>
         Original linear function and the result of vertical translation
         downward by $$7 \text{ units}$$.
       </>
     }
     showZAxis={false}
     data={[
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = (i - 10) * 0.5;
           return { x, y: 3 * x + 2, z: 0 };
         }),
         color: getColor("VIOLET"),
         labels: [{ text: "g(x) = 3x + 2", offset: [1, 0.5, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = (i - 10) * 0.5;
           return { x, y: 3 * x + 2 - 7, z: 0 };
         }),
         color: getColor("TEAL"),
         labels: [{ text: "g'(x) = 3x + (-5)", offset: [1, 0.5, 0] }],
         showPoints: false,
       },
     ]}
   />

3. Point $$(4, 2)$$ on $$h(x) = \sqrt{x}$$ becomes $$(4, 5)$$, meaning vertical translation by $$k = 5 - 2 = 3 \text{ units}$$ upward.
   Equation of the translation result: <InlineMath math="h'(x) = \sqrt{x} + 3" />

   <LineEquation
     title={<>Function $$h(x) = \sqrt{x}$$ and Its Translation Result</>}
     description={
       <>
         Original square root function and the result of vertical translation
         upward by $$3 \text{ units}$$.
       </>
     }
     showZAxis={false}
     data={[
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = i * 0.25;
           return { x, y: Math.sqrt(x), z: 0 };
         }),
         color: getColor("INDIGO"),
         labels: [{ text: "h(x) = √x", offset: [1, 1, 0] }],
         showPoints: false,
       },
       {
         points: Array.from({ length: 21 }, (_, i) => {
           const x = i * 0.25;
           return { x, y: Math.sqrt(x) + 3, z: 0 };
         }),
         color: getColor("EMERALD"),
         labels: [{ text: "h'(x) = √x + 3", offset: [1, 1, 0] }],
         showPoints: false,
       },
     ]}
   />

Visible text: 1. Vertical translation upward by : <InlineMath math="f'(x) = f(x) + 5 = x^2 + 4x + 3 + 5 = x^2 + 4x + 8" />

 <LineEquation
 title={<>Function and Its Translation Result</>}
 description={
 <>
 Original quadratic function and the result of vertical translation
 upward by .
 </>
 }
 showZAxis={false}
 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", at: 10, offset: [0, 1.5, 0] }],
 showPoints: false,
 },
 {
 points: Array.from({ length: 41 }, (_, i) => {
 const x = (i - 20) * 0.25;
 return { x, y: x * x + 4 * x + 3 + 5, z: 0 };
 }),
 color: getColor("ORANGE"),
 labels: [{ text: "f'(x) = x² + 4x + 8", at: 10, offset: [0, -0.5, 0] }],
 showPoints: false,
 },
 ]}
 />

2. Equation of the resulting translated function:

 - Translation downward by : <InlineMath math="g'(x) = g(x) + (-7) = 3x + 2 + (-7) = 3x + (-5)" />
 - -intercept: substitute into <InlineMath math="g'(x) = 3(0) + (-5) = -5" />, so the intercept point is 

 Visualization:

 <LineEquation
 title={<>Function and Its Translation Result</>}
 description={
 <>
 Original linear function and the result of vertical translation
 downward by .
 </>
 }
 showZAxis={false}
 data={[
 {
 points: Array.from({ length: 21 }, (_, i) => {
 const x = (i - 10) * 0.5;
 return { x, y: 3 * x + 2, z: 0 };
 }),
 color: getColor("VIOLET"),
 labels: [{ text: "g(x) = 3x + 2", offset: [1, 0.5, 0] }],
 showPoints: false,
 },
 {
 points: Array.from({ length: 21 }, (_, i) => {
 const x = (i - 10) * 0.5;
 return { x, y: 3 * x + 2 - 7, z: 0 };
 }),
 color: getColor("TEAL"),
 labels: [{ text: "g'(x) = 3x + (-5)", offset: [1, 0.5, 0] }],
 showPoints: false,
 },
 ]}
 />

3. Point on becomes , meaning vertical translation by upward.
 Equation of the translation result: <InlineMath math="h'(x) = \sqrt{x} + 3" />

 <LineEquation
 title={<>Function and Its Translation Result</>}
 description={
 <>
 Original square root function and the result of vertical translation
 upward by .
 </>
 }
 showZAxis={false}
 data={[
 {
 points: Array.from({ length: 21 }, (_, i) => {
 const x = i * 0.25;
 return { x, y: Math.sqrt(x), z: 0 };
 }),
 color: getColor("INDIGO"),
 labels: [{ text: "h(x) = √x", offset: [1, 1, 0] }],
 showPoints: false,
 },
 {
 points: Array.from({ length: 21 }, (_, i) => {
 const x = i * 0.25;
 return { x, y: Math.sqrt(x) + 3, z: 0 };
 }),
 color: getColor("EMERALD"),
 labels: [{ text: "h'(x) = √x + 3", offset: [1, 1, 0] }],
 showPoints: false,
 },
 ]}
 />