14. Multiplicación de vectores por escalares

Un escalar permite ampliar, reducir o invertir un vector sin tener que cambiar su estructura. Es la herramienta básica para controlar velocidades, desplazamientos, fuerzas y animaciones en 2D.

14.1 Introducción

Hasta ahora un vector describe un desplazamiento mediante sus componentes. A menudo conocemos la dirección, pero necesitamos decidir cuánto debe avanzar un objeto: más rápido, más lento, a mitad de camino o en sentido contrario.

La multiplicación por un escalar resuelve esa necesidad. Un escalar es simplemente un número; al multiplicarlo por un vector, modifica ambas componentes de manera coherente.

14.2 Definición

Si v = (vx, vy) y k es un número real, el producto k·v se calcula multiplicando cada componente por k.

k · v = k · (vx, vy) = (k · vx, k · vy)

Por ejemplo, para v = (2, 3) y k = 4 obtenemos 4v = (8, 12). El vector conserva su orientación, pero su longitud pasa a ser cuatro veces mayor.

14.3 La idea geométrica

Vectores v, 2v, 0.5v y menos v en un plano cartesiano que ilustra la multiplicación por escalares
El escalar altera la longitud y, si es negativo, también el sentido del vector.

Todos los múltiplos no nulos de un vector son paralelos entre sí. Para un escalar positivo apuntan en el mismo sentido; para un escalar negativo apuntan hacia el sentido opuesto.

14.4 Escalares mayores que uno

Cuando k > 1, el vector se amplía. Si v = (2, 1), entonces 3v = (6, 3). La dirección y el sentido no cambian, pero el extremo queda tres veces más lejos del origen.

Si k > 1, |k·v| > |v| para v ≠ 0

Es útil para aumentar la velocidad de un personaje o prolongar una dirección hacia un objetivo.

14.5 Escalares entre cero y uno

Cuando 0 < k < 1, el vector se reduce. Por ejemplo, 0.5(8, 4) = (4, 2): el resultado conserva dirección y sentido, pero mide la mitad.

Esta operación se usa para suavizar un movimiento, aplicar fricción, avanzar parcialmente hacia un destino o interpolar valores.

14.6 El escalar cero

Multiplicar por cero anula por completo el vector:

0 · v = (0, 0)

El resultado es el vector nulo. No tiene dirección ni sentido definido, porque no produce ningún desplazamiento. En un juego puede representar velocidad detenida o una fuerza que dejó de actuar.

14.7 Escalares negativos

Un escalar negativo cambia el sentido del vector. Para v = (2, −3), se cumple −v = −1·v = (−2, 3).

Si k < 0, k·v es paralelo a v pero apunta en sentido contrario

La longitud se multiplica por el valor absoluto |k|. Así, −2v tiene el doble de longitud que v y apunta al lado opuesto.

14.8 Longitud del vector escalado

La magnitud también se escala de forma predecible:

|k · v| = |k| · |v|

El valor absoluto es importante. Aunque −3 cambie el sentido, no puede producir una longitud negativa: triplica la longitud original.

14.9 Propiedades importantes

  • Identidad: 1·v = v.
  • Anulación: 0·v = 0.
  • Opuesto: (−1)·v = −v.
  • Distribución: k(u + v) = ku + kv.
  • Distribución entre escalares: (a + b)v = av + bv.
  • Asociatividad: a(bv) = (ab)v.

Estas reglas permiten reorganizar cálculos sin modificar el resultado, algo valioso cuando se combinan fuerzas o transformaciones.

14.10 Ejemplo paso a paso

Sea v = (−3, 2) y k = −2. Multiplicamos cada componente:

−2 · (−3, 2) = ((−2)(−3), (−2)(2)) = (6, −4)

El resultado se orienta en sentido contrario a v y tiene el doble de longitud. Los dos signos se resuelven por componente, no como una etiqueta separada del vector.

14.11 Simulación interactiva: escala un vector

Modifica las componentes de v y el escalar k. Observa el vector original en cian, el resultado k·v en amarillo y, cuando corresponde, el cambio de sentido. El panel también muestra las componentes y longitudes calculadas.

Vector originalv = (2, 1)
Vector escalado2v = (4, 2)
Longitud|v| = 2.24 → |2v| = 4.47
Efectoamplía ×2

14.12 Multiplicar en JavaScript

function escalar(vector, k) {
  return {
    x: vector.x * k,
    y: vector.y * k
  };
}

const velocidad = { x: 3, y: -2 };
console.log(escalar(velocidad, 0.5));
// { x: 1.5, y: -1 }

Crear un objeto nuevo evita cambiar accidentalmente el vector original, una práctica especialmente útil cuando varios sistemas comparten la misma dirección.

14.13 Movimiento con velocidad y tiempo

Una aplicación directa aparece al convertir una velocidad en desplazamiento. Si la velocidad está expresada en píxeles por segundo y Δt en segundos:

desplazamiento = velocidad · Δt
posiciónNueva = posición + desplazamiento

Con velocidad = (120, 60) y Δt = 0.25, el desplazamiento es (30, 15) píxeles. Este patrón hace que el movimiento sea independiente de la cantidad de cuadros por segundo.

14.14 Fuerzas, impulsos y fricción

En simulaciones, una fuerza puede escalarse por una intensidad, una aceleración por el tiempo y una velocidad por un factor de rozamiento. Por ejemplo, velocidad = 0.92 · velocidad reduce ambos componentes en cada actualización.

El factor debe aplicarse al vector completo; reducir únicamente x o y introduce un comportamiento desigual que puede no ser intencional.

14.15 Direcciones normalizadas

Con frecuencia se normaliza primero una dirección para obtener longitud 1 y luego se la multiplica por una rapidez deseada:

velocidad = normalizar(dirección) · rapidez

Así, la rapidez es consistente sin importar hacia dónde apunte el objeto. La normalización se estudiará con mayor profundidad en un tema posterior.

14.16 Errores comunes

  • Multiplicar solo una componente y olvidar la otra.
  • Creer que un escalar negativo reduce la longitud; en realidad invierte el sentido y escala por su valor absoluto.
  • Interpretar 0·v como un vector con dirección.
  • Confundir la multiplicación por escalar con el producto escalar entre dos vectores.
  • Usar el tiempo en milisegundos cuando la velocidad está en unidades por segundo.
  • Modificar el vector original cuando se necesitaba conservarlo.
  • Aplicar velocidades distintas al movimiento diagonal sin normalizar la dirección.

14.17 Qué debes recordar de este tema

  • k·(vx, vy) = (k·vx, k·vy).
  • k > 1 amplía el vector; 0 < k < 1 lo reduce.
  • k = 0 produce el vector nulo.
  • k < 0 invierte el sentido.
  • La longitud cumple |k·v| = |k||v|.
  • Los múltiplos de un vector son paralelos.
  • Velocidad · tiempo produce desplazamiento.

14.18 Conclusión

Multiplicar por escalares da control sobre la intensidad de un vector sin perder su relación geométrica. Con esta operación podemos convertir una dirección en una velocidad, una velocidad en desplazamiento o un movimiento en su opuesto.

En el próximo tema estudiaremos la magnitud o longitud de un vector, que permite medir numéricamente el tamaño de esos desplazamientos.