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

Mathématiques Discussion :

faire du voronoi3D


Sujet :

Mathématiques

  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 : 66
    Points
    66
    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

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    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 : 66
    Points
    66
    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

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    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 : 66
    Points
    66
    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.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2002, 09h31
  2. faire un fichier .ini
    Par florent dans le forum C++Builder
    Réponses: 14
    Dernier message: 31/05/2002, 23h06
  3. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 11h44
  4. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 16h41

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