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 :

coordonnées des points constituant un segment


Sujet :

2D Java

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut coordonnées des points constituant un segment
    salut .
    peut-on récupérer l'ensemble des points(x,y) qui composent un objet Line2D ?
    pour le moment , j'ai implémenté une solution mathématique (appartenance d'un point a une ligne) ,mais je veut me profiter des classes java s'il on a ?

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Citation Envoyé par slim_java Voir le message
    peut-on récupérer l'ensemble des points(x,y) qui composent un objet Line2D ?
    getP1, getP2, getX1, getX2, getY1, getY2... non?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    ça ,ça donne les deux points extrémités .

    mais moi je veut tous les points qui constituent le segment

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par slim_java Voir le message
    ça ,ça donne les deux points extrémités .
    Disons que techniquement parlant, ce sont les deux points qui "composent" un objet Line2D


    Citation Envoyé par slim_java Voir le message
    mais moi je veut tous les points qui constituent le segment
    Il y a une méthode contains(), mais qui apparemment n'est pas fonctionnelle pour les Line2D (renvoie toujours false...)
    La méthode ptSegDist() renvoie la distance à ton objet sinon...
    Et au pire, si rien ne marche, il faut interpoler avec les deux points extrémités, genre algo de breseham...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par plegat Voir le message
    Il y a une méthode contains(), mais qui apparemment n'est pas fonctionnelle pour les Line2D (renvoie toujours false...)
    j'ai réfléchit a ça mais j'ai pas encore essayé .. mais ... ne me dite pas " n'est pas fonctionnelle" car ça me perturbe

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par slim_java Voir le message
    ne me dite pas " n'est pas fonctionnelle" car ça me perturbe
    bah disons que ça marche, mais pas comme on voudrait!

    j'ai édité mon post précédent pour citer ptSegDist(). Ca devrait répondre à ton besoin ça
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par slim_java Voir le message

    mais moi je veut tous les points qui constituent le segment
    Mathématiquement, un segment est constitué d'une infinité de points.

  8. #8
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Mathématiquement, un segment est constitué d'une infinité de points.

    !!!!! alors par cette définition , tu peut me dire la différence entre un segment et une droite?

  9. #9
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par slim_java Voir le message
    !!!!! alors par cette définition , tu peut me dire la différence entre un segment et une droite?
    Un segment est une portion de droite délimitée par deux points. Mais il n'empêche qu'il est mathématiquement constitué d'une infinité de points, au même titre qu'une droite (l'infini n'étant pas quantifiable, il n'est pas possible de "compter" les points)

    Sur un écran d'ordi, on ne parle plus de points mais de pixel. Et là c'est autre chose. Un pixel est un quantum d'écran, et on peut donc les dénombrer en nombre précis, vu qu'il y en a un nombre bien déterminé.

    tchize_ ne faisait qu'apporter une précision... mathématique!

    Ca fonctionne avec ptSegDist()?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #10
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par plegat Voir le message
    Sur un écran d'ordi, on ne parle plus de points mais de pixel.
    c'est ce qui m'intéresse en tant que "programmeur"



    Citation Envoyé par plegat Voir le message
    Ca fonctionne avec ptSegDist()?
    oui mais je cherche toujours la solution optimale
    getPathIterator() ne pourrait pas faire l'affaire ?

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par slim_java Voir le message
    !!!!! alors par cette définition , tu peut me dire la différence entre un segment et une droite?
    Je crois que tu confond un segment et ses points, au sens mathématique et donc représenté par line2D qui est un objet géométrique pur, et sa réprésentation à l'écran, qui n'est qu'un approximation, qui dépendra nottement des transforms appliqué au Graphics mais aussi de la précision demandé à ce graphics (lissage ou non du segment, par exemple). Il serait donc peut etre préférable que tu précise quel genr de liste de points tu veux? Si tu veux tous les points d'un segment au sens mathématique, il y en a une infinité, on devra donc utiliser une formule mathématique d'appartenance.

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par slim_java Voir le message
    c'est ce qui m'intéresse en tant que "programmeur"





    oui mais je cherche toujours la solution optimale
    getPathIterator() ne pourrait pas faire l'affaire ?
    getPathIterator() sert à approximer un Shape à l'aide de segments de droites, tu va pas être plus avancé Les segments de droite et les shapes sont indirectement dessiné par le Graphics2D, qui bien souvent va déléguer l'opération à ta carte graphique ou tu du moins à ton OS.

  13. #13
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    peut etre préférable que tu précise quel genr de liste de points tu veux?
    les pixels qui constituent mon objet Line2D à l'écran
    ( je pense que ça était implicitement indiqué dans mes postes tant que je suis sur un furum pour la programmation graphique2D) .. mais bon .merci comme même

  14. #14
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    ben voila . je vais rien rajouter a part que merci pour vous tous,mais je me dis que peut être le fait de poser mon problème principale était mieux car peut être la solution idéale m'échappe.
    bon mon but initiale est de faire une interpolation de mouvement avec les thread , d'une forme 2D d'un position A vers la position B, donc j'ai pensé a récupérer les coordonnées des points(pixel) entre A et B et je pas encore réfléchit encore à la solution si la trajectoire du déplacent ne sera pas une droite mais une courbe ou une forme quelconque.

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par slim_java Voir le message
    les pixels qui constituent mon objet Line2D à l'écran
    Il dépendent de beaucoup de chose:

    l'epaisseur de la ligne
    la ligne est est-il discontinue?
    Le Graphics2D fait-il de l'anti-aliasing?
    Le seul moyen de calculer ça efficassement c'est encore de créer un BufferedImage où tu dessine la ligne puis tu scanne les pixel. C'est loin d'être performant masi ca correspond exactement à ce qui sera afficher. Mais vu ton problème initial, comme il s'agit d'un mouvement qui suis un segment de droite, tu devrais te contenter des equations mathématique, ce sera plus simple ^ ^

  16. #16
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Bon, ben plutôt que d'aller récupérer des pixels, autant calculer les positions directement.

    Breseham...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  17. #17
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    voila comme je vous ais dis , la solution m'echappe précisément la bonne stratégie m'echappe.
    en fait j'ai réussie a faire l'interpolation suivant une ligne en utilisant l'équation mathématique d'un segment [AB] ,mais il me vient a l'esprit de changer la stratégie et je me dis au lieu de spécifier le point de départ et d'arrivé ,pourquoi ne pas dessiner la trajectoire avec la souris et cela reste fonctionnel avec n importe quelle trajectoire ; et lors du dessin du trajectoire , je prélève les pixels dans mouseMoved... ou mouseDragged (c'est mon choix )..vous voyez ,je vous ais dits la solution idéale m'échappe ou peut être mon cerveau m'échappe

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

Discussions similaires

  1. Coordonnées des points contenus dans une ROI
    Par TopCao dans le forum Images
    Réponses: 2
    Dernier message: 25/03/2010, 10h03
  2. Coordonnées des points
    Par nadar dans le forum Fortran
    Réponses: 0
    Dernier message: 24/03/2010, 18h08
  3. coordonnées des points de Bézier
    Par potili2 dans le forum Débuter
    Réponses: 2
    Dernier message: 30/03/2009, 09h44
  4. Coordonnées des points d'un cercle
    Par guidevelop dans le forum C
    Réponses: 2
    Dernier message: 23/11/2006, 09h28

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