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

Mathématiques Discussion :

Droite dans un triangle a partir d'une condition effectuée


Sujet :

Mathématiques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Droite dans un triangle a partir d'une condition effectuée
    Bonjour à tous! Désolé si le titre n'est pas très explicite, j'ai pas trouvé mieu...
    Voila mon probleme, j'ai deja ecrit ue fonction vérifiant qu'un point est dans un triangle en utilisant ces formules :
    (vect(AB) ^ vect(AM)) . (vect(AM) ^ vect(AC)) >= 0
    (vect(BA) ^ vect(BM)) . (vect(BM) ^ vect(BC)) >= 0
    (vect(CA) ^ vect(CM)) . (vect(CM) ^ vect(CB)) >= 0
    où ^ désigne le produit vectoriel de deux vecteurs
    . désigne le produit scalaire
    (extrait d'un thread déja existant ici meme!)

    Bref je voudrais a partir de cette fonction, adapté ca pour qu'au lieu que ce soit un point (M dans notre cas) ce soit une droite (MN appelons la) ou plutot un vecteur. Etant nul en maths, j'essayerai de faire mon possible pr comprendre vos explications!

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    ce soit une droite (MN appelons la) ou plutot un vecteur
    Une droite qui est non bornée n'est jamais incluse dans un triangle.
    Pour un vecteur qui n'est pas un ensemble de points, la question n'a même pas de sens.
    Ta question a un sens pour un SEGMENT noté [MN].
    Un triangle étant convexe, pour qu'un egment soit contenu dans l'intérieur il suffit que ses extrêmités le soient.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Merci pour ta réponse, mais j'ai besoin d'un vecteur qui correspond a ma position de ma camera pour le point de depart et le point de "vue" pour la direction vers où mon vecteur se dirige.
    J'en ai essentiellement besoin pour tester ma collision avec mes triangles dans ma scene 3D.
    Donc cela me semble pas impossible qu'on puisse tester la collision d'un vecteur avec un triangle, sinon je veux bien une autre solution pour ne pas passer a travers les triangles composant ma scene 3D notamment les murs de ma maison

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par wystan Voir le message
    Donc cela me semble pas impossible qu'on puisse tester la collision d'un vecteur avec un triangle, sinon je veux bien une autre solution pour ne pas passer a travers les triangles composant ma scene 3D notamment les murs de ma maison
    Si tu nous avait dis cela dès le début, on aurait mieux compris. Parce que ni le titre, ni ton premier post ne parlent de 3D.

    Bref, tu veux faire la classique "Ray-Triangle Intersection", ou plutot juste le test d'existence de l'intersection, en generalisant les test de signe des determinants.

    Ces travaux ont déjà été réalisés par un certain Julius Plücker, et voici un exemple de leur utilisation:

    http://tog.acm.org/resources/RTNews/...13n1.html#art8


  5. #5
    Membre habitué Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    . Parce que ni le titre, ni ton premier post ne parlent de 3D.
    En même temps, un produit vectoriel en deux dimensions...

    Pour le reste, désolé mais je ne comprends absolument pas ton problème. Pour tout te dire, un vecteur et une droite contenus dans un triangle, un vecteur indiquant une position...ça me hérisse véritablement les poils...Pourrais-tu reformuler ton problème un peu plus clairement?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Merci pour vos réponses!
    Je reformule donc, J'ai une scene 3d composé d'une maison, je veux me balader dans la maison et être bloqué quand j'arrive dans un mur (collision avec les triangles de la maison), bref pas passer à travers le mur
    Ma caméra est représenté sous forme de vecteur, un point indiquant la position de la caméra et un autre indiquant la direction vers laquelle la caméra voit. Donc j'image ma caméra représentée par un vecteur. Les murs de ma maison sont représentés par des triangles.
    Je veux donc faire la gestion des collisions en partant de mes équations tout en haut qui était utile pour detecter si un point 3D se trouver dans un triangle 3D ou sinon quelque chose de plutot accessible en maths 3D, pas d'explication mathématicienne sans sens pour moi et trop théorique, plutot quelque chose de pratique quoi!

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Si tu veux juste les formules de calcul du test de Plucker:

    http://tog.acm.org/resources/RTNews/...5n1.html#art10

  8. #8
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Les murs de ma maison sont représentés par des triangles.
    Ca doit être original, faudra m'inviter ... Chez moi ils sont bêtement rectangulaires.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/11/2006, 18h26
  2. Réponses: 4
    Dernier message: 19/10/2006, 17h19
  3. Réponses: 8
    Dernier message: 07/09/2006, 11h43
  4. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  5. Dcount dans un état a partir d'une requete
    Par dynexd dans le forum Access
    Réponses: 8
    Dernier message: 09/04/2006, 15h27

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