IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Paramétrer gluLookAt ()


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Paramétrer gluLookAt ()
    Bonjour,
    Est ce qu'il y a quelqu'un qui a un exemple de paramétrage de la caméra avec l'instruction gluLookAt(). C'est à dire selon la position x, y, z de la scène, la caméra sera deplacée en fonction des touche du clavier par exemple. Donc comment choisir les coordonnées de la caméra, l'endroit où elle regarde et le vecteur (selon x, y ou z)?

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Tout dépend de ta structure de donnée pour ta caméra. Si tu gère la position de la caméra et une target, tu as directement tes paramètres, si tu utilises une position et une direction, il te faudra faire un petit calcul de cosinus et de sinus

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    En fait, je veux plus utiliser translate et rotate. je veux paramétrer gluLookAt() pour faire les mêmes fonctionnalités de translate et rotate. J'utilise les évennements du clavier et de la souris pour me deplacer dans la scène. Mais, j'arrive pas à trouver les meilleurs paramètres et les meilleures mesures pour avoir un déplacement réaliste dans la scène. Donc, je me demande s'il y a un algorithme et une méthode pour faire des déplacements d'une manière optimale.

  4. #4
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    En fait, je veux plus utiliser translate et rotate. je veux paramétrer gluLookAt() pour faire les mêmes fonctionnalités de translate et rotate. J'utilise les évennements du clavier et de la souris pour me deplacer dans la scène. Mais, j'arrive pas à trouver les meilleurs paramètres et les meilleures mesures pour avoir un déplacement réaliste dans la scène. Donc, je me demande s'il y a un algorithme et une méthode pour faire des déplacements d'une manière optimale.
    Normallement, les translates correspondent à ta position, et les rotates, à la target ( direction de la caméra ). Pour cela, il faut passer de ton repère "sphérique" (rotate) à un repère "euclidien" (position x,y,z ) à grand coup de cos et de sin (ou de quaternion).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Le problème est que j'arrive pas à trouver les bonnes valeurs de X, Y et Z. Même avec translate et rotate, je peux pas me déplacer d'une manière efficace dans la scène. Je suis débutant en OpenGL .

  6. #6
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    Le problème est que j'arrive pas à trouver les bonnes valeurs de X, Y et Z. Même avec translate et rotate, je peux pas me déplacer d'une manière efficace dans la scène. Je suis débutant en OpenGL .
    Tu peux, par exemple, bouger la position de ta caméra avec les touches du clavier ( ce qui changera les X,Y,Z de la caméra ) et changer l'orientation avec les déplacement + clic de la souris ( ce qui changera l'orientation, donc la target )

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Pour faire une application intéractive, je gère 3 variable x, y et z. En cliquant sur une touche du clavier, les valeurs de x,y et z changent et les objets 3D de mon modèle se déplacent. Mon problème est comment augmenter ou duminuer les valeurs de x, y et z pour avoir un déplacement optimal? Ma fonction gluLookAt() est paramétrée mais elle n'est pas optimale et les déplacement se font n'importe comment.
    Comment on fait pour faire des zooms par exemple?

  8. #8
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    Pour faire une application intéractive, je gère 3 variable x, y et z. En cliquant sur une touche du clavier, les valeurs de x,y et z changent et les objets 3D de mon modèle se déplacent. Mon problème est comment augmenter ou duminuer les valeurs de x, y et z pour avoir un déplacement optimal? Ma fonction gluLookAt() est paramétrée mais elle n'est pas optimale et les déplacement se font n'importe comment.
    Comment on fait pour faire des zooms par exemple?
    Je pense que tu as un petit problème du design de ta caméra. Il n'y a pas de formule magique. Il faut que tu réfléchisse à ce qu'elle doit faire, comment elle se déplace, comment elle tourne ... avant de l'implémenter. Il n'y a pas de réglage "optimal" ...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Ok j'ai compris, merci pour ta réponse.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Classe caméra OpenGL
    Bonjour,
    Est ce qu'il y a quelqu'un qui a un exemple d'implémentation de la méthode gluLookAt(...) dan une classe Camera? C'est à dire les déplacements et les rotations dans les différents sens.
    J'ai trouvé quelques exemples sur le net, mais ça marche pas bien.
    Merci.

  11. #11
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    N'as tu pas eu ta réponse dans ce topic : http://www.developpez.net/forums/sho...d.php?t=578628 ???

    edit modération : hop fusion des discussions
    ce n'est pas parcequ'une discussion est résolue qu'on ne peux plus y poster de message (non mais)
    bonus : j'ai retiré le tag résolu donc

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par raptor70 Voir le message
    N'as tu pas eu ta réponse dans ce topic : http://www.developpez.net/forums/sho...d.php?t=578628 ???

    Vraiment, j'arrive pas à bien paramétrer ma classe Camera. J'ai cherché sur le net, j'ai utilisé quelque exemples mais ça marche pas bien. Je suis bloqué la. De plus, le mot "Résolu" de la discussion de http://www.developpez.net/forums/sho...d.php?t=578628 , c'est vous qui l'a mis et c'est pas moi.

  13. #13
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    Vraiment, j'arrive pas à bien paramétrer ma classe Camera. J'ai cherché sur le net, j'ai utilisé quelque exemples mais ça marche pas bien. Je suis bloqué la. De plus, le mot "Résolu" de la discussion de http://www.developpez.net/forums/sho...d.php?t=578628 , c'est vous qui l'a mis et c'est pas moi.
    J'ai effectivement mis le tag resolu car tu semblais avoir eu ta réponse. As tu plus d'explications sur tes problèmes ? des exemples de code ? Cela permettrait de te répondre plus précisément dans ce cas...

    De plus, te donner un "exemple" de code ne t'apporterait rien, il est préférable pour toi que l'on t'explique des solutions pour que tu comprennes d'où viennent tes problèmes.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Je suis tellement d'accord avec toi, mais je suis incapable de faire des mesures en Cosinus et Sinus car je suis pas bien placé pour ça. De plus, à mon avis, la même classe Camera peut servir pour plusieurs applications donc pouquoi réinventer la roue .

  15. #15
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    Je suis tellement d'accord avec toi, mais je suis incapable de faire des mesures en Cosinus et Sinus car je suis pas bien placé pour ça. De plus, à mon avis, la même classe Camera peut servir pour plusieurs applications donc pouquoi réinventer la roue .
    Malheureusement, il n'y a pas de miracle .. mais les cosinus et sinus sont indispensable dans le programmation 3D. Je te conseille de regarder les notions de base de mathématique 3D. Tu peux commencer par la : http://jeux.developpez.com/faq/matquat/

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par raptor70 Voir le message
    Malheureusement, il n'y a pas de miracle .. mais les cosinus et sinus sont indispensable dans le programmation 3D. Je te conseille de regarder les notions de base de mathématique 3D. Tu peux commencer par la : http://jeux.developpez.com/faq/matquat/
    Merci raptor70, mais c'est pas encore résolu , lol

  17. #17
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Bon, tu n'as pas besoin de faire des cosinus et sinus explicitement pour gluLookAt().

    Si tu raisonnes en algèbre linéaire, pense à une rotation comme un changement de repère. Il suffit d'exprimer les coordonnées d'un repère dans l'autre pour obtenir la matrice de rotation, en sachant que l'inverse de cette matrice n'est autre que la transposée (on le démontre en raisonnant dans l'autre sens).

    Il faut ensuite ajouter la translation, c'est alors un jeu d'enfant.

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par HanLee Voir le message
    Il faut ensuite ajouter la translation, c'est alors un jeu d'enfant.
    J'ai déjà utilisé les translate et rotate. Mais, moi je veux utiliser que gluLookAt(). Je gère bien les endroits où la caméra regarde, mais je sais pas (pour le moment) comment placer la caméra (position de la caméra) par rapport au point auquels elle regarde.

  19. #19
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par choko83 Voir le message
    J'ai déjà utilisé les translate et rotate. Mais, moi je veux utiliser que gluLookAt(). Je gère bien les endroits où la caméra regarde, mais je sais pas (pour le moment) comment placer la caméra (position de la caméra) par rapport au point auquels elle regarde.
    Je vais répondre à ta question par une question .... que veux tu faire avec ta caméra ? où veux tu qu'elle regarde ? comment ce déplace t'elle ? Comme je te l'ai déjà dit dans l'autre post, il n'y a pas de recette magique, pas de règle absolu...

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par raptor70 Voir le message
    Je vais répondre à ta question par une question .... que veux tu faire avec ta caméra ? où veux tu qu'elle regarde ? comment ce déplace t'elle ? Comme je te l'ai déjà dit dans l'autre post, il n'y a pas de recette magique, pas de règle absolu...
    J'ai une position (X, Y, Z) connue d'un objet 3D. Je veux que ma caméra se deplace autour de cet objet en utilisant par exemple les touche du clavier .

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo