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

AWT/Swing Java Discussion :

Récupérer l'ensemble des points d'une droite


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Récupérer l'ensemble des points d'une droite
    voila je dessine un ligne à travers la commande

    g.drawLine(x1,y1,x2,y2)

    et j'aimerais savoir si il existe un fonction me permettant de récupérer l'ensemble des points de cette droite !!!

    Je dois calculer la distance la plus courte entre un points en dehors de cette ligne et cette ligne... et je susi bloqué...

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut Re: :oops: Récupérer l'ensemble des points d'une droite
    Bonjour et bienvenue sur le forum

    Citation Envoyé par Psycho_Kwak
    Je dois calculer la distance la plus courte entre un points en dehors de cette ligne et cette ligne... et je susi bloqué...
    Mathématiquement, la distance la plus courte entre un point et une droite, c'est la distance entre ce point et le point d'intersection de la perpendiculaire à la droite passant par le point ... hum c'est clair ?

    Je pense donc que récupérer l'ensemble des points de la droite n'est pas indispensable, en faisant quelques calculs de géométrie (équations de droites), on doit pouvoir retrouver la distance

    Si tu as besoin d'aide ou de plus de précisions n'hésites pas
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Cette fonction est disponible dans la classe Line2D sous le nom ptLineDist().
    Romain Guy
    Android - Mon livre - Mon blog

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponse g trouvé la solution à mon problème :

    Cette méthode permet de passer les coordonnées de la ligne (x1, y1, x2, y2) et du point(x, y) et d'avoir en retour la coordonnées sur la ligne la plus proche du point.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
      public static Point2D nearestColinearPoint(final double x1, final double y1, final double x2, final double y2, double x,        double y)
      {
        final double slope = (y2-y1)/(x2-x1);
        if (!Double.isInfinite(slope)) 
        {
          final double y0 = (y2-slope*x2);
          x = ((y-y0)*slope+x)/(slope*slope+1);
          y = x*slope+y0;
        }
        else x=x2;
     
        if (x1<=x2) 
        {
          if (x<x1) x=x1;
          if (x>x2) x=x2;
        } 
        else 
        {
          if (x>x1) x=x1;
          if (x<x2) x=x2;
        }
     
        if (y1<=y2) 
        {
          if (y<y1) y=y1;
          if (y>y2) y=y2;
        } 
        else 
        {
          if (y>y1) y=y1;
          if (y<y2) y=y2;
        }
        return new Point2D.Double(x,y);
      }

  5. #5
    Membre confirmé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Points : 645
    Points
    645
    Par défaut
    Juste pour préciser qu'une droite (ou plutôt un segment dans ton cas) contient une infinité de points, donc pour tous les récupérer, bon courage.
    Je sais que désormais vivre est un calembour,
    La mort est devenue un état permanent,
    Le monde est aux fantômes, aux hyènes et aux vautours.
    Moi je vous dis bravo et vive la mort.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/03/2012, 13h59
  2. Script permettant de créer l'ensemble des indexes d'une base
    Par matacars dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/07/2005, 16h14
  3. Réponses: 2
    Dernier message: 23/06/2005, 17h56
  4. récupérer le nom des champs d'une table d'une BDD-page web
    Par mathieu_r dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 09/06/2005, 14h02
  5. Réponses: 2
    Dernier message: 03/02/2005, 13h21

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