static function distance($point1, $point2)
{
//if( !isset( self::$distanceTable[ $point1->guid ][ $point2->guid ] ) ) {
$a = $point2->x - $point1->x;
$b = $point2->y - $point1->y;
$distance = round(sqrt(pow($a, 2) + pow($b, 2)), 1);
self::$distanceTable[$point1->guid][$point2->guid] = $distance;
self::$distanceTable[$point2->guid][$point1->guid] = $distance;
//}
return self::$distanceTable[$point1->guid][$point2->guid];
}
static function aireTriangle($pointA, $pointB, $pointC) { $AB = Point::distance($pointA, $pointB); $BC = Point::distance($pointB, $pointC); $AC = Point::distance($pointC, $pointA); return sqrt(($AB + $BC + $AC) * (-$AB + $BC + $AC) * ($AB - $BC + $AC) * ($AB + $BC - $AC)) / 4; }