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 :

probléme dans l'utilisation d'un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 37
    Par défaut probléme dans l'utilisation d'un tableau
    j'ai effectué un programme sous visual c++ on utilisant les sources de VTKsurfaces aprés faire un calcul d'une équation de filtrage j'enregistre le résultat dans un tableau bidimensionnel et ce qu'il faut faire maintenant c'est de faire changer les coordonnées qui sont déjà été enregistrer dans le tableau en utilisant setpointcoordinates
    mon tableau et comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    double**tableau; 
    tableau=new double*[this->Input->GetNumberOfCoordinates()]; 
    for(int i=0;i<this->Input->GetNumberOfCoordinates();i++) 
    { 
    tableau[i]=new double[3]; 
     
    for (int j=0;j<3;j++) 
    { 
    tableau[i][j]=E[n];//tel que E contient le résultat de tous les coordonées de repére X, Y, et Z 
    } 
    }
    et ce que je dois faire c'est de mettre à jour mes coordonnées qui s'été enregistrer dans le tableau en utilisant SETCOORDINATES.
    je sais qu'il faut mettre une boucle mais je me mets qoui la dedant ???????????? merci pour vos aides

  2. #2
    Membre expérimenté
    Avatar de superspag
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 153
    Par défaut
    Je n'ai pas tout compris... C'est quoi E[n] ?
    Essai de reformuler ton problème aussi... J'ai beau lire et re-lire, je ne comprends pas ce que tu souhaites faire...
    Tu as des problèmes avec VTK ou avec le C++ ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 37
    Par défaut
    Citation Envoyé par superspag
    Je n'ai pas tout compris... C'est quoi E[n] ?
    Essai de reformuler ton problème aussi... J'ai beau lire et re-lire, je ne comprends pas ce que tu souhaites faire...
    Tu as des problèmes avec VTK ou avec le C++ ?
    j'ai un probléme avec C++ on fait E[n] est une équation qui contient les nouveaux positions de mes sommets donc je garde une coppie de ce résultat (E[n]) dans le tableau et je ferme } aprés ce que je dois faire c'est d'appler cette résultat du tableau et de faire changer les coordonnées comme tous mes points ont des coordonnées avec la fonction SetOPointCoordinates.
    c'est ça ce que je souhaite faire j'espére que tu as compris mon problème

  4. #4
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Je dois dire que je ne comprend rien du tout moi non plus.

    E[n] est une équation
    Tu devrais nous mettre le code dans lequel tu déclares E.

    changer les coordonnées comme tous mes points ont des coordonnées avec la fonction SetOPointCoordinates.
    Tu devrais nous dire de quels "points" tu parles, car ce n'est pas très clair.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 37
    Par défaut
    class vtkLaplacianFairing
    {
    public:

    void SetInput(vtkSurface *Input) {this->Input=Input;};

    void ApplyFiltering(double Lambda)
    {

    double **Tableau;
    Tableau= new double* [this->Input->GetNumberOfPoints()];
    double A[3],B[3],E[3];
    double X[3],Y[3];
    vtkIdList *MyList=vtkIdList::New();

    for (int i=0; i<this->Input->GetNumberOfPoints(); i++)//prendre tous les sommets (i)

    {
    this->Input->GetVertexNeighbours(i,MyList);//elle me passe les sommets qui ont des voisinages avec le sommet choisi
    this->Input->GetPointCoordinates(i,X);//pour savoir les coordonées de chaque sommet en x,y,z
    double somme[3];
    somme[0]=0; somme[1]=0;somme[2]=0;
    for (j=0;j<MyList->GetNumberOfIds();j++) //le nbre d'ID correspond au nombre des points de voisinage
    {

    this->Input->GetPointCoordinates(MyList->GetId(j),Y);//prendre les voisins Y(j) de i

    A[0]=Y[0]-X[0];
    A[1]=Y[1]-X[1];//on soustraire Y(j) de X(i) pour chaque axe
    A[2]=Y[2]-X[2];

    B[0]=A[0]/(double)MyList->GetNumberOfIds();
    B[1]=A[1]/(double)MyList->GetNumberOfIds();
    B[2]=A[2]/(double)MyList->GetNumberOfIds();

    somme[0]=somme[0]+B[0];
    somme[1]=somme[1]+B[1];//pour le calcul de Laplacian Discret= somme wij(y(j)-X(i)) telque wij=1/nbre des voisins
    somme[2]=somme[2]+B[2];

    }
    E[0]=X[0]+Lambda*somme[0];//calcul du nouveau position des sommets
    E[1]=X[1]+Lambda*somme[1];
    E[2]=X[2]+Lambda*somme[2];

    Tableau[i]=new double[3];
    for (int n=0;n<3;n++)
    {
    Tableau[i][n]=E[n];//on enregistre tous les valeurs dans le tableau qui contient tous
    //le calcul des nouveaux positions des sommets en X, Y et Z c.a.d. on garde une copie de nos résultats dans ce tableau
    }

    }


    this->Input->SetPointCoordinates(.....,.....);//pour changer les coordonées du chaque sommet (elle est là mon problème je sais pas qoui mettre ici


    delete [] Tableau;
    }
    protected:
    vtkSurface *Input;

    };

    voilà je t'ai mis toute ma classe E[n] est le résultat de toute une équation elle contient la nouvelle position des points donc les nouveaux coordonnées des points.

  6. #6
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    peux-tu rajouter des balises [ CODE ] autour de ton code ?
    et aussi l'indenter ?
    comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Ceci est du code
    {
    	ceci est indenté correctement
    }
    afin que ce soit lisible ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/04/2008, 00h01
  2. Problème dans l'utilisation d'un tableau
    Par NoiBe dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 16/05/2007, 16h19
  3. problème dans l'utilisation de g_access()
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 18
    Dernier message: 02/03/2007, 14h57
  4. Problème dans l'utilisation du WebBrowser
    Par MCShiff dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/01/2007, 12h52

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