Área de um polígono

Dado um array não ordenado contendo os vértices de um polígono convexo, calcule sua área.

Exemplos

polygon([[2, 5], [5, 1], [-4, 3]]) ➞ 15.0

polygon([[-1, 1], [1, 1], [-1, -1], [1, -1]]) ➞ 4.0

polygon([[2, 2], [11, 2], [4, 10], [9, 7]]) ➞ 45.5

polygon([[5, 3], [3, 4], [12, 8], [5, 11], [9, 5]]) ➞ 39.0

Observações

  • Um polígono convexo tem todos os ângulos internos menores que 180 graus.
  • O primeiro exemplo tem apenas 3 vértices, então esse array já está ordenado por padrão.