Repère et angles...

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Paidon
Messages: 1
Enregistré le: 17 Mai 2017, 22:28

Repère et angles...

par Paidon » 17 Mai 2017, 23:20

Bonjour,

Voici mon problème. Je suis en train de développer un projet informatique en Processing, pour lequel un petit robot mobile doit parcourir une pièce et la cartographier. J'ai donc créé une carte, mais j'ai voulu rendre celle-ci interactive : l'utilisateur doit pouvoir zoomer sur la carte, effectuer une rotation, et déplacer celle-ci.

En Processing, une fonction très simple m'a permis d'effectuer une rotation de la carte autour d'un centre.

Le problème qui se pose est celui-ci :
Image

Soit le repère Oxy (y est inversé par rapport à un repère normal, le (0,0) d'un écran d'ordinateur correspondant au coin en haut à gauche). Le point A désigne le coin supérieur gauche de la carte, le point B le centre de rotation. Afin de déplacer la carte, l'utilisateur décide de cliquer au point C, et de relâcher le pointeur au point C'. Étant donné qu'on affiche une image en Processing à partir de son coin supérieur gauche, il devient simple de calculer le nouveau point de départ de la carte :




Maintenant, effectuons une rotation du point A et de la carte autour du point B :

Image

Cette fois-ci, on effectue à nouveau un déplacement du point C vers le point C'. Mais comme la carte a tourné, je ne peux pas me contenter d'appliquer la même formule que tout à l'heure : en effet, cette fois-ci, le point C est bien déplacé en C', et j'ai les coordonnées de ces deux points dans le repère Oxy. Toutefois, la rotation de la carte étant effectuée avec une fonction préconçue de Processing, je possède les coordonnées du point A avant la rotation en Oxy, mais pas dans le nouveau repère O'x'y' créé par la rotation, ni sa correspondance dans le repère Oxy. J'ai seulement l'angle de rotation, que j'appellerai (en radians).

Le problème qui se pose est que, actuellement, j'applique la même formule même lorsqu'il y a une rotation : ainsi, lorsque la carte est tournée à 180°, et que je souhaite déplacer la carte vers la droite, elle se déplace vers la gauche.

Il me semble donc que je doive :
- Convertir le déplacement entre C et C' dans le nouveau repère O'x'y' ;
- Appliquer ce déplacement à A pour obtenir les coordonnées de A' dans O'x'y ;
- Convertir A' du repère O'x'y' vers le repère Oxy...

En m'aidant de deux trois tutos par-ci par-là, j'ai trouvé cette formule pour la première étape :






Ensuite, il suffirait de soustraire C' à C pour obtenir le déplacement, et l'ajouter à A pour obtenir A' :






J'ai un souci pour la dernière étape, consistant à retrouver A' dans le repère Oxy...

EDIT : J'avais pensé trouver un début de solution, en effectuant une nouvelle rotation de 2*pi-theta :



Malheureusement ça n'a pas l'air de marcher...

Pourriez-vous m'aider ?

Merci d'avance :)



 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 56 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite