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

Développement 2D, 3D et Jeux Discussion :

calculer l'intersection d'une droite et un point


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Points : 55
    Points
    55
    Par défaut calculer l'intersection d'une droite et un point
    Salut, je travaille sur une petite appli 3D en openGL et j'ai une question pratique :

    J'ai d'un côté une représentation d'un joystick dont la position et l'orientation me sont transmis dans une matrice 4*4 (gmtl::Matrix44f pour ceux qui connaissent). Je n'ai pas encore trouvé à quel endroit la matrice est remplie.
    A partir de cette représentation, je trace un trait (ou laser) qui "part" du joystick et qui suit son orientation.
    J'ai aussi un point P dans la scène 3D, dont je connais les coordonnées x, y et z.

    Je voudrais savoir comment vérifier que le laser passe par le point P ? Vous avez des propositions ? Si possible simples...

    Merci d'avance !

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    tu calcule le vecteur qui va de l'origine du laser vers le point, et tu regarde si il est colinéaire avec ta direction.

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    Soit O origine de ta droite, (joystik je crois)
    Soit N un point de la droite ( vecteur ON, direction de la droite )
    Soit P ton point à vérifier.

    Tu calcules le produit scalaire entre les vecteurs ON et OP. Tu élèves au carré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    vecteur ON,OP;
    (ON.OP)*(ON.OP) == 1; // opérateur . est le produit scalaire
    On élève au carré car le produit scalaire peut être 1 ou -1 si le point est sur la droite

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/07/2009, 22h51
  2. Réponses: 4
    Dernier message: 01/06/2009, 16h34
  3. intersection d'une droite avec un triangle dans l'espace
    Par mylace dans le forum Mathématiques
    Réponses: 3
    Dernier message: 07/02/2009, 14h12
  4. Intersection d'une droite et d'un plan
    Par Snark dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 14/12/2005, 19h24

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