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

MATLAB Discussion :

Triangulation de delaunay


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2013
    Messages : 33
    Points : 18
    Points
    18
    Par défaut Triangulation de delaunay
    Bonjour à tous. Alors je vous explique mon soucis sur matlab.


    J'ai un tableau, nommé Tab3D, de taille <22272x3 double> où un triplet (coordonées 3D) de lignes définit un triangle. Il y a un ensemble de 7424 triangles.

    J'ai donc fait des recherches sur la triangulation de delaunay sous Matlab, et je trouve ça sur le site officiel mathworks.

    http://www.mathworks.fr/fr/help/matl.../delaunay.html

    Je suis donc tombé sur cette page.

    Ce qui (je pense) me concerne est le paragraphe suivant :

    TRI = delaunay(X,Y,Z) creates a 3-D Delaunay triangulation of the points (X,Y,Z), where X, Y, and Z are column-vectors. TRI is a matrix representing the set of tetrahedra that make up the triangulation. The matrix is of size mtri-by-4, where mtri is the number of tetrahedra. Each row of TRI specifies a tetrahedron defined by indices with respect to the points.

    Example
    Plot the Delaunay triangulation of a large dataset:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     load seamount
     tri = delaunay(x,y);
     trisurf(tri,x,y,z);
    Et c'est là que je ne comprends pas. La matrice qu'ils appellent "Tri" correspond-elle à mon Tab3D ? Je ne comprends pas ce qu'est cette matrice "Tri" et ce qu'elle doit contenir. Ni comment me servir de mon Tab3D.
    Je ne vois pas non plus comment implémenter mes coordonnées stockées dans mon Tab3D dans cet algorithme.

    Voilà, merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance en conception mécanique et prototypage
    Inscrit en
    novembre 2006
    Messages
    20 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance en conception mécanique et prototypage

    Informations forums :
    Inscription : novembre 2006
    Messages : 20 139
    Points : 53 274
    Points
    53 274
    Par défaut
    Il faut des coordonnées de points :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    x = [0 1 0.5 0.5];
    y = [0 0 1 -1];
    z = [0 0 1 -1];
    et une table de connectivité :

    ce qui signifie que les points 1, 2 et 3, dont les coordonnées respectives sont dans les variables x et y, définissent un triangle. Idem pour les points 1, 2 et 4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    figure
    trimesh(tri,x,y,z)
    Images attachées Images attachées  
    Ingénieur indépendant en conception mécanique et prototypage :
    • conception mécanique 3D (Autodesk Fusion 360)
    • impression 3D (Ultimaker)
    • développement informatique (MATLAB, Python, C)
    • programmation de microcontrôleur (Microchip PIC)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2013
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Hum d'accord merci pour ta réponse j'y vois plus clair.

    Donc ce que tu appelles table de connectivité, c'est les indices des points définnisant chaque triangle. Mais dans mon cas j'en ai 7424. Comment savoir quels points définissent un triangle ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance en conception mécanique et prototypage
    Inscrit en
    novembre 2006
    Messages
    20 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance en conception mécanique et prototypage

    Informations forums :
    Inscription : novembre 2006
    Messages : 20 139
    Points : 53 274
    Points
    53 274
    Par défaut
    C'est la que la fonction delaunay intervient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tri = delaunay(Tab3D(:,1),Tab3D(:,2),Tab3D(:,3))
    Par contre, tu obtiendras des tétraèdres, pas des triangles.
    Ingénieur indépendant en conception mécanique et prototypage :
    • conception mécanique 3D (Autodesk Fusion 360)
    • impression 3D (Ultimaker)
    • développement informatique (MATLAB, Python, C)
    • programmation de microcontrôleur (Microchip PIC)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

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

Discussions similaires

  1. [java] Triangulation de Delaunay (incrémentale)
    Par pseudocode dans le forum Contribuez
    Réponses: 64
    Dernier message: 05/06/2012, 17h30
  2. Triangulation de Delaunay : stockage
    Par Mayhem555 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 22/11/2006, 13h36
  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, 22h14
  4. triangulation de delaunay
    Par Smuk dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/04/2005, 14h15

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