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

Langage Java Discussion :

[Float || Double] positionement d'un point et precision


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut [Float || Double] positionement d'un point et precision
    bonjour,
    La base de mon problème est tres simple, je repere un point que l'on apellera P par deux coordonnées x et y. Ces deux coordonnées sont pour l'instant des floats, c'est à dire des nombres à virgules flottantes. Et c'est de la que vient mon problème. (Pas dans le code, mais au niveau "logique"), car un tel type est caractérisé par une mantisse et un exposant. Donc cela signifie à priori que si l'on representent tous les points codables dans un espace 2D, celui ne sera pas de densité uniforme. La densité sera plus élevée près de 0 et diminuera en s'éloignant de celui ci...
    Ma question pourrait se resumer en quels sont les types les mieux adaptés pour coder des coordonnées (java.awt.Point se "décline" en float et double) ? Si c'est effectivement les types à virgules flottantes, comment regle t on ce problème de precision?
    (j'espere que c'est suffisammant clair)
    D'avance merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Les problèmes liés aux calculs en virgule flottante sont très spécifiques et je n'en maîtrise pas particulièrement le sujet, mais je crains pouvoir t'affirmer que Java n'offre pas de solution meilleure que les autres langages pour représenter les espaces continus. La solution la plus simple me semble-t-il serait de décomposer ton espace 2D en pixels identifiés par un entier. Il devrait être possible de déduire assez facilement quel pixel est associé à un couple de float en connaissant les dimensions de sa matrice et de l'espace qu'il représente.

  3. #3
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    comment regle t on ce problème de precision?
    ma réponse la plus courte serait, on ne le règle pas, on fait avec !!!
    Mais bon, il existe des solutions excellentes à ce genre de problème, le tout étant d'avoir du temps si on veut tout coder soi-même en Java, car à ma connaissance (qui n'est pas exhaustive, loin de là) il n'existe pas de librairie de calcul exact comme en C++ (voir CGAL). Les concepts mis en place sont difficiles à appréhender et nécessitent de solides bases d'algèbre (corps, anneaux,..) et les algorithmes sont (très) gourmands... De plus, chaque type d'algo à sa version "exacte", il n'existe pas de solution "universelle" (ça serait trop beau ). Il faut donc avant tout bien savoir de quoi on a besoin...

  4. #4
    Membre émérite
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par défaut
    ume bibliotheque de geo;metrie algo en java >
    JTS
    gere les points sur une grille de ecision arbitraire, mais pas forcement uniforme je crois.


    A+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut
    ok, donc il n'y a toujours pas de miracle en informatique.... Et je ne veux pas rogner sur la performance... bon je vais voir du coté de JTS et je vais etudier d'autres articles mais cela me parait mal parti....
    A priori, l'affichage ce faisant par swing (ou awt?), il sera toujours imprecis mais j'essayerais de voir en creant un moteur d'application à une précision déterminée.

  6. #6
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    ume bibliotheque de geo;metrie algo en java > JTS
    Top ! je viens d'aller voir et ça me plait

Discussions similaires

  1. mysql++ et precision pour float/double
    Par zerbynette dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 12/03/2010, 15h40
  2. Precision float/double sous windows et UNIX
    Par m0ul3sh0t dans le forum Débuter
    Réponses: 3
    Dernier message: 30/09/2009, 14h24
  3. Probleme de float/double
    Par serebei251 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 24/05/2008, 20h25
  4. float, double et arrondi
    Par simla dans le forum Langage
    Réponses: 2
    Dernier message: 25/08/2007, 15h22
  5. Problème de conversion float -> double
    Par Oberown dans le forum C#
    Réponses: 3
    Dernier message: 05/06/2007, 09h23

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