Académique Documents
Professionnel Documents
Culture Documents
Partie A:
1. Définir une classe Point qui modélise un point dans un espace à 2 dimensions (on
supposera que les coordonnées sont représentées sous forme de réel). En plus des accesseurs
cette classe doit fournir une méthode distance telle que, si p et q sont des instances de
Point :
2. Définir une classe Polygone qui modélise un polygone dans un espace à 2 dimensions. Le
nombre de côtés du polygone est donné en paramètre de construction et ne pourra pas être
changé par la suite, par contre les points définissant les extrémités du polygone pourront
être manipulés. Pour cela la classe doit fournir les méthodes:
- Point getPoint(int n) , retourne le point numéro n (si le polygone contient N points on
numérote les points de 0 à (N-1)).
Remarque: on fera attention de NE PAS définir un attribut nbrCotes dans la classe Polygone!
1. Ecrire une méthode PointAuHasard qui génère un ensemble de n points du plan (on
prendra n = 20). Dans la plage [0,100]*[0,100]
2. Ecrire une méthode AnglePolaireInferieur qui prend en entrée trois points du plan p0, p1 et
p2 (donnés par leurs coordonnées) et qui renvoie Vrai si p2 est strictement à droite de la droite
(p0p1) orientée de p0 à p1 et Faux sinon.
3. Listes des algorithmes a implementer :
a. La marche de Jarvis : https://fr.wikipedia.org/wiki/Marche_de_Jarvis Ecrire
une méthode Jarvis, codant le parcours de Jarvis, qui prend en entrée un ensemble Q
de n points du plan numérotés de 0 à n − 1, donnés par leur coordonnées, et qui
retourne une liste envconv contenant la liste cyclique des indices des points formant
les sommets de l’enveloppe convexe de Q. On commencera et terminera cette liste par le
point d’ordonnée minimum. Une telle liste peut être codée par un tableau de taille n + 1,
contenant les indices des sommets de l’enveloppe convexe et complétée par les valeurs
-1.
b. L'algorithme de Chan : https://fr.wikipedia.org/wiki/Algorithme_de_Chan