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 :

Gestion de la trajectoire de visualisation d’une scène 3D


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut Gestion de la trajectoire de visualisation d’une scène 3D
    Bonjour à tous, étant novice en openGL, je souhaiterais votre aide pour résoudre le problème suivant :


    On suppose que la scène est constituée d’un cube centré à l’origine de l’espace de définition. J'ai déjà construit le cube qui constitue ma scène,je souhaite maintenant animer ma caméra suivant une trajectoire la plus fluide possible. Pour faire simple ,la caméra doit viser à tout moment l’origine de l’espace de définition. L’acquisition d’un certain nombre de points de contrôle définira cette trajectoire comme une courbe. Cependant si l'on se contente de ces points la trajectoire de la caméra sera saccadée.
    Il me faut donc implanter des méthodes d’approximation ou interpolation de courbes ( Il paraît à cet effet que les méthodes de Courbes de Bezier, et les B-Spline sont efficaces).

    L'idéal serait d'élaborer une interface graphique (Mon support de programmation étant le langage C, les librairies OpenGL et GLUT) qui va contrôler interactivement différents facteurs de ce processus, comme :
    1) les paramètres de la caméra (zoom, orientation, etc...) et sa vitesse de déplacement.
    2) le déplacement, la saisie et la suppression de points de contrôles de la trajectoire de ma caméra.




    Merci d'avance de votre aide précieuse car pour l'instant je patauge.

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut Re: Gestion de la trajectoire de visualisation d’une scène 3
    Citation Envoyé par keane35
    Pour faire simple ,la caméra doit viser à tout moment l’origine de l’espace de définition.
    Pour cela, tu peux utiliser gluLookAt.

    L’acquisition d’un certain nombre de points de contrôle définira cette trajectoire comme une courbe. Cependant si l'on se contente de ces points la trajectoire de la caméra sera saccadée.
    Il me faut donc implanter des méthodes d’approximation ou interpolation de courbes ( Il paraît à cet effet que les méthodes de Courbes de Bezier, et les B-Spline sont efficaces).
    Effectivement, c'est sûrement les meilleures solutions et ne sont pas tellement difficiles à mettre en oeuvre.

    L'idéal serait d'élaborer une interface graphique (Mon support de programmation étant le langage C, les librairies OpenGL et GLUT) qui va contrôler interactivement différents facteurs de ce processus, comme :
    1) les paramètres de la caméra (zoom, orientation, etc...) et sa vitesse de déplacement.
    2) le déplacement, la saisie et la suppression de points de contrôles de la trajectoire de ma caméra.
    Déjà plus difficile à mettre en place. En effet, la vue en 3D sera difficile à gérer du point de vue gestion des points que doit faire ta caméra. Une solution plus simple serait de mettre les points dans un fichier que le programme lira lors de l'exécution.

    Bien que moins intuitif pour modifier la position des points, cela sera sûrement plus facile. Ou alors, peut-être qu'une vision en 2D vue du dessus pour la mise en place des points et pour chaque point tu définis le niveau de la hauteur (via le clavier)... Mais même cela n'est pas forcément évident pour un débutant...

    Jc

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut
    Bonjour, justement comment me servir de cette fonction?
    Je sais que c'est elle qui gère le déplacement d'une caméra en openGL.
    Comment faire en sorte que ma caméra passe d'un point donné à un autre point , avec cette même fonction gluLookAt?
    merci de me répondre ça m'aidera vraiment.

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par keane35
    Bonjour, justement comment me servir de cette fonction?
    Je sais que c'est elle qui gère le déplacement d'une caméra en openGL.
    Comment faire en sorte que ma caméra passe d'un point donné à un autre point , avec cette même fonction gluLookAt?
    merci de me répondre ça m'aidera vraiment.
    Ta caméra suit une courbe:

    x = 3t
    y = 4t*t + 2
    z = 0
    où t est le facteur temps...

    Pour calculer cette courbe tu vas utiliser les courbes de Bézier ou les splines... Ensuite, il suffira de faire un petit calcul pour calibrer le temps qu'il faut pour aller de chaque point au suivant...

    Je pense que pour faire ce projet, ton premier problème est de calculer les interpolations, ensuite concentre toi à pouvoir faire bouger la caméra (donc calculer sa position en fonction du temps) et enfin la faire regarder vers ton cube...

    Pour gluLookAt, voici un lien rapidement trouvé avec :

    http://pyopengl.sourceforge.net/documentation/manual/gluLookAt.3G.html
    ou une petite explication en fin de page ici
    http://www.linuxgraphic.org/section3d/openGL/didacticiels/didac4/didac1.html

    Bref, est ton ami...

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    les courbes de catmull clark (pas sur du nom exact) ne serait pas plus appropriée dans ton cas ?
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 196
    Par défaut
    Bonjour keane35,

    En passant, dans quelle école suit-tu ces cours?
    ( cela m'interesserait beaucoup de suivre des cours OpenGL !!!! )

    merci encore!

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut
    je suis dans une fac plutôt.

Discussions similaires

  1. Une interface graphique de visualisation d’une ontologie
    Par fouziazagout dans le forum NetBeans
    Réponses: 0
    Dernier message: 12/02/2014, 17h04
  2. Réponses: 4
    Dernier message: 28/08/2009, 19h41
  3. Liste chainée+Gestion dune liste client
    Par boby35 dans le forum C
    Réponses: 8
    Dernier message: 01/12/2007, 12h25
  4. Réponses: 12
    Dernier message: 22/09/2006, 13h45
  5. Gestion d’Un Msgbox dans la Fermeture d’une application
    Par hoummass dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/11/2005, 16h44

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