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 :

Algo de "hitTest" sur un segment


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Points : 85
    Points
    85
    Par défaut Algo de "hitTest" sur un segment
    Salut,

    Je cherche l'algorithme le plus rapide en moyenne pour déterminer si un clic de souris défini par ses coordonnées est à proximité d'un segment défini par les coordonnées de ses deux extrémités. A priori la "proximité" se définit par une distance au segment inférieure à une constante, mais on peut l'adapter à l'algo si nécessaire du moment que ça ne change pas l'intuition qu'on en a.

    Merci

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Il suffit de calculer la distance entre le point et le segment.
    exemple

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Sylvain Togni
    Il suffit de calculer la distance entre le point et le segment.
    exemple
    Merci c'est très utile !

    Mais pensez vous que l'approche suivante soit valable pour optimiser le temps de réponse moyen :

    commencer par construire un rectangle élargi autour du segment, puis regarder l'intersection du point avec l'intérieur ce rectangle et seulement en cas d'intersection regarder la distance de plus près...

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Oui, c'est une optimisation classique pour ce genre de problème.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    et tu peux même décomposer en évitant éventuellement des comparaisons :

    rectangle x1,y1 x2,y2 x3,y3 x4,y4

    XMI = xmin-marge
    YMI = ymin - marge
    XMA = xmax+marge
    YMA = ymax+marge

    si x < XMI ou x > XMA
    rien
    si y < YMI ou y > YMA
    rien

    sinon intersection....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par souviron34
    et tu peux même décomposer en évitant éventuellement des comparaisons :

    rectangle x1,y1 x2,y2 x3,y3 x4,y4

    XMI = xmin-marge
    YMI = ymin - marge
    XMA = xmax+marge
    YMA = ymax+marge

    si x < XMI ou x > XMA
    rien
    si y < YMI ou y > YMA
    rien

    sinon intersection....

    OK merci beucoup je vais faire ça.

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

Discussions similaires

  1. [Quote] DVP quoté sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 26/09/2006, 18h52

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