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

Développement 2D, 3D et Jeux Discussion :

Modelisation, creation surface via nuage de points (C++)


Sujet :

Développement 2D, 3D et Jeux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut Modelisation, creation surface via nuage de points (C++)
    Bonjour a tous,

    Je dois faire un tit projet fort interessant, mais pas si évident que ça. Voila pourquoi je m'adresse a vous en esperant y trouver des conseils voir meme une solution...

    Allons y, je dispose d'un nuage de points dans un repere en 3D, dont je connais les coordonnées de chacun. Mon objectif est de modeliser l'objet représenté par ces points, c'est a dire de générer la surface et facettiser celle ci.
    Jusqu'ici j'ai vu quelques techniques qui apparement le permettrait, comme :
    - le marching cube (malheureusement ça fait bcp de calculs dans l'espoir de mettre le rendu en temps réel)
    - les NURBS (parait possible avec la librairie NURBS++, mais pose probleme pour "fermer" l'objet)
    - triangulation Delaunay (pratique pour un plan (terrain 3D), mais pour un objet complexe... possible?)

    J'aimerais savoir ce que vous pensez des ces méthodes, et bien sur si vous en connaissez d'autres qui seraient plus adaptées?

    PS : prog en C++ utilisant openGL, mais qui demande d'etre également compatible DirectX pour une conversion ultérieure.

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    Citation Envoyé par gumzilla
    - le marching cube (malheureusement ça fait bcp de calculs dans l'espoir de mettre le rendu en temps réel)
    pourquoi trop de calculs ?
    tout dépend du découpage de ton cube
    les marching cube c'est fait pour du temps réel

    une autre solution c'est aussi les particules, avec des points sprites par exemple, mais ça ne sera pas une surface triangulée
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Déjà quel relation entre un point A dans l'espace et un autre point B ?
    Cela ne me semble pas triviale comme reconstruction et cela se rapproche plus des méthodes associés aux marching cube.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut
    Ok pour le marching cube...
    Mais une fois l'objet modelisé je voudrais pouvoir le modifier en deplaçant un des points d'origine via une autre vue, il faudra alors recalculer toutes les isosurfaces, qui seront surement nombreuses. C'est pour ça que j'ai peur que ce soit long, j'aurais aimé voir les effets de ma transformation instantanément.

    Pour les relations entre les points, je vais etre plus précis. Je dispose de plusieurs plans parallèles à écart régulier, et dans chacun de ces plans j'ai des points qui forment le contour de l'objet.
    En fait ces plans sont des coupes horizontales de l'objet, qui sont faites sur toute la hauteur de celui ci selon un intervalle connu.
    Dans ces coupes je connais les coordonnées des points et je sais lesquels sont reliés, ainsi j'ai deja les contours.

    Pour l'instant je peux voir l'objet modeliser par une succession de courbes superposées les unes aux autres, il me reste donc a les relier sur la hauteur.
    Si j'avais le même nombre de points sur chacune de ces courbes cela faciliterait grandement la tache, mais ce n'est pas le cas...
    Donc un point de l'espace possede des relations avec les points du meme plan (altitude) que lui.

    Donc la methode qui me semble la plus appropriée est le marching cube.
    Mais a coté de ça il ya les librairies NURBS++, CGAL, VolPack et MITK qui ont l'air interessantes.
    En sachant qu'au final je dois encore pouvoir faire une coupe aléatoirement dans mon objet modelisé...
    Voila, je n'ai pas encore fait mon choix, je sens qu'il va falloir faire des tests...
    Tous les conseils sont encore les bienvenus

  5. #5
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    Citation Envoyé par gumzilla
    Ok pour le marching cube...
    Mais une fois l'objet modelisé je voudrais pouvoir le modifier en deplaçant un des points d'origine via une autre vue, il faudra alors recalculer toutes les isosurfaces, qui seront surement nombreuses. C'est pour ça que j'ai peur que ce soit long, j'aurais aimé voir les effets de ma transformation instantanément.
    Les marching cube permettent de générer un effet de blob, comme des gouttes d'eau qui fusionnent, et ce en temps réel

    il ya les librairies NURBS++, CGAL, VolPack et MITK qui ont l'air interessantes.
    rien de t'empêche de voir ce que tu peux en faire, si ce n'est pas maintenant ce sera plus tard

    En sachant qu'au final je dois encore pouvoir faire une coupe aléatoirement dans mon objet modelisé...
    si ta coupe n'a besoin que d'être visuelle, tu peux te servir des plans de coupe gérés par OpenGL et un coup de stencil pour fermer l'objet
    regardes l'exemple ici au cas où ça t'intéresserait :
    http://ati.amd.com/developer/sdk/rag...tencilCap.html

    par contre, si c'est une coupe de l'objet c'est pas aussi simple
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut
    Merci pour l'information sur le buffer stencil, mais je crois que cela ne va pas etre suffisant.
    Je veux un maillage pour pouvoir réaliser une vrai coupe de l'objet. Je vais donc etre obligé de gérer les intersections entre plan et segments, et meme avec polygone peut etre bien... mais j'en suis pas encore la

Discussions similaires

  1. Equation de surface à partir d'un nuage de points
    Par lybhur dans le forum MATLAB
    Réponses: 10
    Dernier message: 24/09/2009, 10h01
  2. Réponses: 1
    Dernier message: 29/07/2009, 21h23
  3. [Débutant] Calculer la surface occupée par un nuage de point
    Par PaM... dans le forum MATLAB
    Réponses: 9
    Dernier message: 26/01/2009, 16h56
  4. Surface générée par un nuage de points
    Par pizzsto dans le forum MATLAB
    Réponses: 7
    Dernier message: 29/01/2008, 11h51
  5. Surface sur nuage de points
    Par alain10025 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 20/12/2007, 15h28

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