L’examen porte sur votre connaissance de la POO en Java, et non des mathématiques.
Vous avez dès lors droit à ces quelques notions.
Le cercle trigonométrique pointé à droite :
Les angles sont exprimés en radians.
On tourne dans le sens inverse des aiguilles d’une montre.
Le rayon du cercle vaut 1.
Sa circonférence vaut donc 2 * PI.
Le sinus se mesure sur l’axe vertical, il va de -1 à 1.
Le cosinus se mesure sur l’axe horizontal, il va de -1 à 1.
Ne faites pas attention aux lettres entre parenthèses, qui évoquent les phases lunaires.
J’ai repris cette image du cours consacré aux tests.
Et pour que vous ne perdiez pas votre temps à des considérations trigonométriques,
voici le code source qui permet de calculer les coordonnées du satellite (le rond ou le carré qui tourne autour du centre).
Vous disposez déjà des coordonnées du centre et du rayon du cercle.
Le cercle a en fait deux rayons :
double angle; // Entre 0 et 2 * Math.PI
int centreX, centreY, largeur, hauteur;
posX et posY sont les coordonnées de la position du satellite qui tourne autour du centre.
int posX, posY;
Vous les calculez comme suit :
posX = centreX + (int)(Math.cos(angle) * largeur / 2);
posY = centreY - (int)(Math.sin(angle) * hauteur / 2);
Tout simplement.
L’important est que vous gériez bien cette animation dans une image de double-buffering motorisée par un thread.
Peu importe le sens de rotation, le pas, etc…
Avant de commencer l’examen, il est capital de bien évaluer votre niveau de stress.
Ces deux dauphins sont absolument identiques.