Accueil > Forum > > > > Position de la souris
Position de la souris
mardi 22 juillet 2008 à 01:34:20 |
Position de la souris

Samaths
|
Salut à tous. Je poste un message qui n'est pas vraiment une question, mais simplement une solution à un problème que j'ai eu (et que pas mal d'autres ont, avec ce que j'ai vu en faisant mes recherches).
Mon problème était le suivant: quand je clique avec ma souris sur la fenetre, opengl (et glut) me livre les coordonnées en pixel, et pas selon les coordonnées réelles, c'est à dire celle avec lesquelles on dessine. Visiblement, il y a un moyen sûr d'avoir celà, via la fonction gluUnProject . Dans mon cas, je n'arrive pas à faire marcher cette fonction (elle me donne n'importe quoi, mais pas ce que je veux).
De plus, mon cas est spécial: je ne fais que de la 2D (z=0) et je regarde toujours ce plan de manière perpendiculaire. J'ai donc pensé (à raison) quand dans ce cas particulier, il n'y avait pas besoin de sortir la grosse artillerie (c'est à dire d'inverser des matrices, ce qui n'est jamais très bon...).
Voici ma solution, qui me semble être juste.
1. Il faut utiliser la fonction gluPerspective(alpha, #, #, #) (# sont les autres arguments, qui importent peu) pour la projection 2. Pour la "vision", il faut utiliser la fonction gluLookAt( viewX, viewY, viewHeight, viewX, viewY, 0.0, 0.0, 1.0, 0.0) , c'est à dire qu'il faut regarder le plan de manière perpendiculaire à une hauteur de viewHeight au dessus du point (viewX,viewY,0.0).
Dans ce cas, voici les transformations: si la souris est à la position (x,y), alors on a comme point pointé sur l'image (xp,yp) avec:
xp = (x-320) * viewHeight * (2 * tan(alpha/2.0) ) / 640.0 + viewX yp = (320-y) * viewHeight * (2 * tan(alpha/2.0) ) / 640.0 + viewY
Ceci pour une fenetre 640x640 (sinon, c'est pas bien compliqué d'adapter, 320 étant la moitié de 640...)
Remarques finales: * une fois on a "x-320" et l'autre "320-y", c'est parce que glut compte les pixels depuis en haut à gauche (et pas en bas à gauche) * en général, alpha est constant. Un coup de calculatrice pour calculer une fois pour toute tan(alpha/2) permet d'économiser le cout de calcul de la fonction "tan" à tous les appels.
J'espère que ca pourra aider quelqu'un un jour, comme de nombreux autres posts de ce forum m'ont aidés!
|
|
Cette discussion est classée dans : fonction, alpha, souris, cas, viewheight
Répondre à ce message
Sujets en rapport avec ce message
randomize sous VC++ 6.0 non defini?? comment faire?? [ par petitivnnie ]
En effet je n'ai troué aucune occurence des les headers fournis dans la version 6.0 de visual C++J'aimerai que l'on m'indique comment implenter cette
suivi de souris/fonction gluUnProject [ par LudoBoOz ]
Salut @ tous!!Je rencontre des difficultes a faire suivre un quadrillage au mouvement de la souris. Le quadrillage est centre sur le pointeur de la so
Problème pour récupérer la position de la souris en permanance [ par pcrafale ]
Bonjour,J'ai un problème. Je programme en MFC sous VS.net. J'ai une fenêtre CDialog et je voudrai récupérer en permanence la position du pointeur.J'ar
Utiliser fonction PtInRegion en C [ par mimile87 ]
Bonjour à tous.Je voudrais savoir s'il était possible d'utiliser la fonction PtInRegion en C et comment (lib, includes...)... Pour l'instant je l'ai v
la souris [ par xbabilone ]
Bonne année a tous .Ma question est simple .On peut recuperer la position de la souris avec la fonction GetCursorPos() de façon simple.Peut on recuper
Fonction Thread [ par morino1003 ]
salut tout le monde.je veux faire une connexion entre host(mon pc) et un automate(Integra cobra 400).la connexion se fait par une liaison (demande/rep
DESACTIVER SOURIS RICHEDIT API WIN32 C [ par lectpe ]
Bonjour,je travaille avec l'API WIN32 en C et je voudrais savoir s'il existe une fonction pour désactiver la souris au dessus d'un richedit.Je m'expli
Récuperer la forme du curseur de la souris [ par kirby94460 ]
Bonjour , Voila mon soucis ,j'aimerais savoir s'il y avait une fonction qui retournerait la forme du curseur de la souris en C du genre FORM_DU_CURSO
CreateProcessWithLogonW [ par Rankin ]
Salut à tous, J'ai créé un programme qui doit exécuter des commandes sous un compte admin. J'ai prévu le cas où un utilisateur simple exécute mon app
un programme qui en crée un autre [ par ritchou42 ]
salut [^^yeuxenlair] je voulais savoir quel est la façon de procédé si je veux crée un programme sous win qui puissant générer un .exe en fonction du
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
Comparez les prix

HTC Hero
Entre 550€ et 550€
|