MULTIPLICATION D'UNE MATRICE PAR UN VECTEUR

Signaler
Messages postés
39
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
13 novembre 2004
-
Messages postés
4
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
19 mars 2008
-
Quelqu'un pourrait il m'expliquer le bout de code suivant tiré d'un
prog de raytrace .Cette partie est censée multiplier une matrice
et un vecteur.Je ne comprends pas la syntaxe entourée d'un ?/?/?/


vector multiply_m_v(matrix & m, vector & v)
{
static vector ret;

?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?//?/?/?/?/?//??//?/??/?/?/
ret.x = m.mat[0][0] * v.x + m.mat[0][1] * v.y + m.mat[0][2] * v.z + m.mat[0][3];
?/?//?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?/?//?/?/?/?/?/?/?//?/?/?

ret.y = m.mat[1][0] * v.x + m.mat[1][1] * v.y + m.mat[1][2] * v.z + m.mat[1][3];
ret.z = m.mat[2][0] * v.x + m.mat[2][1] * v.y + m.mat[2][2] * v.z + m.mat[2][3];

return ret;
}

MERCI BONNE PROG

6 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
qu'est ce que tu ccomprend pas precisement ??
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
il multiplie tout simplement les 4 premiers element de la matrice appartennant a la ligne [0] par les coordonnées du vecteur, et ensuite il additionne le tout.
A toi de remettre la formule dans son contexte en sachant ce que l'auteur a voulu faire.
Trace le code et tu le seras vite.

Shell
Messages postés
39
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
13 novembre 2004

Pourquoi est on obligé de passer par la syntaxe
m.mat[][] ,pourquoi le m. et le v.x sont il necessaires.
Pourquoi n'ecrit on pas simplement mat[][] et x??
MERCI BONNE PROG!
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Parceque v et mat sont des structures.
Ca ne correspondrait a rien de mettre mat[][] *x.
mat n'est pas un tableau et v n'ont plus.

Voici un exemple pour que tu comprennes mieux:
typedef struct {
   int age;
   char nom[256];
} PERSONNE;

//Je déclare une varaible de type PERSONNE
PERSONNE mClient;

//Ensuite je lui attribue son age et son nom a la structure
mClient.age = 20;
strcpy(mClient.nom,"Shell");


Voila rien de très compliqué a vrai dire.

Shell
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
jfk20004 > tu voudrais pas apprebdre le c avant de faire des truc comme ca ?
Messages postés
4
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
19 mars 2008

bsr.j aimerai avoir une fonction qui multiplie une matrice par un vecteur.
merci de me rependre.
bonne continuation