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

2D Java Discussion :

[Debutant]Dessiner des rectangles a partir d'intersections.


Sujet :

2D Java

  1. #1
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut [Debutant]Dessiner des rectangles a partir d'intersections.
    Bonjour a tous,
    Je cherche a remplir des intersections entre des lignes verticales et horizontales comme montre la photo attachée.
    Les lignes que vous voyez sont dynamiques. Y a t il une fonction en Swing qui me permettra de deceler les intersections (lignes rouges) pour que je puisse créer des rectangles colorés par exemple?
    PS: Les lignes rouges sont crées a partir d'un fichier JGraduation, je pense que le travail sera a faire dans ce fichier.
    Merci d'avance et bonne journée a tous


  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    Il existe un méthode d'intersection sur les objets de type Rectangle. En considérant une ligne comme un Rectangle très fin, ça peut marcher. Mais ça va te renvoyer le point de croisement des lignes, et ce n'est peut être pas ce que tu veux ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Citation Envoyé par xavlours
    Bonjour,

    Il existe un méthode d'intersection sur les objets de type Rectangle. En considérant une ligne comme un Rectangle très fin, ça peut marcher. Mais ça va te renvoyer le point de croisement des lignes, et ce n'est peut être pas ce que tu veux ?
    Et a partir des points de croisement je pourrais deduire creer des rectangles non? Si c'est le cas ca pourrait m'interesser! Merci !!

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ou sinon si tu peux garder tes lignes en mémoire tu peux passer par Line2D qui posséde la méthode intersectsLine(Line2D l) qui renvoie un boolean, et a partir des coordonnées des deux Line2D tu peux définir un rectangle: hauteur et absisse de départ de l'une, largeur et ordonnée de départ de l'autre, et ainsi de suite en retant le dernier point d'intersection afin de définir le rectangle suivant...

  5. #5
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Citation Envoyé par ahage4x4
    Et a partir des points de croisement je pourrais deduire creer des rectangles non? Si c'est le cas ca pourrait m'interesser! Merci !!
    Tout à fait, et en cela je penche plus pour des Rectangle2D : si
    tes lignes sont des objets Rectangle, alors avec la méthode intersection tu obtiens les points sous forme d'objets Rectangle. Pour calculer le Rectangle contenu, il suffit de prendre deux points aux angles opposés et d'appeler la méthode union.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Citation Envoyé par xavlours
    Tout à fait, et en cela je penche plus pour des Rectangle2D : si
    tes lignes sont des objets Rectangle, alors avec la méthode intersection tu obtiens les points sous forme d'objets Rectangle. Pour calculer le Rectangle contenu, il suffit de prendre deux points aux angles opposés et d'appeler la méthode union.
    Merci bcp xavlours,
    Je dois avant tout refaire mon code pour que mes lignes soit dessinées avec des rectangles de faible epaisseur.

  7. #7
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Citation Envoyé par sinok
    Ou sinon si tu peux garder tes lignes en mémoire tu peux passer par Line2D qui posséde la méthode intersectsLine(Line2D l) qui renvoie un boolean, et a partir des coordonnées des deux Line2D tu peux définir un rectangle: hauteur et absisse de départ de l'une, largeur et ordonnée de départ de l'autre, et ainsi de suite en retant le dernier point d'intersection afin de définir le rectangle suivant...
    Merci pr la tres bonne idée!

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/12/2012, 21h32
  2. Réponses: 0
    Dernier message: 21/12/2012, 22h50
  3. Dessiner des rectangles superposés
    Par vivelapsp dans le forum Android
    Réponses: 5
    Dernier message: 10/08/2010, 12h01
  4. [Image]Dessiner des rectangles sur une image
    Par navona dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 09/03/2006, 22h51
  5. Réponses: 4
    Dernier message: 07/06/2004, 13h34

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