Calcular área de triángulo a partir de coordenadas de sus vértices

Necesito obtener el área de un triángulo a partir de las coordenadas de sus vértices. De momento lo estoy intentando así:
1 - Obtengo el tamaño de los lados:
a=sqrt(((x2 - x1)^2)+((y2 - y1)^2));
b=sqrt(((x3 - x1)^2)+((y3 - y1)^2));
c=sqrt(((x3 - x2)^2)+((y3 - y2)^2));
2 - Obtengo el area:
s=(a+b+c)/2;
A=sqrt(s*(s-a)*(s-b)*(s-c));
Nota: sqrt es raíz cuadrada.
No me funciona y quería saber si me pueden ayudar con esto.

2 respuestas

Respuesta
1

La fórmula que estás aplicando debería funcionar. Podrías poner el ejemplo numérico para ver la falla porque, a priori, veo dos posibilidades:

1. Errores de redondeo

2. Estás intentando esto mediante algún software y se "confunde" con las variables 'a' y 'A'

Si tenés algún caso concreto, publicalo y lo confirmamos, igualmente te dejo el caso "trivial" para que veas que funciona (claro que un caso particular no demuestra nada, pero te puede dar confianza en que sirve :))

(x1,y1) = (0,0)

(x2,y2) = (1,0)

(x3,y3) = (0,1)

Como te habrás dado cuenta, es el triángulo rectángulo "apoyado" en los ejes coordenados que tienen catetos de dimensión 1, y la hipotenusa = sqrt(2), cuyo área es A = 1*1/2 = 1/2

Aplicando tu fórmula tendríamos:

$$\begin{align}&a=\sqrt{(1 - 0)^2+(0 - 0)^2} = \sqrt 1 = 1\\&b=\sqrt{(0 - 0)^2+(1 - 0)^2} = \sqrt 1 = 1\\&c=\sqrt{(0 - 1)^2+(1 - 0)^2} = \sqrt 2\\&\\&s=\frac{(a+b+c)}{2} = \frac{1+1+\sqrt 2}{2} = \frac{2+\sqrt 2}{2}\\&A = \sqrt{s (s-a) (s-b) (s-c)} = \sqrt{\frac{2+\sqrt 2}{2} (\frac{2+\sqrt 2}{2} - 1) (\frac{2+\sqrt 2}{2} - 1) ( \frac{2+\sqrt 2}{2} - \sqrt 2)}\\&\text{reescribo para simplificar la expresión}\\&\sqrt{(1+\sqrt 2/2) (1 + \sqrt 2 / 2 - 1) (1 +\sqrt 2/2 - 1) ( 1+ \sqrt 2 /2 - \sqrt 2)}=\\&\sqrt{(1+\sqrt 2/2) (\sqrt 2 / 2) (\sqrt 2 / 2) ( 1- \sqrt 2 /2)}=\\&\sqrt{(1^2 - (\sqrt 2/2)^2 ) (\sqrt 2 / 2)^2  }=\sqrt{(1 - 1/2  ) (1/2)  }=\sqrt{(1/2)^2  }=1/2\end{align}$$
Respuesta

;)
Si conoces los determinantes, es muy facil:

y si conoces el Producto Vectorial, también:

Si no, aquí tienes el procedimiento

SAludos

;)

;)

;)
Tu procedimiento, utilizando la fórmula de Heron tambien es correcto

;)

;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas