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

Algorithmes et structures de données Discussion :

Dépliage d'objet 3D maillé


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut Dépliage d'objet 3D maillé
    Bonjour!

    J'aimerais savoir si quelqu'un a une idée d'algorithme de dépliage ou de mise à plat d'un objet 3D.

    J'ai beau faire des recherches sur internet mais je ne trouve aucun algo.

    J'ai déjà construit le graphe des sommets de mon objet maillé. J'ai pensé
    développer ensuite l'algorithme de Dijkstra pour trouver le plus court lacet de mon objet.
    Mais après cela , après avoir eu toutes ces informations, que faire exactement? Sur Internet, en général ils disent qu'après cette étape, il faut faire un découpage mais sans plus. Je suis perdue.

    Aidez-moi s'il vous plaît!

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Si je t'ai bien compris, tu as un objet qui occupe un certain domaine dans R^3; tu l'as maillé, probablement dans l'idée de l'étudier par la méthodes des différences finies ou des éléments finis. Maintenant tu veux l'appliquer dans R^2 par dépliage. Pourquoi donc? Es-tu certain que ce soit possible?
    Jean-Marc Blanc

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut Dépliage d'objet 3D maillé
    Bonjour!

    En fait l'objet est déjà maillé à la base. Et ce que j'aimerais faire du "unwrapping"

    je ne sais pas exactement si c'est ce qu'on dit. Imaginez que vous disposez d'une texture et que vous voulez l'appliquer à un objet 3D, vous partez bien d'une forme 2D pour avoir une forme 3D. Moi j'aimerais faire le contraire. Imaginez un cube qu'on déplierait et qui donnerait une patron (peu importe lequel), mais un patron qui par déformation redonnerait notre cube.

    C'est ce que j'essaie de faire dans le cadre d'un projet! Mais je n'y arrive pas vraiment.

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par 3Dgirl Voir le message
    En fait l'objet est déjà maillé à la base. Et ce que j'aimerais faire du "unwrapping"

    je ne sais pas exactement si c'est ce qu'on dit.
    On dit plutôt "Flattening" (ou parfois unfolding, dans des cas particuliers).

    http://citeseerx.ist.psu.edu/search?...ace+flattening
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Imaginez que vous disposez d'une texture et que vous voulez l'appliquer à un objet 3D, vous partez bien d'une forme 2D pour avoir une forme 3D.
    La première question qui se pose est de savoir si tu as le droit de "découper" ta surface. Si ce n'est pas le cas, sache qu'il y a des surfaces dites développables pour lesquelles c'est possible (cylindre, paraboloïde hyperbolique, etc.) et d'autres, dites non développables, pour lesquelles ça ne l'est pas (sphère, paraboloïde de révolutions, etc.)
    Jean-Marc Blanc

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut
    Merci pour le site!

    Je vais déjà y jetter un coup d'oeil. Je dispose des deux types d'objets (développables et non développables).

    En même temps, je ne comprends pas pourquoi on ne pourrait pas déplier une sphère alors qu'on peut déplier un cylindre.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 349
    Par défaut
    Bonsoir,

    Dans le chapitre 12 (Texture mapping) du cours d'Infographie de László Szirmay, il y a 2 pages (pp342-343) consacrées au dépliage de maillage:

    http://www.iit.bme.hu/~szirmay/book.html

    avec le descriptif d'un algorithme.


    Cordialement,

    ---
    Canvas

  8. #8
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut Dépliage d'objet maillé - Suite - Pb d'ORIENTATION
    Bonjour!

    j'avais dis que je reviendrais dans 2 jours mais ça m'a pris + de temps qu'il ne fallait

    j'ai finalement développé l'algorithme ou je devais considérer à chaque fois deux triangles et déplier l'un par rapport à l'autre.

    je m'explique: je prends un triangle au hasard T1, je cherche son voisin T2, je tourne T2 par rapport à T1 de manière à ce qu'ils soient dans le même plan . Je marque T1. Puis je repars de T2 et ainsi de suite.

    le premier problème s'est posé au niveau de l'axe de rotation. finalement résolu, j'ai décidé que l'axe de rotation (qui est normalement le coté commun à T1 et T2), sera toujours supperposé à l'axe Y (il faut faire une simple similitude).

    Il va de soi qu'il faut bien jouer avec les deux axes X et Z, et aussi sur le signe des angles pour que le coté commun soit sur Y et que les triangles respectent la translation et les rotations. Ca c'est fait. La similitude étant bijective, je n'ai pas de problème pour le retour.

    Cependant, j'ai un tout autre problème.

    Il n'ya rien qui définisse l'orientation de mes faces par rapport à mon axe Y.


    Imaginez un cube avec de façon bien visible, la face de gauche, celle avant et celle de droite.

    Imaginez que l'axe Y soit le coté commun entre la face avant et celle de droite. Pour déplier donc par rapport à la face avant, il faut faire une rotation de -90° de la face droite

    si maintenant, par similitude, l'axe Y devient le coté commun entre la face de gauche et celle avant, il faudra tourner plutôt de +90° par rapport à Y.


    Comment savoir donc le signe de l'angle de rotation sachant que il n'y a aucun repère à la base?

  9. #9
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    e premier problème s'est posé au niveau de l'axe de rotation. finalement résolu, j'ai décidé que l'axe de rotation (qui est normalement le coté commun à T1 et T2), sera toujours supperposé à l'axe Y (il faut faire une simple similitude).
    Là je ne vois pas très bien ce que viennent faire ici les similitudes. Toutes les transformations en question sont des isométries (et même des rotations).
    Rappel: Similitude=produit isométrie par homothétie.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  10. #10
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut
    d'après mon cours de géométrie d'il y a très longtemps, une similitude = translation plus rotation

    Il existe un repère XYZ (avec un X qui pointe vers la gauche, un Y montant et un Z entrant).

    A la base mon objet n'est pas forcément en (0,0,0). Il se peut qu'aucun de mes vertices ne soit jamais (0,0,0).

    Pour "roter" mes triangles, il faut bien un axe de rotation qui en l'occurence est quelconque puisqu'il dépend à chaque fois d'un coté commun à 2 triangles.

    Raison pour laquelle, j'ai décidé que tous mes cotés communs seront toujours sur l'axe Y (ca aurait pu être X ou Z). Mais puis puisque mon objet peut se trouver n'importe où en 3D,

    il faut bien que je fasse d'abord une translation de mes 2 triangles en 0,0,0 puis une rotation pour que le coté commun soit positionné en Y.

    C'est tout ( d'où la similitude).

  11. #11
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Par défaut
    Pourquoi choisir un axe de rotation comme Y?


    tout simplement parce que je ne sais pas écrire de matrice de rotation à partir d'une droite qui ne soit pas (oY), (oX) ou (oZ).

    Comme je connais les matrices de rotation basiques 3D et que je ne veux pas me compliquer la tache en faisant des multiplications de matrices (en plus il faut savoir comment les multiplier XZY ou ZXY etc...), j'ai choisi l'option similitude

Discussions similaires

  1. [Débutant] Courbure gaussienne objets 3D maillés
    Par Ssnow dans le forum MATLAB
    Réponses: 0
    Dernier message: 07/03/2014, 11h39
  2. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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