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

Contribuez Discussion :

[java] Triangulation de Delaunay (incrémentale)


Sujet :

Contribuez

  1. #61
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 964
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Hum... c'est curieux. Ca voudrait dire que le point n'est dans aucun des triangles déjà construits.

    Donc:
    - soit il y a une erreur lors de l'update de la taille de la bounding-box
    - soit les quadEdge sont construits avec une mauvaise orientation
    - soit il y a une erreur lors du calcul de "isAtRightOf()"

    Regarde s'il n'y a pas un dépassement de capacité dans "isAtRightOf()" ou "inCircle()".
    à suspecter aussi :
    les tests de comparaison sur des flottants si ceux-ci sont le résultat de calculs...
    (méfiez-vous de la propagation des erreurs...)

  2. #62
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    tu as bien raison

    Ces 2 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    if (p.X == e._orig().X && p.Y == e._orig().Y) return e;
                    if (p.X == e.dest().X && p.Y == e.dest().Y) return e;
    devraient être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    if ( (fabs((p.X -e._orig().X) < ACCURACY) && 
                         (fabs(p.Y-e._orig().Y) < ACCURACY) ) return e;
                    if ( (fabs((p.X -e._dest().X) < ACCURACY) && 
                         (fabs(p.Y-e._dest().Y) < ACCURACY) ) return e;
    avec un ACCURACY vraisemblablement de 10-6 ou 10-8 au grand max..

  3. #63
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Sauf qu'il n'y a volontairement pas de float/double dans mon implémentation. Ce sont des entiers int/long partout.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #64
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut


    crac boum hue..

    ça nous apprendra à réagir sans lire tout le code

    Désolé

  5. #65
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    ça nous apprendra à réagir sans lire tout le code

    Désolé
    Y a pas de mal... C'est simplement qu'à la place des problèmes de précisions il y à surtout des risques de dépassement.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/02/2009, 18h55
  2. Triangulation de Delaunay : stockage
    Par Mayhem555 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 22/11/2006, 14h36
  3. Triangulation de Delaunay pour des carreaux troués
    Par Laurent Gomila dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 27/07/2005, 23h14
  4. triangulation de delaunay
    Par Smuk dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/04/2005, 15h15

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