# Nakafa Framework: LLM URL: https://nakafa.com/en/subject/high-school/12/mathematics/function-transformation/rotation Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/high-school/12/mathematics/function-transformation/rotation/en.mdx Output docs content for large language models. --- export const metadata = { title: "Rotation", description: "Master function rotation around fixed points with step-by-step examples. Learn rotation formulas, angles, and transformations for various function types.", 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"; ## Understanding Function Rotation Rotation is a geometric transformation that rotates an object around a specific center point with a determined rotation angle. In the context of functions, rotation changes the position of the function graph by rotating every point on the graph. Imagine rotating a wheel. Every point on the wheel will move following a circle with the rotation center as its center. Similarly with function graphs, every point will rotate following the same pattern. ## Rotation Formula Around Center Point For rotation around center point with angle , the transformation formula is:
Where: - is the original point coordinate - is the rotated point coordinate - is the rotation center point - is the rotation angle (positive for counterclockwise direction) ## Special Rotation Around Origin When rotation is performed around the origin , the formula becomes simpler: 1. 90 Degree Rotation 2. 180 Degree Rotation 3. 270 Degree Rotation ## Visualization of Quadratic Function Rotation Let's see how rotation affects the quadratic function : Rotation of Function Around Origin} description="Comparison of original function with 90° counterclockwise rotation result." data={[ { points: Array.from({ length: 21 }, (_, i) => { const x = (i - 10) * 0.5; const y = x * x * 0.25; return { x, y, z: 0 }; }), color: getColor("PURPLE"), showPoints: false, labels: [ { text: "y = x²", at: 15, offset: [0.5, 0.5, 0], }, ], }, { points: Array.from({ length: 21 }, (_, i) => { const x = (i - 10) * 0.5; const y = x * x * 0.25; // 90° rotation around origin: (x,y) → (-y,x) const xRotated = -y; const yRotated = x; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("ORANGE"), showPoints: false, labels: [ { text: "90° Rotation Result", at: 5, offset: [-1, 0.5, 0], }, ], }, ]} /> ## Properties of Function Rotation Rotation has several important properties: - **Preserves Shape**: Rotation does not change the basic shape of the graph, only changes its orientation - **Preserves Distance**: The distance between two points on the graph remains the same after rotation - **Rotation Composition**: Consecutive rotations can be combined by adding their angles ## Application of Rotation to Various Functions ### Linear Function Rotation For linear function , rotation will change the slope and position of the line. Rotation of Linear Function } description="45° rotation around origin." data={[ { points: Array.from({ length: 11 }, (_, i) => { const x = (i - 5); const y = 2 * x + 1; return { x, y, z: 0 }; }), color: getColor("TEAL"), showPoints: false, labels: [ { text: "y = 2x + 1", at: 6, offset: [1, 0.5, 0], }, ], }, { points: Array.from({ length: 11 }, (_, i) => { const x = (i - 5); const y = 2 * x + 1; // 45° rotation around origin const cos45 = Math.cos(Math.PI / 4); const sin45 = Math.sin(Math.PI / 4); const xRotated = x * cos45 - y * sin45; const yRotated = x * sin45 + y * cos45; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("VIOLET"), showPoints: false, labels: [ { text: "45° Rotation", at: 6, offset: [-0.5, 0.5, 0], }, ], }, ]} /> ### Exponential Function Rotation Rotation can also be applied to exponential functions with interesting results. Rotation of Function } description="90° counterclockwise rotation." cameraPosition={[8, 6, 8]} data={[ { points: Array.from({ length: 15 }, (_, i) => { const x = (i - 7) * 0.5; const y = Math.pow(2, x * 0.5); return { x, y, z: 0 }; }), color: getColor("EMERALD"), showPoints: false, labels: [ { text: "y = 2^x", at: 12, offset: [0.5, 0.5, 0], }, ], }, { points: Array.from({ length: 15 }, (_, i) => { const x = (i - 7) * 0.5; const y = Math.pow(2, x * 0.5); // 90° rotation around origin: (x,y) → (-y,x) const xRotated = -y; const yRotated = x; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("AMBER"), showPoints: false, labels: [ { text: "90° Rotation", at: 3, offset: [-0.5, 0.5, 0], }, ], }, ]} /> ## Steps to Determine Rotation Results To determine the rotation result of a function, follow these steps: - Determine the rotation center point and desired rotation angle - Select several points on the original function graph as samples - Apply the rotation formula to each sample point - Connect the rotation result points to form a new function graph - Verify the result by checking several additional points ## Exercises 1. Determine the rotation result of point around the origin with a 90° counterclockwise angle. 2. Function is rotated 180° around the origin. Determine the coordinates of the rotation result vertex if the original vertex is at . 3. Line is rotated 270° around the origin. Determine the equation of the rotation result line. 4. Point is rotated 60° around point . Determine the rotation result coordinates. 5. Function for is rotated 90° counterclockwise around the origin. Explain the shape of the rotation result graph. ### Answer Key 1. Using the 90° rotation formula:
So the rotation result is . 2. Original vertex rotated 180°:
The coordinates of the rotation result vertex are . Rotation of Function } description="180° rotation around origin." cameraPosition={[10, 6, 10]} data={[ { points: Array.from({ length: 21 }, (_, i) => { const x = (i - 10) * 0.3; const y = x * x - 2 * x + 1; return { x, y, z: 0 }; }), color: getColor("TEAL"), showPoints: false, labels: [ { text: "f(x) = x² - 2x + 1", at: 18, offset: [1, 0.5, 0], }, ], }, { points: Array.from({ length: 21 }, (_, i) => { const x = (i - 10) * 0.3; const y = x * x - 2 * x + 1; // 180° rotation: (x,y) → (-x,-y) const xRotated = -x; const yRotated = -y; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("VIOLET"), showPoints: false, labels: [ { text: "180° Rotation Result", at: 8, offset: [-0.5, -0.5, 0], }, ], }, ]} /> 3. Take two points on the line and rotate 270°:
So the equation of the rotation result line is . Rotation of Line } description="270° rotation around origin." cameraPosition={[8, 6, 8]} data={[ { points: Array.from({ length: 11 }, (_, i) => { const x = (i - 5) * 0.8; const y = 3 * x - 2; return { x, y, z: 0 }; }), color: getColor("EMERALD"), showPoints: false, labels: [ { text: "y = 3x - 2", at: 6, offset: [2, 0.5, 0], }, ], }, { points: Array.from({ length: 11 }, (_, i) => { const x = (i - 5) * 0.8; const y = 3 * x - 2; // 270° rotation: (x,y) → (y,-x) const xRotated = y; const yRotated = -x; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("AMBER"), showPoints: false, labels: [ { text: "y = -⅓x - ⅔", at: 5, offset: [-0.5, 1.5, 0], }, ], }, ]} /> 4. Using the rotation formula around a point with 60° angle:
Rotation result coordinates: 5. Function rotated 90° becomes:
The rotation result graph forms a parabola that opens upward with domain and range . This is a reflection of parabola across the y-axis. Rotation of Function } description="90° counterclockwise rotation around origin." cameraPosition={[8, 6, 8]} data={[ { points: Array.from({ length: 21 }, (_, i) => { const x = i * 0.25; const y = Math.sqrt(x); return { x, y, z: 0 }; }), color: getColor("LIME"), showPoints: false, labels: [ { text: "y = √x", at: 15, offset: [0.5, 0.3, 0], }, ], }, { points: Array.from({ length: 21 }, (_, i) => { const x = i * 0.25; const y = Math.sqrt(x); // 90° rotation: (x,y) → (-y,x) const xRotated = -y; const yRotated = x; return { x: xRotated, y: yRotated, z: 0 }; }), color: getColor("ROSE"), showPoints: false, labels: [ { text: "y = x² (x ≤ 0)", at: 15, offset: [-0.8, 0.3, 0], }, ], }, ]} />