Polygon
Cette classe représente un polygone en 2D, avec quelques fonctions utilitaires :
denormalize: en considérant que le polygone actuel est normalisé (c'est-à-dire toutes les coordonnées de ses points sont comprises entre 0 et 1), renvoie un polygone agrandit selon la taille passée en paramètres.is_point_inside: permet de déterminer si un point est situé à l'intérieur du polygone ou à l'extérieur. L'algorithme utilisé (provenant d'ici) fonctionne en comptant le nombre d'arêtes du polygone traversées en traçant une demi-droite en partant du point : s'il est impair le point est dans le polygone, s'il il est pair le point n'est pas dans le polygone