15. Magnitud o longitud de un vector

Las componentes indican hacia dónde se mueve un vector; su magnitud indica cuánto mide. Esta medida convierte un desplazamiento bidimensional en un valor numérico útil para distancias, velocidades, límites y normalización.

15.1 Introducción

Dos vectores pueden apuntar en direcciones diferentes y aun así tener la misma longitud. Por ejemplo, (3, 4) y (−4, 3) miden ambos 5 unidades, aunque sus componentes no coincidan.

La magnitud, también llamada longitud o norma, responde a la pregunta: «¿qué tan grande es este desplazamiento?».

15.2 Notación

Para un vector v usamos barras verticales dobles o, de manera informal en 2D, barras simples:

‖v‖ = |v| = longitud de v

Si v = (3, 4), escribimos |v| = 5. No debe confundirse con el valor absoluto de un único número, aunque ambos conceptos expresan una distancia respecto de cero.

15.3 Fórmula de la magnitud

Para v = (vx, vy), las componentes forman los catetos de un triángulo rectángulo. El teorema de Pitágoras permite calcular la hipotenusa:

|v| = √(vx² + vy²)

La raíz cuadrada devuelve una cantidad no negativa, por eso una longitud nunca resulta negativa.

15.4 Interpretación geométrica

Vector desde el origen hasta el punto tres cuatro con sus componentes y cálculo de magnitud cinco
Las componentes 3 y 4 son los catetos; la longitud del vector es la hipotenusa de valor 5.

Dibujar las proyecciones horizontal y vertical convierte la fórmula en una imagen: medir un vector es hallar la distancia entre su cola y su punta.

15.5 Ejemplo 3–4–5

Sea v = (3, 4). Sustituimos sus componentes:

|v| = √(3² + 4²)
|v| = √(9 + 16) = √25 = 5

Este triángulo pitagórico es un excelente caso para verificar que una implementación funciona como se espera.

15.6 Componentes negativas

Los signos cambian la dirección, pero no alteran la longitud final porque las componentes se elevan al cuadrado. Para v = (−3, 4):

|v| = √((−3)² + 4²) = √(9 + 16) = 5

Por la misma razón, v y −v siempre tienen idéntica magnitud.

15.7 El vector nulo

El vector nulo es (0, 0). No desplaza ningún objeto y su magnitud es cero:

|(0, 0)| = √(0² + 0²) = 0

Es el único vector cuya longitud es cero. No posee una dirección definida, un detalle importante antes de intentar normalizarlo.

15.8 Magnitud y distancia entre puntos

El vector que va desde A hasta B se obtiene como B − A. Por tanto, la distancia entre ambos puntos es la magnitud de ese vector:

distancia(A, B) = |B − A|

Si A = (2, 1) y B = (5, 5), entonces B − A = (3, 4) y la distancia es 5.

15.9 Propiedades útiles

  • No negatividad: |v| ≥ 0.
  • Identidad: |v| = 0 solo si v = 0.
  • Opuesto: |−v| = |v|.
  • Escalares: |k·v| = |k|·|v|.
  • Desigualdad triangular: |u + v| ≤ |u| + |v|.

Estas propiedades permiten razonar sobre tamaños sin necesidad de volver a calcular cada componente desde cero.

15.10 Simulación interactiva: mide un vector

Modifica vx y vy. El laboratorio construye el triángulo rectángulo, muestra el cálculo con Pitágoras y dibuja un círculo cuyo radio coincide con la magnitud obtenida.

Vectorv = (3, 4)
Suma de cuadrados3² + 4² = 25
Magnitud|v| = 5.00
Dirección aproximada53.1°

15.11 Calcular la magnitud en JavaScript

function magnitud(v) {
  return Math.hypot(v.x, v.y);
}

const desplazamiento = { x: 3, y: 4 };
console.log(magnitud(desplazamiento)); // 5

Math.hypot expresa directamente la intención y evita escribir la suma de cuadrados a mano. También admite más de dos componentes cuando el problema lo requiere.

15.12 Implementación de la fórmula

function magnitudManual(v) {
  return Math.sqrt(v.x * v.x + v.y * v.y);
}

const v = { x: -6, y: 8 };
console.log(magnitudManual(v)); // 10

Las dos versiones producen el mismo valor para vectores 2D. La forma manual es útil para comprender qué calcula la función.

15.13 Comparar longitudes sin raíz cuadrada

En detección de colisiones o búsquedas se comparan muchas distancias. Como la raíz cuadrada conserva el orden, a veces conviene comparar magnitudes al cuadrado:

|v|² = vx² + vy²

Por ejemplo, para saber si un objeto está a menos de 100 píxeles no hace falta calcular la raíz: basta comprobar si dx*dx + dy*dy < 100*100.

15.14 Velocidad y rapidez

La velocidad es un vector porque tiene dirección y sentido. Su magnitud se llama rapidez: indica cuántas unidades avanza un objeto por segundo sin importar hacia dónde se mueve.

Una velocidad (60, 80) píxeles/s tiene rapidez 100 píxeles/s. Esto permite limitar el movimiento máximo de un personaje.

15.15 Radio, alcance y zonas circulares

La magnitud sirve para probar si una punta está dentro de un radio o si dos objetos están suficientemente cerca:

si |objetivo − posición| ≤ radio, el objetivo está al alcance

Este patrón aparece en disparos, zonas de interacción, luces, sonidos, sensores y colisiones circulares.

15.16 Errores comunes

  • Olvidar la raíz cuadrada al necesitar una distancia real.
  • Olvidar elevar al cuadrado componentes negativas.
  • Usar la magnitud de una posición absoluta cuando se necesita un desplazamiento.
  • Normalizar el vector nulo, cuya magnitud es cero.
  • Comparar una distancia con un radio al cuadrado, o viceversa.
  • Confundir longitud de un vector con una de sus componentes.
  • Mezclar unidades, por ejemplo píxeles con metros.

15.17 Qué debes recordar de este tema

  • |v| mide la longitud de un vector.
  • |(vx, vy)| = √(vx² + vy²).
  • La magnitud nunca es negativa.
  • v y −v tienen la misma longitud.
  • La distancia entre dos puntos es |B − A|.
  • Comparar magnitudes al cuadrado evita raíces innecesarias.
  • La magnitud de la velocidad es la rapidez.

15.18 Conclusión

La magnitud transforma una dirección y sus componentes en una medida concreta. Con Pitágoras podemos saber cuánto se mueve un objeto, comparar distancias y controlar radios, velocidades y alcances en cualquier escena 2D.

En el próximo tema normalizaremos vectores para conservar solo su dirección y obtener una longitud exactamente igual a uno.