Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : septembre 2012
    Messages : 75
    Points : 44
    Points
    44

    Par défaut faire du voronoi3D

    Bonjour tous,

    j'aimerai générer avec matlab des figures de Voronoi3D
    ==> comme l'image que j'ai mis en PJ

    J'ai déjà posé ma question sur le forum matlab et il y a pas mal de fonction qui vont me permettre de faire ceci comme :
    1) voronoi-> qui permet de faire des diagramme 2Dvoronoi
    2) delaunay-> qui permet de faire de la triangulation
    3) convhull-> qui permet de générer une enveloppe convexe de plusieurs points

    le soucis est que je ne comprends pas vraiment le principe de la triangulation de voronoi...

    pourriez vous m'expliquez en quelques mots comment faire ceci en 2D (afin que je comprenne le principe) tout d'abord et ensuite en 3D (ce que je compte reellement faire)?

    je vous remercie pour l'aide que vous pourrez m'apporter

  2. #2
    Modérateur

    Inscrit en
    août 2007
    Messages
    4 322
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 322
    Points : 6 224
    Points
    6 224

    Par défaut

    Bonjour,

    le principe géométrique du diagramme de Voronoï en 2D est assez simple : "la frontière entre les cellules de Voronoi de deux germes distincts se situe forcément sur la médiatrice qui sépare ces deux germes" (cf Wikipedia). Je te laisse lire la suite de l'article.

    Pour les algos, je te conseille de regarder les papiers qui ont été utilisés dans qhull.

    Quel est ton but? écrire un code de génération de diagramme en 3D (en calculant toi-même les sommets des frontières) ou comprendre le principe puis utiliser des codes existants?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : septembre 2012
    Messages : 75
    Points : 44
    Points
    44

    Par défaut

    Bonjour Magelan et merci pour ton aide

    Citation Envoyé par magelan Voir le message
    le principe géométrique du diagramme de Voronoï en 2D est assez simple : "la frontière entre les cellules de Voronoi de deux germes distincts se situe forcément sur la médiatrice qui sépare ces deux germes" (cf Wikipedia). Je te laisse lire la suite de l'article.
    je viens de relire ce passage est je pense avoir compris pour faire un diagramme de voronoi :
    1°) je place des germes aleatoirement
    2°) je prends le 1er germe du lot et je cherche ses voisins
    3°) je je trace un segment entre ce germe et son voisin numero "i" et la droite perpendiculaire qui passera par le milieu de ce segment sera la frontiere
    4°) je fais de même avec touts les voisins du gerne n°1
    5°) je fais la meme chose pour tout les germes (sans refaire les couples deja effectués)
    6°) l'intersection entre les frontieres permet de definir les sommets

    es ce bien ceci ?

    Par contre j'ai un probleme pour l'etape 6°) :
    -> l'intersection des frontieres me donne les sommets je le comprends bien et à la main c'est facile à faire mais je ne vois pas comment mettre ceci en oeuvre algorithmiquement parlant ?

    Citation Envoyé par magelan Voir le message
    Pour les algos, je te conseille de regarder les papiers qui ont été utilisés dans qhull.
    merci pour l'info, je regarderai lorsque j'aurais bien saisi le principe.

    Citation Envoyé par magelan Voir le message
    Quel est ton but? écrire un code de génération de diagramme en 3D (en calculant toi-même les sommets des frontières) ou comprendre le principe puis utiliser des codes existants?
    dans un premier temps j'aimerai bien comprendre le principe pour utiliser un code existant (qhull?) mais ensuite j'aimerai bien arriver à faire ceci moi même ça m'éclaterai bien d'arriver à programmer ceci

  4. #4
    Modérateur

    Inscrit en
    août 2007
    Messages
    4 322
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 322
    Points : 6 224
    Points
    6 224

    Par défaut

    Citation Envoyé par thomMonteillet Voir le message
    Par contre j'ai un probleme pour l'etape 6°) :
    -> l'intersection des frontieres me donne les sommets je le comprends bien et à la main c'est facile à faire mais je ne vois pas comment mettre ceci en oeuvre algorithmiquement parlant ?
    Sur le principe c'est bien cela, mais tu auras un grand nombre de test à effectuer pour déterminer les sommets de chaque régions.

    Une façon "simple" est de passer par la triangulation de Delaunay. Une fois cette triangulation obtenue, comme voronoi est le dual de delaunay, les sommets recherchés sont les centres des cercles circonscrits aux triangles de la triangulation. Le problème devient donc la triangulation, mais l'algorithme est plus simple que ceux utilisés pour le diagramme de Voronoï.

    Sinon, il y a d'autres algorithmes comme ceux cités dans l'article anglais de wiki ou les nombreuses références que tu trouveras sur le net.


    Citation Envoyé par thomMonteillet Voir le message
    dans un premier temps j'aimerai bien comprendre le principe pour utiliser un code existant (qhull?) mais ensuite j'aimerai bien arriver à faire ceci moi même ça m'éclaterai bien d'arriver à programmer ceci
    Comme tu utilises matlab, voici une toolbox gratuite qui génère des diagrammes de Voronoi 3D : Multi-Parametric Toolbox (MPT)
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : septembre 2012
    Messages : 75
    Points : 44
    Points
    44

    Par défaut

    je te remercie pour toute ces explications.

    merci aussi pour la toolbox !

    A bientôt

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •