Ordenar en sentido antihorario los puntos del polígono rectilíneo

Me dan un polígono rectilíneo cuyas coordenadas están dadas.
Por favor, sugiérame una solución para ordenar en sentido contrario a las agujas del reloj, de manera que se pueda formar una línea cerrada.

bool mycomparator(Point p1,Point p2){

    return ((p1.x*p2.y-p2.x*p1.y)>0);

}

void sort_anticlockwise(vector<Point> v){

    sort(v.begin(),v.end(),mycomparator);

}

Pero esto no está funcionando.
Por favor proporcione una solución.

Respuestas a la pregunta(1)

Su respuesta a la pregunta