Skip to content

Instantly share code, notes, and snippets.

@LucaDantas
Last active June 19, 2021 15:37
Show Gist options
  • Save LucaDantas/f83f9a941af5aeafdf6368225984a217 to your computer and use it in GitHub Desktop.
Save LucaDantas/f83f9a941af5aeafdf6368225984a217 to your computer and use it in GitHub Desktop.
// Para evitar o uso de doubles o valor retornado pela função é a área do polígono multiplicada por 2
long long area(vector<Pt> polygon) {
Pt base = polygon[0];
long long area = 0;
for(int i = 1; i < (int)(polygon.size()) - 1; i++)
area += (polygon[i]-base) / (polygon[i+1]-base);
return abs(area); // lembrar-se de retornar o módulo da área, pois dependendo da maneira que o polígono foi dado,
} // ao realizarmos o cross o valor deles pode ser negativo ou positivo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment