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

Algorithmes et structures de données Discussion :

Comparer l'emplacement d'un point par rapport à des segments


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut Comparer l'emplacement d'un point par rapport à des segments
    Bonjour,

    j'ai une liste de points dont je connais les coordonnées en abscisse et en ordonnée.

    Mon but est d'arriver à savoir quels points sont d'un côté d'une série de segments et lesquels sont de l'autre (j'ai mis une pièce jointe pour être plus explicite).

    Si on a un seul segment, ça parait simple :
    avec les points des extrémités du segment on retrouve l'équation de la droite et on applique cette équation aux coordonnées du point qu'on veut tester.

    Mais pour comparer à une série de segment ça à l'air beaucoup plus compliqué et je ne vois pas comment faire.

    Avez-vous une idée ?

    Bonne journée.
    Merci.
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    la ligne rouge est une fonction affine par morceaux et bijective sur son ensemble de définition. C'est donc possible à partir de l'équation cartésienne de chacun des segments (puis par différence avec les ordonnées des points).

    Steph

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut
    Merci pour ta réponse.

    La pièce jointe était un exemple.
    Je pense que la série de segment pourrait aussi bien être de ce style :
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    > Je pense que la série de segment pourrait aussi bien être de ce style

    Je me doutais bien

    Quelques pistes :

    http://www.developpez.net/forums/d81...olygone-ferme/

    http://www.developpez.net/forums/d33...ieur-polygone/

    http://www.developpez.net/forums/d88...ieur-polygone/

    Steph

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut
    Merci pour la réponse et pour les liens.

    Cependant dans ces 3 liens il s'agit de polygones et non d'une suite de segments.

    N'y a-t-il pas un moyen simplement avec les segments ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann_69 Voir le message
    Cependant dans ces 3 liens il s'agit de polygones et non d'une suite de segments.

    N'y a-t-il pas un moyen simplement avec les segments ?
    Ca me semble pas compliqué de construire deux polygones fermés avec ta distribution de points M(x,y), non ?

    Les points (Min(x)-1, Min(y)-1), (Min(x)-1, Max(y)+1), (Max(x)+1, Max(y)+1), (Max(x)+1, Min(y)-1) définissent un carré qui contient toute ta distribution de points. Ta fonction affine par morceaux va partager ce carré en 2 polygones...

    Steph

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut
    Oui, tu as raison. Je n'avais pas suffisamment réfléchi.

    J'ai un algorithme qui marche pour voir si le point est dans le polygone ou non donc tout devrait fonctionner.

    Merci beaucoup pour ton aide.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Par défaut
    Hello, je ne sais pas si c'est fait, mais pourquoi ne pas créer une fonction qui vérifie l’intersection d'un segment donné avec avec ton séparateur (bool isIntersect(l)). tu parcours tes points en les reliant par un segment, si le segment s'intersecte avec ton séparateur tu vire la deuxième extrémité de ton ensemble (donc le point est de l'autre ensemble) et tu continu jusqu'à ce qu'il n'y a plus de points.
    Je pense que cette approche est meilleur en complexité

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul de point par rapport à une image
    Par Original1992 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/05/2014, 17h33
  2. Position d'un point par rapport a un vecteur
    Par moechofe dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 27/08/2012, 10h18
  3. Calcul % d'ecart d'un point par rapport droite de tendance
    Par mat-tech dans le forum Statistiques, Data Mining et Data Science
    Réponses: 3
    Dernier message: 16/06/2008, 19h23
  4. Html : liste de choix par rapport à des choix
    Par Djwaves dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/03/2006, 16h52
  5. [MATH] Point par rapport à une droite
    Par teska dans le forum Mathématiques
    Réponses: 6
    Dernier message: 14/05/2003, 16h11

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