Calculez l'aire d'un polygone.
Inspiré par cette vidéo d'algorithme de lacet.
Tâche
Votre travail consiste à créer un programme ou une fonction qui calcule l'aire d'un polygone. Le programme ou la fonction est défini selon la définition par défaut de la méta.
Contribution
Vous recevrez les coordonnées X et Y de chaque sommet du polygone. Vous pouvez prendre l'entrée comme une liste de tuples ( [[x1, y1], [x2, y2], etc]
), une matrice ou une liste plate ( [x1, y1, x2, y2, etc]
). Deux listes contenant x
et y
coordonnées respectivement sont également autorisées. Les sommets sont numérotés dans le sens antihoraire et le premier sommet est le même que le dernier sommet fourni, fermant ainsi le polygone.
Si vous le souhaitez, vous pouvez prendre l'entrée sans le dernier sommet (donc ne recevoir chaque coordonnée qu'une seule fois).
Vous pouvez supposer que les bords des polygones ne se coupent pas. Vous pouvez également supposer que tous les sommets ont des coordonnées entières.
Production
L'aire du polygone. Toutes les méthodes de sortie standard sont autorisées. Si votre langue ne permet pas la division flottante et que la solution ne serait pas un entier, vous êtes autorisé à renvoyer une fraction. La fraction ne doit pas nécessairement être simplifiée, donc le retour 2/4
serait autorisé.
Critère gagnant
Le code le plus court gagne!
Cas de test
[[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]]
55
[[1,1],[0,1],[1,0],[1,1]]
0.5
1/2
[x1, x2, x3], [y1, y2, y3]
autorisée?