16.1 Combinar productos vectoriales y escalares
El producto triple escalar, también llamado producto mixto, combina tres vectores mediante un producto vectorial y uno escalar:
El resultado es un número. Su valor absoluto representa un volumen y su signo registra la orientación del orden elegido para los vectores.
16.2 Interpretación geométrica
Los vectores b y c forman la base de un paralelepípedo. El módulo |b × c| es el área de esa base. El producto escalar con a incorpora la altura firmada perpendicular a la base.
El valor absoluto entrega el volumen geométrico, que nunca es negativo. El resultado sin valor absoluto es el volumen orientado.
16.3 Cálculo por componentes
Primero calculamos b × c y luego multiplicamos escalarmente por a:
function productoTriple(a, b, c) {
const cruz = {
x: b.y * c.z - b.z * c.y,
y: b.z * c.x - b.x * c.z,
z: b.x * c.y - b.y * c.x
};
return a.x * cruz.x + a.y * cruz.y + a.z * cruz.z;
}
console.log(productoTriple(
{ x: 1, y: 0, z: 0 },
{ x: 0, y: 1, z: 0 },
{ x: 0, y: 0, z: 1 }
));16.4 Forma de determinante
El producto triple coincide con el determinante de la matriz que tiene los vectores como filas o columnas en el mismo orden:
Esta expresión facilita una implementación directa, pero la forma vectorial explica mejor la geometría.
16.5 Signo y orientación
En un sistema de mano derecha, [i, j, k] = 1. Intercambiar dos vectores cambia el signo:
Un resultado positivo indica que la terna tiene la misma orientación que la base de referencia; uno negativo indica orientación opuesta.
16.6 Permutaciones cíclicas
Rotar cíclicamente los tres vectores conserva el producto:
En cambio, intercambiar solamente dos posiciones invierte el signo. Estas relaciones son útiles para comprobar cálculos.
const triple = (a, b, c) =>
a.x * (b.y*c.z - b.z*c.y)
- a.y * (b.x*c.z - b.z*c.x)
+ a.z * (b.x*c.y - b.y*c.x);
const a = { x: 2, y: 1, z: 0 };
const b = { x: -1, y: 3, z: 2 };
const c = { x: 0, y: 2, z: 4 };
console.log(triple(a,b,c), triple(b,c,a), triple(b,a,c));16.7 Coplanaridad
Tres vectores son coplanarios si el volumen que generan es cero:
Esto sucede si alguno es nulo, si dos son paralelos o si uno puede escribirse como combinación lineal de los otros dos. El producto triple detecta dependencia lineal en 3D.
16.8 Volumen de tetraedros
Si tres vectores parten de un mismo vértice y llegan a los otros tres vértices de un tetraedro, su volumen es la sexta parte del paralelepípedo:
El factor seis aparece porque el paralelepípedo puede dividirse en seis tetraedros de igual volumen.
16.9 Volumen definido por cuatro puntos
Dados los puntos A, B, C y D, construimos tres vectores desde el mismo origen A: B − A, C − A y D − A. Entonces:
function volumenTetraedro(a, b, c, d) {
const resta = (p, q) => ({ x: p.x-q.x, y: p.y-q.y, z: p.z-q.z });
const u = resta(b,a), v = resta(c,a), w = resta(d,a);
const triple = u.x*(v.y*w.z-v.z*w.y)
- u.y*(v.x*w.z-v.z*w.x)
+ u.z*(v.x*w.y-v.y*w.x);
return Math.abs(triple) / 6;
}
console.log(volumenTetraedro(
{x:0,y:0,z:0}, {x:1,y:0,z:0}, {x:0,y:1,z:0}, {x:0,y:0,z:1}
));16.10 Unidades y escalado
Si los tres vectores son longitudes en metros, el producto triple se expresa en m³. Al multiplicar uno de los vectores por k, el volumen orientado se multiplica por k. Si se escalan los tres por k, el volumen se multiplica por k³.
Un factor negativo también invierte la orientación, además de escalar el valor absoluto.
16.11 Producto triple vectorial
Existe otra operación con tres vectores cuyo resultado es vectorial:
Se puede reescribir mediante la identidad BAC−CAB:
El resultado pertenece al plano formado por b y c. No debe confundirse con el producto triple escalar.
16.12 El producto vectorial no es asociativo
En general:
Por eso los paréntesis nunca deben omitirse en un producto triple vectorial. Ambas expresiones pueden apuntar en direcciones diferentes.
const cruz = (a,b) => ({
x:a.y*b.z-a.z*b.y, y:a.z*b.x-a.x*b.z, z:a.x*b.y-a.y*b.x
});
const a={x:1,y:2,z:0}, b={x:0,y:1,z:3}, c={x:2,y:0,z:1};
console.log("a × (b × c)", cruz(a, cruz(b,c)));
console.log("(a × b) × c", cruz(cruz(a,b), c));16.13 Laboratorio de volumen orientado
Modificá el vector c mientras a y b forman la base. Rotá la vista arrastrando. El signo cambia cuando c atraviesa el plano de la base.
Los vectores generan un volumen positivo.
16.14 Precisión y degeneración
Con datos de punto flotante, un volumen teóricamente nulo puede resultar muy pequeño. Conviene compararlo con una tolerancia relativa a |a||b||c|.
function sonCoplanarios(a, b, c, epsilon = 1e-10) {
const triple = a.x*(b.y*c.z-b.z*c.y)
- a.y*(b.x*c.z-b.z*c.x)
+ a.z*(b.x*c.y-b.y*c.x);
const escala = Math.hypot(a.x,a.y,a.z)
* Math.hypot(b.x,b.y,b.z)
* Math.hypot(c.x,c.y,c.z);
return escala === 0 || Math.abs(triple) <= epsilon * escala;
}
console.log(sonCoplanarios({x:1,y:0,z:0},{x:0,y:1,z:0},{x:2,y:3,z:0}));16.15 Errores frecuentes
- Confundir producto triple escalar con producto triple vectorial.
- Omitir paréntesis en productos vectoriales anidados.
- Tomar el valor absoluto y perder la orientación cuando el signo importa.
- Informar un volumen geométrico negativo.
- Creer que intercambiar dos vectores conserva el signo.
- Usar tres vectores con orígenes distintos para un volumen sin trasladarlos.
- Exigir cero exacto para detectar coplanaridad numérica.
16.16 Ejercicio integrador
Sean a = (2, 0, 1) m, b = (1, 3, 0) m y c = (0, 2, 4) m.
- Calculá b × c.
- Calculá a·(b×c).
- Obtené el volumen del paralelepípedo y del tetraedro asociado.
- Determiná la orientación.
- Explicá qué sucede al intercambiar b y c.
Ver solución y código
b × c = (12, −4, 2) m². El producto triple es 2·12 + 0·(−4) + 1·2 = 26 m³. El paralelepípedo tiene volumen 26 m³ y el tetraedro 26/6 ≈ 4,33 m³. La orientación es positiva. Intercambiar b y c produce −26, pero conserva el volumen geométrico.
const a={x:2,y:0,z:1}, b={x:1,y:3,z:0}, c={x:0,y:2,z:4};
const cruz={x:b.y*c.z-b.z*c.y,y:b.z*c.x-b.x*c.z,z:b.x*c.y-b.y*c.x};
const triple=a.x*cruz.x+a.y*cruz.y+a.z*cruz.z;
console.log({ cruz, triple, volumen:Math.abs(triple), tetraedro:Math.abs(triple)/6 });16.17 Ideas para recordar
- El producto triple escalar es a·(b×c).
- Su valor absoluto es el volumen de un paralelepípedo.
- Su signo informa la orientación de la terna.
- Las permutaciones cíclicas conservan el resultado; intercambiar dos vectores invierte el signo.
- Un resultado nulo indica coplanaridad o degeneración.
- El volumen de un tetraedro asociado es un sexto.
- El producto triple vectorial produce un vector y no es asociativo.
En el próximo tema estudiaremos coordenadas polares y su conversión con coordenadas cartesianas.