Tres puntos no alineados determinan el polígono más sencillo. Los triángulos forman mallas, sprites, superficies y sistemas de coordenadas, y permiten resolver numerosas pruebas geométricas con gran eficiencia.
Un triángulo está formado por tres vértices A, B y C unidos mediante tres segmentos. Es una figura rígida: fijadas las longitudes de sus lados, su forma no puede deformarse sin cambiar alguna longitud.
Esta estabilidad explica su uso como unidad básica de las mallas gráficas. Cualquier polígono puede dividirse en triángulos para dibujarlo, interpolar atributos o calcular su superficie.
Tres longitudes positivas forman un triángulo no degenerado únicamente si cada una es menor que la suma de las otras dos:
Si una longitud es exactamente igual a la suma de las otras, los tres vértices quedan alineados y el área es cero. En gráficos conviene detectar estos casos porque no poseen interior.
| Tipo | Relación entre lados | Propiedad |
|---|---|---|
| Equilátero | a=b=c | Tres ángulos de 60° |
| Isósceles | Dos lados iguales | Dos ángulos iguales |
| Escaleno | Todos diferentes | Todos los ángulos diferentes |
Al trabajar con decimales, las igualdades deben comprobarse mediante una pequeña tolerancia.
Si c es el lado mayor, podemos comparar cuadrados: c²<a²+b² indica acutángulo; c²=a²+b², rectángulo; c²>a²+b², obtusángulo.
Cuando conocemos las coordenadas, el determinante proporciona el doble del área con signo:
El valor absoluto entrega superficie; el signo original conserva la orientación de los vértices.
Si solo conocemos las tres longitudes, calculamos primero el semiperímetro s:
Por ejemplo, un triángulo de lados 3, 4 y 5 tiene s=6 y área √(6·3·2·1)=6. Es el conocido triángulo rectángulo 3-4-5.
El baricentro siempre está dentro del triángulo y es útil como centro promedio para transformaciones.
El determinante u×v=ux·vy−uy·vx indica hacia qué lado gira el recorrido A→B→C:
En el plano matemático, un valor positivo suele indicar orientación antihoraria; uno negativo, horaria; cero, vértices alineados. En pantalla el eje y invertido cambia la interpretación visual del signo.
La base AB permanece fija. Mueve el vértice C y el punto P para observar las medidas, la clasificación y la prueba de pertenencia.
const A = { x: -5, y: -3 };
const B = { x: 5, y: -3 };
const C = { x: 1, y: 4 };
const dobleArea = (B.x-A.x)*(C.y-A.y)
- (B.y-A.y)*(C.x-A.x);
const area = Math.abs(dobleArea) / 2;
const orientacion = dobleArea > 0
? "antihoraria"
: dobleArea < 0 ? "horaria" : "degenerado";
console.log(`A: (${A.x}, ${A.y})`);
console.log(`B: (${B.x}, ${B.y})`);
console.log(`C: (${C.x}, ${C.y})`);
console.log(`Área: ${area.toFixed(2)}`);
console.log(`Orientación: ${orientacion}`);Al presionar Ejecutar, se muestran los vértices, el área y la orientación del triángulo sin depender de un sistema de dibujo.
Una técnica robusta compara el signo de P respecto de los tres lados:
function signo(p, a, b) {
return (p.x-b.x)*(a.y-b.y)
- (a.x-b.x)*(p.y-b.y);
}
function contiene(tri, p) {
const s1=signo(p,tri.a,tri.b);
const s2=signo(p,tri.b,tri.c);
const s3=signo(p,tri.c,tri.a);
const negativo=s1<0 || s2<0 || s3<0;
const positivo=s1>0 || s2>0 || s3>0;
return !(negativo && positivo);
}
const triangulo = {
a: { x: 0, y: 0 },
b: { x: 6, y: 0 },
c: { x: 2, y: 4 }
};
const puntos = [
{ x: 2, y: 1 },
{ x: 3, y: 0 },
{ x: 6, y: 4 }
];
puntos.forEach(punto => {
const estado = contiene(triangulo, punto) ? "dentro" : "fuera";
console.log(`(${punto.x}, ${punto.y}): ${estado}`);
});Al presionar Ejecutar, se clasifican tres puntos; el que está sobre la base se considera parte del triángulo. El método funciona con orientación horaria o antihoraria.
Los triángulos se usan en rasterización, mallas, navegación, colisiones, interpolación baricéntrica, iluminación, recortes y descomposición de polígonos.
Una malla formada por decenas de triángulos se deforma como una superficie de agua. Una fuente luminosa recorre la escena y cada cara cambia de color según su distancia y orientación, como ocurre en mallas, iluminación y efectos low-poly.
Recuerda: los ángulos suman 180°, el área por coordenadas surge de un determinante y tres lados deben cumplir la desigualdad triangular. Estas ideas convierten al triángulo en una herramienta fundamental de los gráficos 2D.
En el próximo tema estudiaremos los polígonos.