protected function areaOfTriangle(
        PointInterface $a,
        PointInterface $b,
        PointInterface $c
    ) {
        list( $ax, $ay ) = $a->getCoordinates();
        list( $bx, $by ) = $b->getCoordinates();
        list( $cx, $cy ) = $c->getCoordinates();
        $area  = $ax * ( $by - $cy );
        $area += $bx * ( $cy - $ay );
        $area += $cx * ( $ay - $by );
        return abs($area / 2);
    }