¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Coordenadas, ángulos y giro de un punto

Después de esta lección: Puedo describir dónde está un punto y girarlo un ángulo dado.

Lección de 50 min2 comandosLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

Cómo describe un robot dónde está algo

Un sistema de coordenadas es la forma de dar una posición con números. Un robot lo usa para saber dónde está su mano y hacia dónde apunta.

Si sabes dar la posición y el ángulo de un punto, puedes girarlo y seguirlo. Es la base de la robótica. Aquí todo es una simulación: no hace falta ningún robot real.

Al final de esta lección

Nota

Puedo describir dónde está un punto y girarlo un ángulo dado.

Palabras clave

PalabraQué significaEjemplo
Coordenadasdos números que dan una posición(10, 6)
Origenel punto donde las dos coordenadas valen 0
Ángulocuánto gira algo, medido en grados
Giromover un punto alrededor del origen
Radiánotra unidad de ángulo, la que usan los programas

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Dos números dan una posición

Un punto de un plano se da con dos números. La x dice cuánto está a la derecha del origen. La y dice cuánto está hacia arriba.

En este módulo la unidad es el centímetro. El punto (10, 6) está a 10 cm a la derecha y a 6 cm arriba del origen. Un número negativo va hacia el lado contrario.

Ejemplo resuelto: distancia y ángulo de un punto

PuntoDistancia al origenÁngulo desde el eje x
(3, 4)5 cm53,1 grados
(0, 5)5 cm90 grados
(-1, 1)1,41 cm135 grados
(6, 0)6 cm0 grados

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Distancia y ángulo del punto (3, 4)

Comando
docker exec jupyter python3 -c "import numpy as np; print(np.hypot(3, 4), round(np.degrees(np.arctan2(4, 3)), 1))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Girar cambia el ángulo, no la distancia

Girar un punto es moverlo alrededor del origen, como la manecilla de un reloj. Su distancia al origen no cambia: solo cambia su ángulo.

Para girar (x, y) un ángulo a se hacen dos cuentas. La x nueva es x por el coseno de a, menos y por el seno de a. La y nueva es x por el seno de a, más y por el coseno de a.

Ejemplo resuelto: girar (2, 1) 90 grados

PasoCálculoResultado
Ángulo90 grados, con coseno 0 y seno 1a = 90
x nueva2 × 0 - 1 × 1-1
y nueva2 × 1 + 1 × 02
Con una matrizla tabla [[0, -1], [1, 0]] aplicada a (2, 1)(-1, 2)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El giro de 90 grados con una matriz

Comando
docker exec jupyter python3 -c "import numpy as np; print(np.array([[0, -1], [1, 0]]) @ np.array([2, 1]))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Python no usa grados

Consejo

Las funciones seno y coseno de Python esperan radianes. Un radián es una unidad de ángulo: 180 grados son unos 3,14 radianes. Convierte siempre con math.radians antes de calcular.

El giro en Python

Código: python
import math

# Un punto a 2 cm a la derecha y 1 cm hacia arriba.
x = 2
y = 1
angle = 90  # grados: cámbialo a 180 y ejecuta otra vez

a = math.radians(angle)
new_x = x * math.cos(a) - y * math.sin(a)
new_y = x * math.sin(a) + y * math.cos(a)
print("punto nuevo:", round(new_x, 2), round(new_y, 2))
print("distancia antes:", round(math.hypot(x, y), 2))
print("distancia después:", round(math.hypot(new_x, new_y), 2))

Un error muy común

Advertencia

Mucha gente cree que girar un punto lo acerca o lo aleja del origen. Girar solo cambia el ángulo: la distancia es la misma. Si la distancia cambia, la fórmula está mal escrita.

Para ir más lejos: la mano

Imagina una barra de 10 cm fija en el origen, con su extremo en (10, 0). Gira la barra 90 grados y 45 grados y apunta dónde queda el extremo.

Después gira el extremo 180 grados. ¿A qué distancia del origen queda en cada caso?

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.