Explication du fonctionnement d'un tab

jfk20004 Messages postés 39 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 13 novembre 2004 - 26 août 2004 à 23:22
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 27 août 2004 à 10:54
quelqu'un peut il m'expliquer ce que font exactement ici les tableaux . j'aimerais savoir si ce sont les tableaux qui passent des valeurs ou si on passe des valeurs aux tableaux.j'ai mis des nota là où il ya un prob.MERCI
j'ai mis l'ensemble de la classe pour plus de clarte:

Champ::Champ()
{
pointsMesh = new V3D[TAILLE_CHAMP * TAILLE_CHAMP * TAILLE_CHAMP * 5 * 3];
normalesMesh = new V3D[TAILLE_CHAMP * TAILLE_CHAMP * TAILLE_CHAMP * 5 * 3];


nbPoints = 0;
}

/*******************************************************************************
* Destructeur
******************************************************************************/

Champ::~Champ()
{
delete[] pointsMesh;
delete[] normalesMesh;
}

/*******************************************************************************
* Calcul du champ
******************************************************************************/

void Champ::calcule(Metaball* liste, int nombreMetas)
{
int x, y, z, i;
V3D pos;


for (z = 0; z < TAILLE_CHAMP; z++) {
for (y = 0; y < TAILLE_CHAMP; y++) {
for (x = 0; x < TAILLE_CHAMP; x++) {

//!!!!nota:que veut dire precisement la notation pos.x=x dans ce contexte et d'une maniere generale
pos.x = x;
pos.y = y;
pos.z = z;

//nota:qu'est celà que signifie :est ce qu'on passe au tab la valeur
0.0f ??a quoi servent les boucles????
champ[x][y][z] = 0.0f;

for (i = 0; i < nombreMetas; i++) {

//nota:ici que se passe t il avec le tab???incrementé par un autre
tab à qui on passe la fonction (pos)????cà veut dire quoi????

champ[x][y][z] += liste[i].fonction(pos);
}
}
}
}

for (z = 1; z < TAILLE_CHAMP - 1; z++) {
for (y = 1; y < TAILLE_CHAMP - 1; y++) {
for (x = 1; x < TAILLE_CHAMP - 1; x++) {

//nota:ici le tab recoit le param x???qui a pour param l'autre tab??
//je ne vois pas comment et pourquoi un tab recevrait un autre
tab en param!!!!
gradient[x][y][z].x = champ[x + 1][y][z] - champ[x - 1][y][z];
gradient[x][y][z].y = champ[x][y + 1][z] - champ[x][y - 1][z];
gradient[x][y][z].z = champ[x][y][

z + 1] - champ[x][y][z - 1];


gradient[x][y][z] *= 0.5;
}
}
}
}

J' AI VRAIMENT BESOIN DE QUELQU UN DE DOUE POUR M'EXPLIQUER CA CLAIREMENT PARCE QUE JE NAGE COMPLETEMENT ET JE RETROUVE CETTE "SYNTAXE" TOUT LE TEMPS DANS LE GRAPHISME.MERCI D'AVANCE!!!!!!

5 réponses

cs_theidiot Messages postés 56 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 27 août 2005
27 août 2004 à 04:37
heu ...je ne suis pas un expert...

Mais je crois que tu devrais nous montrer ce qui défini cette classe parce que juste avec l'objets de classe c'est dur à dire...
0
cs_theidiot Messages postés 56 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 27 août 2005
27 août 2004 à 04:58
V3D pos; //typage (d'une struct? ou d'une classe?) c'est pour ca
// que j'aimerai voir cette classe(parce que la je
//ne vois que les fonction de classe)

for (z = 1; z < TAILLE_CHAMP - 1; z++) {
for (y = 1; y < TAILLE_CHAMP - 1; y++) {
for (x = 1; x < TAILLE_CHAMP - 1; x++) {

gradient[x][y][z].x = champ[x + 1][y][z] - champ[x - 1][y][z];
gradient[x][y][z].y = champ[x][y + 1][z] - champ[x][y - 1][z];
gradient[x][y][z].z = champ[x][y][

z + 1] - champ[x][y][z - 1];

gradient[x][y][z] *= 0.5;
}
}
}
}

/*Ce que je comprend ici c'est un calcul passé ensuite en parametre qui permet de faire un degradé.

un degradé en trois dimension je supose puisque le tableau est en trois D.
0
cs_theidiot Messages postés 56 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 27 août 2005
27 août 2004 à 05:01
bref montre nous tous
cela serais bien...
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 10:43
que ce soit struct ou classe c'est pareil, c'est juste une histoire d'accessibilité des attributs par defaut
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 10:54
for (i = 0; i < nombreMetas; i++) {

//nota:ici que se passe t il avec le tab???incrementé par un autre
tab à qui on passe la fonction (pos)????cà veut dire quoi????

champ[x][y][z] += liste[i].fonction(pos);
}

=> à la case [x][y][z] est ajouté le retour de fonction sur le ie elt de la liste

++

Magic Nono: l'informagicien! 8-)
0
Rejoignez-nous