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

Algorithmes et structures de données Discussion :

Tétraèdrisation ne fonctionne que dans certains cas


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut Tétraèdrisation ne fonctionne que dans certains cas
    Bonjour à tous,
    Je suis en train de coder un outil qui va me permettre de réaliser des sphere-tree pour mon moteur physique. Pour cela je dois tétraèdriser des modèles 3D de manière automatique. J'ai déjà pas mal avancé le travail et l'algo fonctionne sur certains modèles, mais pas sur d'autres. Ou même ne fonctionne plus sur un modèle si j'augmente le nombre de points sur la surface.
    Je viens ici pour demander de l'aide car ça va faire un bon paquet de temps que je cherche à comprendre ce qui ne va pas l'algo ou autre chose.
    Le code est sur Codeplex à l'adresse suivante :
    http://www.codeplex.com/exo2/
    La solution concernée est la solution 'tools'.
    Pour compiler le tout il va vous falloir boost (shared_ptr...) ainsi que le sdk de DirectX de juin 2008 (chargement des .x...).
    Je reste ouvert à toutes questions éventuelles ainsi qu'a vos réponses que j'espère nombreuses.
    Merci par avance.
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  2. #2
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Y a moyen d'avoir une description plus précise du problème sans avoir à recompiler tout le programme ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Je peux essayer, mais si vous voulez m'aider vraiment, je pense que vous n'aller pas y couper :p
    Alors pour faire simple mon algo de tétraedrisation créé des tétraedres plan. Je ne comprends pas pourquoi. Ca ne devrait pas arriver.
    Le plus marrant c'est qu'il fonctionne sur certains modèles, mais plante sur d'autres. Et le truc encore plus marrant c'est que si j'augmente le nombre de points sur un modèles qui fonctionne, il ne fonctionne plus :p
    Le debuggage est assez compliqué car l'algo ne plante pas à la première itération, une grande quantité de tétreadres sont déjà créé, ça complique énormement la compréhension du problème.
    Si j'ai pas été clair, si vous voulez encore des précisions....
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  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
    Salut,

    Citation Envoyé par Rafy Voir le message
    Je peux essayer, mais si vous voulez m'aider vraiment, je pense que vous n'aller pas y couper :p
    Ben moi je coupe, je pige pas où sont les sources sur ton site!
    Et puis je suis un gros fainéant, faut me mâcher un minimum le boulot...

    Pour avoir fait un mailleur tétraédrique il y a quelques temps de cela (qu'il faudrait que je termine un de ces jours d'ailleurs...), je compatis avec tes douleurs de débugage...
    Pour tes tétraèdres plan, si ça arrive alors que ça ne devrait pas, c'est que tu as foiré un truc. Essaye de suivre tous les tétraèdres créés, repère dès qu'il y en a un qui a un volume nul, et sort les données de départ qui ont créé ce tétra plat. Ca permettra déjà d'avoir une idée... ça expliquera aussi sans doute pourquoi ça plante dès qu'il y a trop de points...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    C'est quoi l'algorithme utilisé ? Le "marching tetrahedron" ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Non c'est la tétraedrisation de Delaunay. J'implémente l'algo itératif (il y en a d'autre mais encore plus compliqué).
    Pour les sources sur le site, ben il faut aller sur l'onglet "source code", puis ensuite cliquer sur "download".... Je ne pensais pas que c'était trop compliqué pourtant.
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  7. #7
    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 Rafy Voir le message
    Pour les sources sur le site, ben il faut aller sur l'onglet "source code", puis ensuite cliquer sur "download".... Je ne pensais pas que c'était trop compliqué pourtant.
    Disons que tu files le lien de la home page où il y a un gros bouton Download qui aboutit à un "This Project has no releases."... et que sur la page source code on a une dizaine de "download" pas forcément explicites pour un blond comme moi!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  8. #8
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Rafy Voir le message
    Non c'est la tétraedrisation de Delaunay. J'implémente l'algo itératif
    Juste une question, tu as testé si le point que tu ajoutes est dans le plan d'une face d'un tétraèdre existant ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    oui c'est testé, et s'il est sur la face, il est forcement dans deux spheres circonscrites (dans chaque sphere englobant les deux tétraedres qui ont en commun cette face)....
    J'ai réussi à trouver une piste mais l'algo plante toujours, un peu plus loin, mais ça ne fonctionne pas...
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

Discussions similaires

  1. [WD17] FOuvre ne fonctionne que dans certains cas
    Par alex1005 dans le forum WinDev
    Réponses: 9
    Dernier message: 05/12/2013, 10h19
  2. [Port série] [QExtSerialPort] write() ne fonctionne que dans certains cas
    Par sybe30 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 14/12/2012, 19h27
  3. Classement qui ne fonctionne pas dans certains cas
    Par Furious68 dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/05/2010, 16h47
  4. [RegEx] REGEX qui ne marche que dans certains cas
    Par Galdon dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2010, 09h15
  5. Réponses: 1
    Dernier message: 10/12/2009, 22h26

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