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

Physique Discussion :

Question à propos des fichiers .OBJ


Sujet :

Physique

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 64
    Points : 43
    Points
    43
    Par défaut [resolu] Question à propos des fichiers .OBJ
    Bonjour,

    Je suis en train de créer un parser de fichier OBJ pour un programme.
    Le parser est terminé mais je me heurte à un petit problème de données ...
    En effet avant la création du parser OBJ pour mon programme les données
    été écrites en "dure":

    Un tableau float *points contenait la liste des points sous cette forme là :

    foat points[nbr] = { xv1, yv1, zv1, xv2, yv2, zv2 , .....}

    J'utilisais aussi un tableau triangleIndex.

    Comme c'est très sale d'avoir des données en dure comme cela j'ai décidé de me monter un petit parser.

    Cependant les données du tableau triangleIndex ne correspondent pas aux données lisibles du fichier OBJ, qui contient les même informations. D'où un problème lors du parsage, je ne sais pas comment traiter certaines données pour générer automatiquement le tableau triangleIndex ....

    Je m'explique les valeurs du tableau points correspondent parfaitement
    aux données vertex du fichier OBJ (voir plus loin), mais les données "face" du fichier OBJ ne correpondent pas - directement - au tableau triangleIndex
    que j'utilisais avant ....

    Les tableaux sont en piéces jointes.

    Le fichier OBJ sensé correspondre est en piéce jointe.

    Les données "face" du fichier OBJ ne vont que jusqu'à 2412, et le tableau triangleIndex va jusqu'à plus de 7000 ...

    dans mon parser je récupére les données de f pour construire le tableau triangleIndex de la manière suivante :

    triangle[nbr] = 2401, triangle[nbr] = 2405, triangle[nbr] = 2406 etc ...

    et les données ne correspondent pas aux anciennens données en dure que j'avais ..... alors soit le fichier OBJ ne correspond pas aux données en dure
    ou alors je me trompe en construisant mon tableau triangleIndex ou alors encore autre chose ?

    Savez-vous d'où vient le problème ?

    merci,
    Fichiers attachés Fichiers attachés
    -------------------

    @(zmodai)+

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut

    Citation Envoyé par azmodai Voir le message
    et les données ne correspondent pas aux anciennens données en dure que j'avais ..... alors soit le fichier OBJ ne correspond pas aux données en dure
    ou alors je me trompe en construisant mon tableau triangleIndex ou alors encore autre chose ?
    804 faces triangulaires dans le fichier obj, ce qui correspond bien aux 2412 vertices. Pas de soucis de ce côté. On les retrouve bien dans tes tableaux.

    Où est le problème exactement? Parce que je n'ai pas trop compris ta (trop) longue explication. As-tu un soucis à l'affichage? Normalement non...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 64
    Points : 43
    Points
    43
    Par défaut
    Quand je parse le fichier obj j'arrive parfaitement à
    "recréer" le tableau points que j'utilisais en dure et qui correpond aux valeurs vertices. Le problème vient d'un autre tableau que l'on m'a fourni et qui s'appelle triangleIndex (voir pièce jointe tableaux.zip) je ne sais pas trop à quoi il correspond dans le fichier obj originel ...
    aud début je croyais que je pouvais parser les valeurs du fichier obj de la manière suivante pour obtenir les valeurs de ce tableau :

    f triangleIndex[i] triangleIndex[i+1] triangleIndex[i+2]

    mais voilà les données "face" du fichier OBJ ne correpondent pas aux données de ce tableau ....

    Je voudrais savoir si à votre avis on m'a fourni un fichier OBJ qui ne correpond pas aux valeurs en dure que l'on ma précedement données ou si je me trompe complétement en générant après le parsing le tableau triangleIndex

    En fait si j'ai bien compris "face" (ou "f") prend trois vecteurs et décrit la face d'un triangle, comme cela :
    f v1 v2 v3
    D'où mon interrogation : pourquoi nommer ce tableau triangleIndex ?
    -------------------

    @(zmodai)+

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par azmodai Voir le message
    mais voilà les données "face" du fichier OBJ ne correpondent pas aux données de ce tableau ....
    D'après ce que je vois des fichiers que tu as fournis en pièces jointes, ça correspond parfaitement...

    Citation Envoyé par azmodai Voir le message
    En fait si j'ai bien compris "face" (ou "f") prend trois vecteurs et décrit la face d'un triangle, comme cela :
    f v1 v2 v3
    pas trois vecteurs, trois indices... trois positions dans le tableau de points... et chaque point est constitué de trois valeurs réelles...
    La première face du fichier obj va chercher les points n° 1, 2 et 3. Le point numéro 1 se trouve à l'indice 0 de ton tableau pour sa valeur x (puis 1 pour y, et 2 pour z), le point numéro 2 juste après à l'indice 3 donc (y à 4, z à 5), et le numéro 3 à l'indice 6. Ce que l'on retrouve bien dans ton tableau. Je ne comprends vraiment pas sur quoi tu te poses des questions là...

    Citation Envoyé par azmodai Voir le message
    D'où mon interrogation : pourquoi nommer ce tableau triangleIndex ?
    Je crois qu'on est un peu mal placé pour te dire pourquoi tu l'as appelé comme ça... non?

    Le parser fonctionne très bien d'après ce que l'on en voit. Mais les questions que tu te poses sur un parser que tu as créé toi-même sont un peu louches...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 64
    Points : 43
    Points
    43
    Par défaut
    En fait je n'ai pas choisi le nom des variables ....
    On m'a fourni deux tableaux : points et triangleIndex

    À présent je voudrais retrouver les valeurs de triangleIndex via le fichier obj. Auriez-vous une idée ?
    -------------------

    @(zmodai)+

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par azmodai Voir le message
    En fait je n'ai pas choisi le nom des variables ....
    On m'a fourni deux tableaux : points et triangleIndex

    À présent je voudrais retrouver les valeurs de triangleIndex via le fichier obj. Auriez-vous une idée ?
    Je ne comprends plus rien à ton problème...

    Et pour les valeurs de triangleIndex, je t'ai expliqué ça juste au-dessus...

    Si ça continue comme ça, j'abandonne...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 64
    Points : 43
    Points
    43
    Par défaut
    Mhh j'ai lu un peu vite ton message d'avant ....
    J'ai vu d'où venait le problème !

    merci beaucoup pou l'explication ça m'a bien aidé
    -------------------

    @(zmodai)+

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2008, 23h46
  2. Question à propos du fichier web.log
    Par silef dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 08/08/2005, 18h17
  3. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  4. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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