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 :

[voronoin] Diagramme de Voronoi dans un cube [Débutant]


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut [voronoin] Diagramme de Voronoi dans un cube
    Bonjour tous,

    j'aimerai utiliser la fonction "voronoin" de matlab :
    http://www.mathworks.fr/fr/help/matl.../voronoin.html

    pour faire le maillage d'un cube comme vous pouvez voir en pièce jointe.

    Le soucis est que j'ai lu la doc et je n'ai rien compris, je trouve que les exemples sont pourri...

    Pourriez vous s'il vous plait me montrer comment faire ce genre
    de choses avec matlab ?

    je vous remercie pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Je viens de trouver deux discussions très intéressantes :
    http://www.developpez.net/forums/d44...noi-3d-resolu/
    et
    http://www.developpez.net/forums/d12...hlight=voronoi

    Du coup, voici ce que j'ai fais:
    1) j'ai donné les coordonnées des sommets de mon cube dans X
    2) j'ai appelé la fonction de voronoi pour qu'elle me fasse un maillage dans ce domaine (avec l'option Qbb car j'ai une dimension=3)
    3) j'ai mis l'option 'QJ' mais je ne sais pas vraiment pourquoi... le message d'erreur optenu me semblait moins grave que si je mets rien...
    4) ensuite à partir des données renvoyées par 'voronoin' j'essai de faire une enveloppe convexe grace à 'convhulln' et tracer cette enveloppe grace a patch.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    clear all;close all;clc;
    X=[0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
    [V,C] = voronoin(X,{'Qbb','QJ'});
    K = convhulln(V,{'Qt','Pp'});
     
    patch('faces', K, 'Vertices',V)
    le soucis est que je ne comprends pas vraiment la logique des deux fonctions "voronoin" et "convhulln" du coup je ne sais pas trop quoi leur donner en entrée et avec quelle options....

    j'ai l'impression qu'il serait mieux correct de donner "C" en 'input' de la fonction convhulln mais d'après la doc il n'est pas spécifié que cette fonction prend des cell en entrée

    pourriez vous me débloquer pour ce petit bout de code svp ?

    merci

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Je ne suis pas un spécialiste mais en suivant le lien donné dans le deuxième message de cette discussion : voronoi cells in bounded surface or volume

    Et en faisant simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    seeds = 2*(rand(100,3)-0.5); 
    Options.pbound = unitbox(3, 1); 
    V = mpt_voronoi(seeds, Options);
    plot(V)
    J'obtiens un résultat assez semblable.

    Il faudra sans doute lire la documentation de la toolbox pour améliorer le résultat.
    Images attachées Images attachées  
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « 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)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci beaucoup DUT!!!!!!!!!!!!
    c'est exactement ce que je cherche à faire

    par contre ton code utilise une toolbox special "MPT" et je n'arrive pas à l'installer....

    d'après ce que j'ai compris il faut aller sur le site:
    http://control.ee.ethz.ch/~mpt

    ensuite prendre le dossier "MPT", le mettre sur un endroit de notre disque et suivre les instructions de cette pages :
    http://control.ee.ethz.ch/~mpt/docs/install.php

    le soucis est que même en procédant comme ceci matlab ne reconnait pas les fonctions de cette toolbox...

    pourrais tu m'en dire plus sur l'installation de MPT, comment as tu fais de ton côté ?

    merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je n'ai eu aucun problème en suivant ces mêmes directives...
    Qu'as-tu fait précisément ?

    Voir aussi la FAQ Comment utiliser une Toolbox ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    je viens de refaire les directives et à présent ça fonctionne....
    je pense que ça devait être un problème avec 'savepath' je n'avais pas cette commande auparavant, où peut être que mon 'Path' etait pas top (espace dans nom fichier...)

    bref, maintenant c'est réglé et ça fonctionne, merci beaucoup tous les 2

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

Discussions similaires

  1. Optimisation (descente de gradient)/Diagramme de Voronoi
    Par DarkenRahl dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 26/03/2007, 17h18
  2. [OLAP]Ecrire dans un cube
    Par crazy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2006, 12h13
  3. Algo de recherche dans un cube de couleur
    Par mamelouk dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/06/2005, 21h38
  4. Evolution du diagramme de classes dans la vie d'un projet
    Par ftrifiro dans le forum Diagrammes de Classes
    Réponses: 6
    Dernier message: 11/03/2005, 20h53
  5. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06

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