13.1 Elegir una dirección relevante
Los ejes cartesianos no siempre coinciden con las direcciones más útiles de un problema. Cerca de una rampa interesa distinguir lo que actúa a lo largo de la superficie de lo que actúa perpendicularmente a ella. En una trayectoria importa separar las velocidades tangencial y normal.
Dado un vector a y una dirección no nula d, construiremos dos vectores: a∥, paralelo a d, y a⊥, perpendicular a d.
13.2 Componente paralela
La componente paralela es la proyección vectorial de a sobre d:
Si u es la versión unitaria de d, la misma fórmula se escribe (a·u)u.
13.3 Componente perpendicular
Después de extraer el aporte paralelo, el resto es perpendicular:
Esta operación también se denomina rechazo vectorial. El producto escalar a⊥·d debe ser cero, salvo pequeñas diferencias de redondeo.
function separar(a, direccion) {
const d2 = direccion.x ** 2 + direccion.y ** 2;
if (d2 === 0) return null;
const factor = (a.x * direccion.x + a.y * direccion.y) / d2;
const paralela = { x: factor * direccion.x, y: factor * direccion.y };
const perpendicular = { x: a.x - paralela.x, y: a.y - paralela.y };
return { paralela, perpendicular };
}
console.log(separar({ x: 6, y: 4 }, { x: 3, y: 1 }));13.4 Ejemplo paso a paso
Sea a = (6, 4) y d = (3, 1).
- a·d = 22.
- |d|² = 10.
- Factor paralelo = 22/10 = 2,2.
- a∥ = 2,2(3, 1) = (6,6; 2,2).
- a⊥ = (6, 4) − (6,6; 2,2) = (−0,6; 1,8).
La reconstrucción da (6, 4) y la comprobación perpendicular es (−0,6)·3 + 1,8·1 = 0.
13.5 Componentes escalares firmadas
Con una dirección unitaria u, la componente escalar paralela es a∥ = a·u. Para el eje perpendicular podemos elegir n = (−uy, ux) y calcular a⊥ = a·n.
Los signos indican los sentidos respecto de los ejes locales elegidos.
13.6 Relación entre los módulos
Como las dos componentes son perpendiculares, forman un triángulo rectángulo:
Esta identidad comprueba la descomposición y se conoce como relación de Pitágoras para componentes ortogonales.
13.7 El signo de la componente paralela
Si a forma un ángulo agudo con d, la componente escalar paralela es positiva. Si el ángulo es obtuso, es negativa y el vector paralelo apunta contra d. Si son perpendiculares, la componente paralela es nula y todo a pertenece al aporte perpendicular.
| Relación | Componente paralela | Componente perpendicular |
|---|---|---|
| a paralelo a d | a | 0 |
| a opuesto a d | a, con coeficiente firmado negativo | 0 |
| a perpendicular a d | 0 | a |
| a nulo | 0 | 0 |
13.8 Distancia de un punto a una recta
Una recta pasa por P y tiene dirección d. Para un punto X, formamos a = X − P. La longitud de su componente perpendicular es la distancia más corta desde X hasta la recta.
function distanciaARecta(punto, puntoRecta, direccion) {
const a = { x: punto.x - puntoRecta.x, y: punto.y - puntoRecta.y };
const d2 = direccion.x ** 2 + direccion.y ** 2;
if (d2 === 0) return null;
const factor = (a.x * direccion.x + a.y * direccion.y) / d2;
const perpendicular = {
x: a.x - factor * direccion.x,
y: a.y - factor * direccion.y
};
return Math.hypot(perpendicular.x, perpendicular.y);
}
console.log(distanciaARecta({ x: 4, y: 5 }, { x: 1, y: 1 }, { x: 3, y: 0 }));13.9 Movimiento sobre una superficie
Si un objeto está restringido a desplazarse sobre una superficie, podemos conservar la componente tangencial de su velocidad y eliminar la normal que lo introduciría en la superficie:
Aquí n es la normal de la superficie. En 2D, el resultado queda paralelo a la línea de la superficie.
13.10 Velocidad normal y detección de acercamiento
La componente de una velocidad relativa sobre una normal indica si dos objetos se acercan o se separan. El signo depende de la orientación elegida para la normal.
Este valor es útil para filtrar contactos: si los objetos ya se separan, no corresponde aplicar una corrección que vuelva a empujarlos. El tratamiento completo pertenece al estudio de colisiones.
13.11 Componente de la gravedad en una rampa
En una rampa elegimos un unitario tangente t y uno normal n. La gravedad g se separa como (g·t)t + (g·n)n.
El aporte paralelo describe la tendencia a deslizar; el perpendicular expresa cuánto apunta la gravedad contra la superficie. No estamos creando dos gravedades: son componentes de la misma aceleración.
13.12 Laboratorio de separación
Modificá el vector a y el ángulo de la dirección d. La construcción muestra las componentes paralela y perpendicular en cadena.
El vector se reconstruye sumando ambas componentes.
13.13 Implementación reusable
Una función práctica puede devolver ambas componentes y los coeficientes necesarios para inspección:
function componentesRespectoDe(a, direccion) {
const modulo = Math.hypot(direccion.x, direccion.y);
if (modulo === 0) return null;
const u = { x: direccion.x / modulo, y: direccion.y / modulo };
const escalar = a.x * u.x + a.y * u.y;
const paralela = { x: escalar * u.x, y: escalar * u.y };
const perpendicular = { x: a.x - paralela.x, y: a.y - paralela.y };
return { u, escalar, paralela, perpendicular };
}
console.log(componentesRespectoDe({ x: 5, y: 2 }, { x: 1, y: 1 }));13.14 Errores frecuentes
- Confundir el vector paralelo con su componente escalar firmada.
- Calcular la perpendicular proyectando otra vez sobre la misma dirección.
- Olvidar restar la paralela al vector original.
- Suponer que la componente paralela siempre tiene coeficiente positivo.
- Usar una dirección nula.
- Considerar las componentes como efectos físicos adicionales.
- No comprobar reconstrucción y ortogonalidad.
13.15 Ejercicio integrador
Un objeto tiene velocidad v = (7, −1) m/s cerca de una superficie cuya dirección tangente es t = (2, 1).
- Normalizá la dirección tangente.
- Calculá la componente escalar paralela.
- Obtené los vectores paralelo y perpendicular.
- Comprobá que se reconstruye v y que las componentes son ortogonales.
- Calculá el módulo de la velocidad perpendicular.
Ver solución y código
|t| = √5 y u = (2/√5; 1/√5). La componente firmada vale 13/√5. La paralela es (5,2; 2,6) m/s y la perpendicular (1,8; −3,6) m/s. Su suma es (7, −1), su producto escalar es cero y el módulo perpendicular es aproximadamente 4,02 m/s.
const v = { x: 7, y: -1 };
const t = { x: 2, y: 1 };
const mt = Math.hypot(t.x, t.y);
const u = { x: t.x / mt, y: t.y / mt };
const escalar = v.x * u.x + v.y * u.y;
const paralela = { x: escalar * u.x, y: escalar * u.y };
const perpendicular = { x: v.x - paralela.x, y: v.y - paralela.y };
const ortogonalidad = paralela.x * perpendicular.x + paralela.y * perpendicular.y;
console.log({ u, escalar, paralela, perpendicular, ortogonalidad });
console.log("Módulo perpendicular:", Math.hypot(perpendicular.x, perpendicular.y));13.16 Ideas para recordar
- Todo vector se separa en aportes paralelo y perpendicular a una dirección no nula.
- La componente paralela es una proyección vectorial.
- La perpendicular se obtiene restando la paralela al vector original.
- Ambas componentes reconstruyen el vector y son ortogonales.
- Sus módulos cumplen una relación pitagórica.
- La componente paralela firmada puede ser negativa.
- La separación resulta útil en rampas, restricciones, distancias y contactos.
En el próximo tema extenderemos el trabajo vectorial a tres dimensiones.