Yo soy noob :D
La manera mas fácil es hacer segmentos dirigidos entre los 3 vértices respecto a 1 punto y obtener el área utilizando producto cruz, Si el area es igual a 0 se trata de una recta si es diferente se trata de un triangulo.
PHP:
Código PHP:
Ver original<?php
function magnitud($c){
return sqrt( ($c[0]*$c[0])+($c[1]*$c[1])+($c[2]*$c[2]) ); }
function getVector($A,$B){
$cadena = ($B[0] - $A[0]).",".($B[1]-$A[1]).",".($B[2]-$A[2]);
}
function esTriangulo($A,$B,$C){
//¿Es el mismo punto?
$equals = ($A==$B OR $A==$C OR $B==$C) ? true : false;
if($equals) return false;
//Obtengo los puntos
$vector1 = getVector($A, $B);
$vector2 = getVector($A, $C);
$i = $vector1[1]*$vector2[2] - $vector2[1]*$vector1[2];
$j = ($vector1[0]*$vector2[2] - $vector2[0]*$vector1[2])*-1;
$k = $vector1[0]*$vector2[1] - $vector2[0]*$vector1[1];
$area_total = (magnitud
(preg_split("/,/", $i.",".$j.",".$k))/2);
if($area_total==0) return false; else return true;
}
$A = "3,1,4";
$B = "3,3,4";
$C = "3,8,4";
if(esTriangulo($A, $B, $C)) echo "Si es un triangulo";
else echo "No es un triangulo";
?>
Feliz año nuevo un saludo y fuerte abrazo atodos mis amigos de ForosDelWeb. Nos vemos el 3 de Enero. Be Happy everybuddy!