Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Rotación de Figuras | Transformaciones geométricas
Modelización Geométrica con Python

Rotación de Figuras

Desliza para mostrar el menú

Para rotar una figura geométrica, como un polígono, alrededor de un punto (a menudo el origen), se utiliza una fórmula matemática específica. Cuando se rota un punto (x, y) alrededor del origen por un ángulo θ (medido en radianes), las nuevas coordenadas (x', y') se calculan de la siguiente manera:

  • x' = x * cos(θ) - y * sin(θ);
  • y' = x * sin(θ) + y * cos(θ).

Esta fórmula se deriva de la trigonometría y describe cómo cada punto se desplaza a lo largo de un arco circular centrado en el origen. En Python, se puede utilizar el módulo math para acceder a las funciones de seno y coseno, y el ángulo debe estar en radianes para estas funciones.

Aplica esta fórmula paso a paso. Supón que deseas rotar un triángulo con vértices en (1, 0), (0, 1) y (-1, 0) 90 grados (que es π/2 radianes) alrededor del origen. Para cada vértice, sustituye los valores de x e y en la fórmula anterior y calcula la nueva posición. Al hacer esto para todos los vértices, obtienes el triángulo rotado.

En el modelado geométrico, a menudo se trabaja con polígonos representados como listas de puntos. Para rotar un polígono completo, se aplica la fórmula de rotación a cada vértice de la lista. Este enfoque permite transformar cualquier polígono, sin importar el número de lados, simplemente iterando por sus puntos y actualizando sus posiciones.

12345678910111213141516171819202122232425
import math def rotate_polygon(points, angle_radians): """Rotate a polygon around the origin by a specified angle. Args: points: List of (x, y) tuples representing the polygon's vertices. angle_radians: The rotation angle in radians. Returns: List of (x', y') tuples representing the rotated vertices. """ cos_theta = math.cos(angle_radians) sin_theta = math.sin(angle_radians) rotated = [] for x, y in points: x_new = x * cos_theta - y * sin_theta y_new = x * sin_theta + y * cos_theta rotated.append((x_new, y_new)) return rotated # Example usage: triangle = [(1, 0), (0, 1), (-1, 0)] rotated_triangle = rotate_polygon(triangle, math.pi / 2) print(rotated_triangle)
question mark

¿Cuál es una afirmación verdadera sobre el efecto de rotar un polígono 90 grados alrededor del origen?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 3
some-alt