Saltar al contenido
Favoritos

Calculadora del ángulo entre vectores 2D

Actualizado:

Introduce las componentes X e Y de dos vectores para hallar el ángulo entre ellos en grados. La calculadora utiliza la fórmula del producto escalar y es útil para física, geometría y gráficos por ordenador.

Calcular el ángulo entre dos vectores 2D

Campos de entrada
Si está activado, el resultado se actualizará automáticamente al cambiar cualquier valor.

Fórmula del ángulo entre dos vectores 2D

Fórmula
\[ \theta = \cos^{-1}\left( \frac{\vec{A} \cdot \vec{B}}{|\vec{A}| \, |\vec{B}|} \right) \]

Donde:

  • \(\vec{A} \cdot \vec{B} = A_x B_x + A_y B_y\) — el producto escalar de los dos vectores
  • \(|\vec{A}| = \sqrt{A_x^2 + A_y^2}\) — el módulo (longitud) del vector \(\vec{A}\)
  • \(|\vec{B}| = \sqrt{B_x^2 + B_y^2}\) — el módulo (longitud) del vector \(\vec{B}\)
  • \(\theta\) — el ángulo entre los dos vectores

La fórmula proviene de la definición geométrica del producto escalar: \(\vec{A} \cdot \vec{B} = |\vec{A}| |\vec{B}| \cos\theta\). Despejando \(\theta\) se obtiene la expresión anterior. El resultado de \(\cos^{-1}\) está en radianes, por lo que se convierte a grados multiplicando por \(\frac{180}{\pi}\) — esta calculadora lo hace por ti y devuelve la respuesta en grados.

Ángulo entre dos vectores 2D – Ejemplo de cálculo

Ejemplo: hallar el ángulo entre \(\vec{V_1} = (1, 0)\) y \(\vec{V_2} = (0, 1)\).

\[ \vec{V_1} \cdot \vec{V_2} = (1)(0) + (0)(1) = 0 \]

\[ |\vec{V_1}| = \sqrt{1^2 + 0^2} = 1, \qquad |\vec{V_2}| = \sqrt{0^2 + 1^2} = 1 \]

\[ \theta = \cos^{-1}\left( \frac{0}{1 \cdot 1} \right) = \cos^{-1}(0) = 90° \]

Resultado: el ángulo entre los dos vectores es 90°. Los vectores son perpendiculares, que es exactamente lo que cabe esperar de los vectores unitarios a lo largo de los ejes X e Y.

Cómo usar la calculadora

  1. Introduce la componente X del primer vector en el campo Vector V1 - X.
  2. Introduce la componente Y del primer vector en el campo Vector V1 - Y.
  3. Introduce la componente X del segundo vector en el campo Vector V2 - X.
  4. Introduce la componente Y del segundo vector en el campo Vector V2 - Y.
  5. Lee el resultado Ángulo entre vectores (°). La respuesta se da en grados, redondeada a tres decimales.

Se aceptan tanto valores positivos como negativos, y también valores decimales. No necesitas normalizar los vectores primero: la fórmula divide entre los módulos, así que cualquier longitud de vector da el mismo ángulo.

¿Qué es el ángulo entre dos vectores?

En dos dimensiones, un vector \(\vec{A} = (A_x, A_y)\) tiene tanto una longitud como una dirección. Cuando colocas dos vectores de modo que comiencen en el mismo punto, el ángulo entre ellos mide cuán separadas están sus direcciones. Este ángulo está siempre entre 0° y 180°: 0° significa que los vectores apuntan en la misma dirección, 90° que son perpendiculares y 180° que apuntan en direcciones exactamente opuestas.

La clave para calcular este ángulo es el producto escalar. Este mide cuánto coinciden dos vectores en dirección: un producto escalar grande y positivo significa que los vectores apuntan aproximadamente en la misma dirección, cero significa que son perpendiculares y un valor negativo significa que el ángulo es obtuso. Al dividir el producto escalar entre el producto de los módulos se obtiene \(\cos\theta\), y el arcocoseno recupera el ángulo en sí.

Conocer el ángulo entre vectores es importante en muchas situaciones prácticas. En física, permite descomponer fuerzas y calcular el trabajo, ya que el trabajo es igual a \(F \cdot d \cdot \cos\theta\). En gráficos por ordenador y desarrollo de videojuegos, se usa para comprobaciones de campo de visión, cálculos de iluminación y rotación de objetos hacia objetivos. En navegación y robótica, indica a un sistema cuánto debe girar para orientarse hacia el rumbo deseado.

Para trabajar con los propios vectores, también pueden resultarte útiles las calculadoras de Módulo de un vector 2D y Suma de vectores 2D.

Interpretación del resultado

La calculadora devuelve siempre el ángulo menor, de 0° a 180°. Este es el «ángulo entre vectores» convencional: no te indica cuál de los dos vectores está rotado en sentido horario o antihorario respecto al otro. Si necesitas un ángulo con signo (por ejemplo, para decidir hacia qué lado rotar en un juego), calcula también el producto vectorial \(A_x B_y - A_y B_x\): su signo te indica el sentido de rotación.

Algunos casos especiales útiles para comprobar que los datos son correctos:

Vectores Ángulo
Misma dirección (paralelos) 0°
Perpendiculares (producto escalar = 0) 90°
Direcciones opuestas 180°
Vectores idénticos 0°

Limitaciones y consejos

  • Vectores nulos: si uno de los vectores es \((0, 0)\), su dirección queda indefinida. La calculadora devuelve 0 en ese caso, pero matemáticamente el ángulo no existe.
  • Redondeo: debido a la aritmética de coma flotante, valores muy próximos a 1 o -1 dentro de \(\cos^{-1}\) pueden producir errores mínimos; el resultado se redondea a tres decimales.
  • Unidades: el resultado siempre está en grados. Para convertirlo a radianes, multiplícalo por \(\frac{\pi}{180}\).
  • El orden no importa: intercambiar V1 y V2 da el mismo ángulo, ya que el producto escalar es conmutativo.
  • Invariancia ante la escala: multiplicar cualquiera de los vectores por un número positivo no cambia el ángulo, porque los módulos se cancelan.

Si trabajas en tres dimensiones en lugar de en el plano, se aplica la misma fórmula del producto escalar: consulta las calculadoras de Producto escalar de vectores 3D y Módulo de vectores 3D.

Preguntas frecuentes

¿Puedo hallar el ángulo entre dos vectores 2D usando atan2 en lugar del producto escalar?

Sí. Calcula el ángulo de dirección de cada vector respecto al eje X: \(\alpha = \text{atan2}(A_y, A_x)\) y \(\beta = \text{atan2}(B_y, B_x)\). Entonces el ángulo entre ellos es \(|\alpha - \beta|\), y si esa diferencia supera 180°, usa \(360° - |\alpha - \beta|\). El método de atan2 también proporciona de forma natural un resultado con signo, lo cual resulta práctico en programación de videojuegos, mientras que el método del producto escalar siempre da el ángulo sin signo.

¿Cuál es un valor de ángulo normal o esperado entre dos vectores?

El ángulo entre dos vectores está siempre entre 0° y 180°. 0° significa que los vectores son paralelos y apuntan en la misma dirección, 90° que son perpendiculares (ortogonales) y 180° que apuntan en direcciones exactamente opuestas. Los vectores elegidos al azar en 2D tienden a producir ángulos repartidos por todo ese rango, así que no existe un único valor «típico»: lo que importa es si el resultado coincide con tu intuición geométrica sobre los datos.

¿Cómo convierto el resultado de grados a radianes?

Multiplica el valor en grados por \(\frac{\pi}{180} \approx 0.017453\). Por ejemplo, 90° equivale a \(\frac{\pi}{2} \approx 1.5708\) radianes, y 180° equivale a \(\pi \approx 3.1416\) radianes. Los radianes son la unidad por defecto en las funciones trigonométricas de la mayoría de los lenguajes de programación (como cos y acos), por lo que esta conversión es necesaria si vuelves a introducir el ángulo en el código.

¿Qué ocurre si multiplico un vector por un número negativo?

A diferencia de la multiplicación por un número positivo (que deja el ángulo sin cambios), multiplicar un vector por un número negativo invierte su dirección, de modo que el ángulo pasa a ser \(180° - \theta\). Por ejemplo, el ángulo entre (1, 0) y (2, 0) es 0°, pero entre (1, 0) y (-2, 0) es 180°. Esta es una fuente habitual de sorpresas cuando los vectores proceden de la resta de puntos, ya que invertir el orden de la sustracción (B − A en lugar de A − B) cambia el signo del vector.

¿Por qué mi cálculo manual da un error o NaN dentro del arcocoseno?

El producto escalar dividido entre el producto de los módulos debe permanecer entre -1 y 1. El redondeo de coma flotante puede sacarlo ligeramente de ese rango (por ejemplo, 1,0000000001), y \(\cos^{-1}\) no está definido allí. La solución habitual es acotar el valor al rango [-1, 1] antes de aplicar el arcocoseno. Comprueba también que ninguno de los vectores sea (0, 0): un vector nulo no tiene dirección, por lo que el ángulo queda matemáticamente indefinido.

¿Cambia el ángulo si mis vectores están dados en unidades distintas, como metros y centímetros?

Ambos vectores deben estar expresados en las mismas unidades, porque sus componentes se multiplican entre sí en el producto escalar. Si un vector está en metros y el otro en centímetros, los números serán inconsistentes y el resultado será incorrecto. Convierte primero ambos a la misma unidad. Ten en cuenta que el ángulo en sí es adimensional: no lleva unidades aparte de grados o radianes.

¿Cómo sé hacia qué lado rotar un vector para alinearlo con el otro?

Calcula el producto vectorial 2D \(A_x B_y - A_y B_x\). Si es positivo, la rotación de \(\vec{A}\) hacia \(\vec{B}\) es antihoraria; si es negativo, es horaria. Combina su signo con el ángulo de la calculadora para obtener la rotación con signo. Si el producto vectorial es cero y el producto escalar es positivo, los vectores ya están alineados; si el producto escalar es negativo, apuntan en direcciones opuestas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *