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 :

Concepts géométriques complexes


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Autodidacte
    Inscrit en
    Janvier 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Autodidacte

    Informations forums :
    Inscription : Janvier 2008
    Messages : 46
    Par défaut Concepts géométriques complexes
    Bonjour

    Je cherche les équations mathématiques permettant de se déplacer le long d'une droite dans un espace 3D.
    Lorsque cette droite correspond à l'un des axes il suffit de modifier la position sur cet axe, mais lorsque cette droite correspond à une diagonale entre les axes cela ce complique.

    J'ai lu des tutoriels sur les caméra «freefly» et des cours sur la trigonométrie sphérique et les coordonnées homogènes, mais je n'arrive toujours pas à calculer correctement les déplacements des objets de ma scène.

    Je n'ai pas peur des math, mais j'ai de la difficulté car je tente d'apprendre trop de nouvelles choses simultanément.
    Pouvez-vous m'aider à orienter mes recherches car je ne connais même pas les noms des notions de géométrie que je dois chercher à apprendre?

    Merci

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 035
    Billets dans le blog
    12
    Par défaut
    Si ton déplacement est linéaire, il s'agit d'une bête interpolation entre 2 points : Le départ et l'arrivée.
    Soit P1( x1, y1, z1 ) le point de départ et P2( x2, y2, z2 ) le point d'arrivée.
    A l'instant T les coordonnées d'un objet se déplaçant linéairement sur le segment P1P2 seront :

    Pt( x1 + T * (x2 - x1), y1 + T * (y2 - y1), z1 + T * (z2 - z1) )

    Il est tout à fait possible et fréquent de remplacer T par un pourcentage.
    A 0% on se trouverait donc avec Pt = P1.
    A 100% on se trouverait donc avec Pt = P2.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Autodidacte
    Inscrit en
    Janvier 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Autodidacte

    Informations forums :
    Inscription : Janvier 2008
    Messages : 46
    Par défaut
    Je vais essayer de mieux expliquer mon problème...

    Je tente de calculer les déplacements en fonction de la direction du regard
    de la caméra. La direction de la caméra est déterminée pas deux angles par
    rapport à l'axe Z. On peut imaginer une droite passant par l'origine et
    formant les mêmes angles.

    Le problème c'est que je ne cherche pas à effectuer les déplacement sur
    cette droite, mais parallèlement ou perpendiculairement à celle-ci.

    P1 est donc la position initiale de l'objet, mais P2 est inconnue.
    P2 doit former avec P1 une droite parallèle à la direction de la caméra dans
    le cas d'un déplacement frontal et perpendiculaire à la direction de la
    caméra dans le cas d'un déplacement latéral.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    152
    Par défaut
    Bonjour,

    Par rapport aux angles, vous pouvez déterminer le vecteur de direction. Pour cela, c'est un bête jeu de sinus/cosinus, sur le cercle (ou la sphère) trigonométrique. Il y a une explication dans ce tutoriel : http://jeux.developpez.com/tutoriels...-souris/#LIV-A

    Une fois que vous avez la direction, c'est plus que facile. Il suffit de faire : position + direction = nouvellePosition. Tada.

    Après, si l'équation d'une droite est :
    a +db.
    Une droite parallèle se détermine en modifiant le "a".
    Une droite perpendiculaire, hum, je n'ai pas de souvenir de savoir le faire
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 035
    Billets dans le blog
    12
    Par défaut
    Pour la droite perpendiculaire, un produit vectoriel entre le vecteur direction et le vecteur "top" devrait faire l'affaire, en inversant les opérandes pour aller à gauche ou à droite.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    152
    Par défaut
    Ah oui, merci, je cherchais où était le vecteur qui me manquait
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/10/2013, 20h30
  2. Conception requête complexe
    Par HadanMarv dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/02/2012, 11h51
  3. Réponses: 0
    Dernier message: 17/08/2010, 17h23
  4. Conception GUI "complexe"
    Par panda31 dans le forum Tkinter
    Réponses: 9
    Dernier message: 14/05/2009, 11h17
  5. [Conception] Réalisation d'un sondage complexe
    Par jehhej dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/01/2006, 10h30

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