6.1 Escalares que transforman vectores
Multiplicar un vector por un número real permite cambiar su tamaño y, si el número es negativo, invertir su sentido. El número se denomina escalar porque no aporta una orientación propia.
Esta operación aparece al duplicar una fuerza idealizada, convertir una velocidad en desplazamiento durante un intervalo o representar una fracción de un recorrido.
6.2 Definición por componentes
Para un escalar k y un vector v = (vx, vy):
Si v = (3, −2) m y k = 4, entonces 4v = (12, −8) m. Ambas componentes se multiplican por el mismo número.
function escalar(vector, factor) {
return { x: vector.x * factor, y: vector.y * factor };
}
const v = { x: 3, y: -2 };
console.log(escalar(v, 4));6.3 Efecto sobre módulo, dirección y sentido
| Valor de k | Módulo | Dirección y sentido |
|---|---|---|
| k > 1 | Aumenta por un factor k | Se conservan |
| 0 < k < 1 | Disminuye por un factor k | Se conservan |
| k = 1 | No cambia | No cambian |
| k = 0 | Se vuelve cero | Quedan indeterminados |
| k < 0 | Se multiplica por |k| | Misma dirección, sentido opuesto |
6.4 Casos especiales
- 1v = v: el uno es el elemento neutro del escalado.
- −1v = −v: produce el vector opuesto.
- 0v = 0: cualquier vector multiplicado por cero se vuelve nulo.
- k0 = 0: escalar el vector nulo nunca produce una dirección.
El vector nulo no permite recuperar el vector original ni el factor: muchos cálculos diferentes pueden producir el mismo resultado cero.
6.5 Propiedades algebraicas
El producto por escalares se distribuye sobre la suma y se asocia con otros productos:
(k + m)v = kv + mv
k(mv) = (km)v
Estas propiedades permiten reorganizar cálculos y reducir operaciones. También ayudan a diseñar pruebas automáticas para una biblioteca vectorial.
6.6 Qué es una combinación lineal
Una combinación lineal suma varios vectores multiplicados por escalares:
Si a = (2, 1), b = (−1, 3), α = 2 y β = 0,5, entonces:
function combinar(a, alfa, b, beta) {
return {
x: alfa * a.x + beta * b.x,
y: alfa * a.y + beta * b.y
};
}
console.log(combinar({ x: 2, y: 1 }, 2, { x: -1, y: 3 }, 0.5));6.7 Componentes como combinación de una base
En la base cartesiana i = (1, 0) y j = (0, 1), cualquier vector del plano puede escribirse:
Por eso llamamos componentes a vx y vy: son los escalares que indican cuánto aporta cada vector base. Por ejemplo, (4, −3) = 4i − 3j.
6.8 Dependencia e independencia
Dos vectores no nulos son linealmente dependientes si uno es múltiplo del otro. En ese caso son paralelos y sus combinaciones solo alcanzan puntos de una misma recta.
Si no son múltiplos, son linealmente independientes y sus combinaciones pueden construir cualquier vector del plano. Por ejemplo, (1, 0) y (0, 1) son independientes; (1, 2) y (3, 6) son dependientes.
6.9 Interpolación lineal entre vectores
La interpolación lineal construye valores intermedios entre a y b mediante:
Con t = 0 obtenemos a; con t = 1 obtenemos b; entre 0 y 1 recorremos el segmento que los une. Fuera de ese intervalo realizamos una extrapolación.
function interpolar(a, b, t) {
return {
x: (1 - t) * a.x + t * b.x,
y: (1 - t) * a.y + t * b.y
};
}
console.log(interpolar({ x: 2, y: 1 }, { x: 8, y: 5 }, 0.25));6.10 Aplicaciones físicas y unidades
El significado y la unidad resultante dependen del escalar:
- d = v Δt: velocidad en m/s por tiempo en s produce desplazamiento en m.
- F = ma: aceleración en m/s² por masa en kg produce fuerza en N.
- p = mv: velocidad por masa produce cantidad de movimiento en kg·m/s.
- Promedio ponderado: coeficientes sin unidad combinan mediciones de la misma clase.
Aunque la operación matemática sea la misma, el programa debe conservar la interpretación y calcular correctamente la unidad.
6.11 Laboratorio de combinaciones lineales
Modificá los escalares α y β. El laboratorio muestra los vectores escalados en una cadena punta-cola y la resultante αa + βb.
Combinación lineal construida con los valores iniciales.
6.12 Implementación sin modificar los originales
Las funciones anteriores crean objetos nuevos. Esto evita que escalar un vector altere por accidente el estado que otras partes del programa todavía necesitan.
function escalarInmutable(v, k) {
return { ...v, x: v.x * k, y: v.y * k };
}
const velocidad = { x: 4, y: -2, unidad: "m/s" };
const doble = escalarInmutable(velocidad, 2);
console.log("Original:", velocidad);
console.log("Resultado:", doble);En simulaciones intensivas puede elegirse mutación controlada para reducir asignaciones, pero esa decisión debe ser explícita y estar encapsulada.
6.13 Errores frecuentes
- Multiplicar solo una componente cuando se desea escalar todo el vector.
- Decir que un factor negativo cambia la dirección en vez del sentido sobre la misma línea.
- Olvidar el valor absoluto de k al calcular el nuevo módulo.
- Asignar dirección al resultado cuando k = 0.
- Confundir una combinación lineal con la multiplicación componente a componente.
- Interpolar con pesos que no suman uno esperando permanecer entre los extremos.
- Modificar el vector original sin que el resto del programa lo espere.
6.14 Ejercicio integrador
Un robot dispone de dos comandos básicos: a = (2, 1) m y b = (−1, 2) m. Ejecuta 3 veces el primero y 2 veces el segundo.
- Escribí el desplazamiento como combinación lineal.
- Calculá los vectores escalados y la resultante.
- Obtené el módulo y la dirección de la resultante.
- Determiná si a y b son dependientes.
- Calculá el punto medio entre los extremos de a y b mediante interpolación.
Ver solución y código
La combinación es 3a + 2b. Los aportes son (6, 3) m y (−2, 4) m; la resultante es (4, 7) m. Su módulo es √65 ≈ 8,06 m y su dirección es aproximadamente 60,26°. No son dependientes porque uno no es múltiplo del otro. El punto medio es (0,5; 1,5) m.
const a = { x: 2, y: 1 };
const b = { x: -1, y: 2 };
const resultado = {
x: 3 * a.x + 2 * b.x,
y: 3 * a.y + 2 * b.y
};
const modulo = Math.hypot(resultado.x, resultado.y);
const direccion = Math.atan2(resultado.y, resultado.x) * 180 / Math.PI;
const puntoMedio = {
x: 0.5 * a.x + 0.5 * b.x,
y: 0.5 * a.y + 0.5 * b.y
};
console.log({ resultado, modulo, direccion, puntoMedio });6.15 Ideas para recordar
- Multiplicar por k multiplica todas las componentes.
- El módulo resultante es |k| veces el módulo original.
- Un factor negativo invierte el sentido; el factor cero produce el vector nulo.
- Una combinación lineal suma vectores previamente escalados.
- Las componentes son coeficientes respecto de una base.
- Dos vectores dependientes solo generan una línea.
- La interpolación lineal es (1 − t)a + tb.
En el próximo tema estudiaremos módulo, distancia y normalización con mayor profundidad.