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

C++ Discussion :

Besoin d'astuce, lire groupe de données.


Sujet :

C++

  1. #1
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut Besoin d'astuce, lire groupe de données.
    Bonsoir,

    Alors j'aurais besoin d'une astuce pour lire un fichier et placer les informations par groupe ;-]

    Pour l'instant je sais lire ce fichier 3D mais pour créer un seul objet.

    Voici un exemple du fichier qui est en fait le format wavefront OBJ, ascii,
    où chaque objet est ( pour l'instant ) composé des vertex « v », avec les normales « vn » et enfin les indices « f ».

    Ici j'ai trois objets, donc trois groupes de « v » etc.
    Ce qui m'intéresse c'est quand faire le push_back du groupe, surtout comment savoir quand j'ai lu le dernier « f » pour faire le push_back du dernier groupe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    # Blender3D v245 OBJ File: 
    # www.blender3d.org
    o Cube.002
    v -0.649241 -0.193974 -2.512762
    v -0.885250 -0.194688 -0.526736
    v -2.720690 -0.958538 -0.745125
    v -2.484680 -0.957823 -2.731151
    v -1.407831 1.654413 -2.602243
    v -1.643841 1.653698 -0.616217
    v -3.479281 0.889848 -0.834607
    v -3.243271 0.890563 -2.820633
    vn 0.379295 -0.924193 0.044741
    vn -0.379295 0.924193 -0.044741
    vn 0.917720 0.381925 0.109195
    vn -0.118005 -0.000358 0.993013
    vn -0.917720 -0.381925 -0.109195
    vn 0.118005 0.000358 -0.993013
    usemtl Material
    s off
    f 1//1 2//1 3//1 4//1
    f 5//2 8//2 7//2 6//2
    f 1//3 5//3 6//3 2//3
    f 2//4 6//4 7//4 3//4
    f 3//5 7//5 8//5 4//5
    f 5//6 1//6 4//6 8//6
    o Cube.001
    v 2.654720 -0.155150 -3.261242
    v 3.076279 -0.659099 -1.372241
    v 1.126125 -0.630566 -0.929423
    v 0.704567 -0.126617 -2.818424
    v 2.793248 1.780107 -2.775867
    v 3.214806 1.276159 -0.886866
    v 1.264653 1.304692 -0.444049
    v 0.843095 1.808640 -2.333050
    vn -0.069264 -0.967629 -0.242687
    vn 0.069264 0.967629 0.242687
    vn 0.975077 -0.014266 -0.221409
    vn 0.210779 -0.251974 0.944500
    vn -0.975077 0.014266 0.221409
    vn -0.210779 0.251974 -0.944500
    usemtl Material
    s off
    f 9//7 10//7 11//7 12//7
    f 13//8 16//8 15//8 14//8
    f 9//9 13//9 14//9 10//9
    f 10//10 14//10 15//10 11//10
    f 11//11 15//11 16//11 12//11
    f 13//12 9//12 12//12 16//12
    o Cube
    v 1.352173 -0.731076 2.476976
    v 0.627522 0.039807 4.174215
    v -1.236516 -0.244656 3.507551
    v -0.511865 -1.015539 1.810312
    v 1.367733 1.092333 1.655431
    v 0.643081 1.863216 3.352669
    v -1.220957 1.578753 2.686004
    v -0.496306 0.807870 0.988766
    vn -0.007780 -0.911704 0.410773
    vn 0.007780 0.911704 -0.410773
    vn 0.932019 0.142231 0.333332
    vn -0.362325 0.385442 0.848619
    vn -0.932019 -0.142232 -0.333332
    vn 0.362325 -0.385442 -0.848620
    usemtl Material
    s off
    f 17//13 18//13 19//13 20//13
    f 21//14 24//14 23//14 22//14
    f 17//15 21//15 22//15 18//15
    f 18//16 22//16 23//16 19//16
    f 19//17 23//17 24//17 20//17
    f 21//18 17//18 20//18 24//18
    Bref, à cette heure je n'ai pas d'idée comme ça, alors, je me demandais comment feriez vous, ô si puissants programmeurs de la nuit ;D

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour. Le problème de l'obj est que ça va dépendre de qui la écrit et de ce qui as comme information utilisée...
    Pour lire un obj tu devrait avoir :
    - un vector de vertex : contient tout les v dans l'ordre de lecture
    - un vector de normal : contient tout les vn dans l'ordre de lecture
    - un vector de coord de texture :
    contient tout les vt dans l'ordre de lecture


    ensuite a toi de voir comment tu peut découper tes obj. i.e.: rassembler les
    faces ("f") tu peut utiliser plusieurs méthodes :
    - par matériaux : "usemtl"
    - par un ensemble de "f"
    - par les donné exeplécite de groupe : g s mg o

    voici un lien sur le format obj :
    http://people.scs.fsu.edu/~burkardt/txt/obj_format.txt

  3. #3
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Merci pour tout je vais voir pour le groupage, le reste je l'ai déjà donc avec vector de f, vn.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Happy Voir le message
    Merci pour tout je vais voir pour le groupage, le reste je l'ai déjà donc avec vector de f, vn.
    Et fait attention aux index de v, vn et vt . Ils partent toujours depuis le début du fichier
    i.e. :le premier v est toujours le premier du fichier ...

  5. #5
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Je vais faire attention, merci bien, c'est encourageant

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/11/2008, 10h40
  2. lire une ligne donnée
    Par capucine1983 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 15/07/2007, 02h00
  3. [MySQL] Affichage groupé des données d'une table
    Par Faure dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2007, 15h15
  4. Groupes de donneés
    Par Cyrius dans le forum Requêtes
    Réponses: 1
    Dernier message: 28/08/2006, 11h30
  5. Réponses: 3
    Dernier message: 05/12/2005, 02h30

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