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

Interfaces Graphiques en Java Discussion :

[spline] Existe-t-il des méthodes/librairies permettant de tracer des splines en Java ?


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut [spline] Existe-t-il des méthodes/librairies permettant de tracer des splines en Java ?
    Bonjour,

    Je suis sur un projet d'analyse d'images. Les méthodes d'analyses sont développées par un collègue mathématicien sous Scilab (équivalent libre de Matlab), et je suis chargée d'adapter ces méthodes pour en faire un logiciel Java.

    Dans la chaine de traitement, il utilise les fonction lsq_spline et interp de Scilab qui calcul et récupère des splines cubiques des moindre carré.
    Savez vous s'il existe des équivalents de ces fontions en Java ?
    Mon collègue me dit que le calcul et le tracé de spline sont des trucs super commun, donc je serais étonnée qu'il n'existe pas des librairies qui s'en occupe. Mais je ne sais pas dans quelle direction chercher...

    tout conseil seront bienvenue

    merci d'avance

    PS : je ne savais pas trop où mettre ce post, n'hésitez pas à le déplacer si besoin est

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Le tracé des splines est pris en charge par Java2D et les classes GeneralPath, Path2D, Path2D.Double, Path2D.Float, CubicCurve2D, CubicCurve2D.Double, CubicCurve2D.Float, QuadCurve2D, QuadCurve2D.Double et QuadCurve2D.Float (ouf), le tout rendu dans un Graphics2D
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    merci pour ta réponse, je vais aller fouiller par là

  4. #4
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    bon, je suis allée voir la Javadoc et un tuto de sun concernant les graphique 2D et les courbes (quadratic et cubic).

    Deux problèmes se posent pour moi :
    • on ne peut pas spécifier plus de 2 points de contrôle avec les "cubic curve" alors que j'aurais besoin d'en avoir 4
    • on ne peut pas récupérer l'ensemble des points de la courbe.


    Je m'explique : mon but n'est pas de tracer une courbe dans un graphique, mais de l'inclure dans une image. En gros j'ai une image représentant une sorte de demi-disque sur le bas de l'image, et je dois dessiner son contour. J'ai une première méthode qui me donne un contour brut (que je dessine en blanchissant les pixels correspondant sur l'image), et je dois lisser ce contour avec des splines à 4 puis 6 points de control (bornes comprises, ce qui correspond à 2 puis 4 points de control tels qu'implémentés par les cubic curve).

    Comme vous pouvez le voir, les CubicCurve2D et graphic2D ne répondent pas vraiment à la problèmatique.
    Cela dit, je n'ai pas encore trouvé de tuto sur l'utilisation des PathIterator et je ne comprends pas encore bien leur fonctionnement. Donc peut être qu'une solution existe dans cette direction.

    Dans tous les cas, si vous connaissez d'autres librairies ou si vous voyez que quelques subtilité m'ont échappées dans l'utilisation des cubicCurves2D, hésitez pas. J'explore toutes les voies !

    [EDIT] j'ai trouvé sur ce post une solution proposée pour avoir plus de 2 points de controle : faire plusieurs courbes qui se suivent...
    Reste le problème de la récupération des points pour pouvoir les inclure dans une image...

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Une discussion similaire a deja eut lieu (faire une recherche), une spline de bezier a n-points de controles peut-etre modelise en utilisant une successiob de plusieurs splines de Bezier (ce que fait n'importe quel logiciel de dessin vectoriel et quasiment toutes les libs de rendu 2D ou 3D)..

    Citation Envoyé par http://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier#Exemples
    Courbe de Bézier de degré supérieur à 3
    Elles sont rarement utilisées. On préfère se ramener à l'utilisation de courbes cubiques que l'on raccorde. Pour cela, il faut et il suffit que le dernier point d'une courbe soit le premier d'une autre. On obtient ainsi une courbe continue.

    Par exemple, pour une courbe définie par les points A, B, C, D, E, F et G, on utilise les courbes cubiques définies par A, B, C, et D, et par D, E, F, et G et la continuité est ainsi assurée. Pour avoir une courbe C1 en D, il faut que [C, D] = [D, E], et si en plus on veut qu'elle soit C2 en D, alors [B, D] = [D, F], et de même pour les dérivées successives.
    Il est tout a fait possible de recuperer les points et points de controle des courbes ou des chemins, il suffit de parcourir leur PathIterator.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    oui, j'avais trouvé ce post.

    pour ce qui est du pathIterator, je n'arrive à récupérer que les points de contrôle. Sachant que c'est moi qui les ai défini pour tracer la courbe, ça ne me sert pas à grand chose.
    Je veux récupérer l'ensemble des points de la courbe, mais je n'y arrive pas...
    Je commence à me demander si c'est possible

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 12/05/2014, 10h30
  2. [EMF] Créer des interfaces qui permettent de dessiner des modèles
    Par taifone dans le forum Eclipse Modeling
    Réponses: 2
    Dernier message: 31/03/2013, 12h56
  3. Réponses: 6
    Dernier message: 05/12/2012, 09h03
  4. Réponses: 11
    Dernier message: 26/01/2011, 11h52
  5. Existe-t-il des méthodes agiles pour des projets en autonomie ?
    Par kerflyn dans le forum Méthodes Agiles
    Réponses: 0
    Dernier message: 16/05/2010, 14h16

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