Bonjour à toutes et à tous,
L'intitulé du message est trop court ... je n'ai pas eu la possibilité d'ajouter la fin alors je vais écrire le message complet maintenant :
"Comment déterminer les coordonnées d'un point dans un plan distant dans une vue en perspective à partir de la position du curseur de la souris sur la vue".
Je m'explique. J'ai réalisé un objet graphique affichant une carte en 2D. Je connais les coordonnées de cette carte et l'origine est fixé à x=0 et y=0 pour le coin inférieur gauche. Pour obtenir un effet de zoom, je dessine ma carte à différente distance en utilisant une vue en perspective.
Ce que j'aimerai bien faire c'est centrer ma carte sur une position arbitraire, la position étant donnée par la position du curseur de la souris sur la carte. Ma carte pouvant se trouver à différente distance, comment puis je faire pour déterminer la position sur la carte du point se trouvant sous le curseur de ma souris ?
Ma vue est définit de la façon suivante (code implémenté dans la fonction appelée à chaque demande de redimensionnement) :
Est ce qu'il existe une solution à mon problème sans être obligé d'utilisé une vue orthogonale ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 glViewport(0, 0, largeur, hauteur); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-largeur, largeur, -hauteur, hauteur, distanceMini, distanceMaxi); glMatrixMode(GL_MODELVIEW); glLoadIdentity();
D'avance merci pour votre aide.
Partager