Skip to Content
Coordenadas polaresDefinición del sistema polar

¿Qué representan rr y θ\theta?

En el sistema de coordenadas polares, cada punto del plano se describe por una pareja ordenada:

(r,θ)(r, \theta)

donde:

  • rr es la distancia desde el origen (el punto (0,0)(0, 0)) hasta el punto.
  • θ\theta es el ángulo entre el eje xx positivo y la línea que conecta el origen con el punto, medido en radianes en sentido antihorario.

🧭 ¿Cómo interpretamos (r,θ)(r, \theta)?

  • Si r>0r > 0, nos movemos rr unidades desde el origen en la dirección del ángulo θ\theta.
  • Si r=0r = 0, estamos en el origen sin importar el valor de θ\theta.
  • Si r<0r < 0, nos movemos r|r| unidades en la dirección opuesta a la indicada por θ\theta.

El ángulo θ\theta puede tomar valores mayores a 2π2\pi o ser negativo, lo que representa múltiples vueltas alrededor del origen.


⚠️ Representaciones múltiples del mismo punto

Una misma posición en el plano puede tener distintas representaciones en coordenadas polares. Por ejemplo:

(1,π)=(1,0)(1, \pi) = (-1, 0)

Ambos representan el mismo punto: una unidad en dirección opuesta.

Esto significa que las coordenadas polares no son únicas. A veces conviene normalizar θ\theta en el intervalo [0,2π)[0, 2\pi) o limitar r0r \geq 0 según el contexto.


📊 Visualización: ¿Cómo se ve un punto polar?

El siguiente código grafica varios puntos dados en coordenadas polares, para que puedan visualizar cómo se interpretan rr y θ\theta en el plano.

import numpy as np import matplotlib.pyplot as plt # Lista de puntos en coordenadas polares: (r, θ) puntos_polares = [ (1, np.pi/4), (2, np.pi), (1, 5*np.pi/2), # equivale a (1, π/2) (-1, 0), # equivale a (1, π) (0, 2*np.pi/3) # origen ] fig, ax = plt.subplots(figsize=(6,6)) ax.set_aspect('equal') ax.set_xlim(-2.5, 2.5) ax.set_ylim(-2.5, 2.5) ax.set_title("Interpretación geométrica de $(r, \\theta)$") ax.grid(True) # Dibujar ejes ax.axhline(0, color='gray', linewidth=1) ax.axvline(0, color='gray', linewidth=1) # Graficar puntos for r, theta in puntos_polares: x = r * np.cos(theta) y = r * np.sin(theta) ax.plot(x, y, 'o') ax.annotate(f"({r:.1f}, {theta:.2f})", (x, y), textcoords="offset points", xytext=(5,5)) plt.show()

🧠 Observaciones importantes

  • El punto (1,π)(1, \pi) está en el eje negativo xx, igual que (1,0)(-1, 0).
  • El punto (1,5π/2)(1, 5\pi/2) está en la misma dirección que (1,π/2)(1, \pi/2).
  • El punto (0,θ)(0, \theta) siempre es el origen, sin importar θ\theta.

🔄 Conversión entre coordenadas cartesianas y polares

En muchos problemas necesitaremos convertir un punto de coordenadas cartesianas (x,y)(x, y) a coordenadas polares (r,θ)(r, \theta), y viceversa.


📐 De polares a cartesianas

Dado un punto en coordenadas polares (r,θ)(r, \theta), sus coordenadas cartesianas se obtienen con:

x=rcos(θ),y=rsin(θ)x = r \cos(\theta), \quad y = r \sin(\theta)

Estas fórmulas se derivan directamente de trigonometría, considerando rr como la hipotenusa de un triángulo rectángulo.


📐 De cartesianas a polares

Dado un punto (x,y)(x, y), sus coordenadas polares se calculan así:

r=x2+y2,θ=tan1(yx)r = \sqrt{x^2 + y^2}, \quad \theta = \tan^{-1}\left(\frac{y}{x}\right)

⚠️ Ojo! Esta fórmula para θ\theta puede ser ambigua, ya que la tangente no distingue en qué cuadrante está el punto. Por eso en programación se recomienda usar:

  • atan2(y, x) en Python (de numpy o math), que devuelve el ángulo correcto considerando el signo de ambos argumentos.

🧮 Ejemplo de conversión

Supongamos que tenemos el punto cartesiano (x,y)=(1,3)(x, y) = (-1, \sqrt{3}).
Entonces:

r=(1)2+(3)2=1+3=2θ=atan2(3,1)=2π3r = \sqrt{(-1)^2 + (\sqrt{3})^2} = \sqrt{1 + 3} = 2 \\ \theta = \text{atan2}(\sqrt{3}, -1) = \frac{2\pi}{3}

Por tanto, el punto en coordenadas polares es (2,2π/3)(2, 2\pi/3).


🧪 Visualización interactiva

import numpy as np import matplotlib.pyplot as plt # Lista de puntos cartesianos puntos_cartesianos = [ (1, 1), (0, -2), (-1, np.sqrt(3)), (-2, -2) ] fig, ax = plt.subplots(figsize=(6,6)) ax.set_aspect('equal') ax.set_xlim(-3, 3) ax.set_ylim(-3, 3) ax.set_title("Conversión cartesiano → polar") ax.grid(True) # Dibujar ejes ax.axhline(0, color='gray', linewidth=1) ax.axvline(0, color='gray', linewidth=1) # Dibujar puntos y mostrar conversión for x, y in puntos_cartesianos: r = np.sqrt(x**2 + y**2) theta = np.arctan2(y, x) x_label = f"x={x}, y={y}" rtheta_label = f"r={r:.2f}, θ={theta:.2f} rad" ax.plot(x, y, 'o') ax.annotate(rtheta_label, (x, y), textcoords="offset points", xytext=(5, 5)) print(f"{x_label}{rtheta_label}") plt.show()

💬 Observaciones importantes

  • atan2 devuelve θ\theta en radianes, entre π-\pi y π\pi. Esto se puede ajustar eso al intervalo [0,2π)[0, 2\pi).
  • Algunos puntos (como el origen) tienen coordenadas polares mal definidas: r=0r = 0, pero θ\theta puede ser cualquier valor.

❗ ¿Por qué la fórmula de θ\theta puede fallar?

Cuando convertimos un punto cartesiano (x,y)(x, y) a coordenadas polares, usamos:

θ=tan1(yx)\theta = \tan^{-1}\left(\frac{y}{x}\right)

Pero esta fórmula es ambigua, porque la tangente no distingue en qué cuadrante está el punto.
Por ejemplo:

tan1(11)=π4tan1(11)=π4\tan^{-1}\left(\frac{1}{1}\right) = \frac{\pi}{4} \\ \tan^{-1}\left(\frac{-1}{-1}\right) = \frac{\pi}{4}

Ambos dan el mismo resultado, pero:

  • (1,1)(1, 1) está en el primer cuadrante
  • (1,1)(-1, -1) está en el tercer cuadrante

Esto se debe a que tan1(y/x)\tan^{-1}(y/x) sólo mira el cociente, no los signos por separado.


✅ Solución: usar atan2(y, x)

La función atan2(y, x) (disponible en Python, C, Java, etc.) resuelve este problema:

  • Usa el signo de xx y yy para determinar el cuadrante correcto.
  • Devuelve el valor de θ\theta en radianes, en el intervalo (π,π](-\pi, \pi].

🔍 Comparación visual

El siguiente código muestra dos puntos que tienen el mismo yx\frac{y}{x} pero están en cuadrantes distintos.
Se puede ver que tan1(y/x)\tan^{-1}(y/x) no los diferencia, pero atan2(y, x) sí.

import numpy as np import matplotlib.pyplot as plt # Dos puntos con mismo y/x pero distinto cuadrante p1 = (1, 1) # Cuadrante I p2 = (-1, -1) # Cuadrante III # Calcular ángulos theta1 = np.arctan2(p1[1], p1[0]) theta2 = np.arctan2(p2[1], p2[0]) # Mostrar valores print(f"Punto (1, 1): θ = {theta1:.2f} rad = {np.degrees(theta1):.1f}°") print(f"Punto (-1, -1): θ = {theta2:.2f} rad = {np.degrees(theta2):.1f}°") # Graficar fig, ax = plt.subplots(figsize=(6,6)) ax.set_aspect('equal') ax.set_xlim(-2, 2) ax.set_ylim(-2, 2) ax.grid(True) ax.axhline(0, color='gray', linewidth=1) ax.axvline(0, color='gray', linewidth=1) for x, y in [p1, p2]: ax.plot(x, y, 'o') ax.arrow(0, 0, x, y, head_width=0.1, head_length=0.1, color='orange', length_includes_head=True) ax.annotate("θ = π/4", p1, textcoords="offset points", xytext=(5,5)) ax.annotate("θ = 5π/4", p2, textcoords="offset points", xytext=(5,5)) ax.set_title("Mismo y/x → distinta dirección") plt.show()

Este es un ejemplo clásico de cómo la geometría importa más que la fórmula algebraica.
En resumen:

  • Usar atan2(y, x) siempre que quieras obtener θ\theta correctamente.
  • No confíar ciegamente en tan1(y/x)\tan^{-1}(y/x)
Last updated on