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

Développement 2D, 3D et Jeux Discussion :

charger une matrice inversée


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut charger une matrice inversée
    Bonjour à tous,


    Je possède une matrice inversée, et je voudrais savoir comment je pouvais retrouver la matrice originale, avant qu'elle soit inversée.


    Mes matrices sont sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    m_f11, m_f21, m_f31, m_f41,
    m_f12, m_f22, m_f32, m_f42,
    m_f13, m_f23, m_f33, m_f43,
    m_f14, m_f24, m_f34, m_f44
    m_f41, m_f42, m_f43 définissent la translation X, Y et Z.

    Lorsque je charge ma matrice inversé, je vois les valeurs de la translation qui sont inversée (négatives alors qu'elle devrait être positives), et à une autre place que m_f41, 42 ou 43.

    Je doute qu'en inversant l'inverse on retrouve la matrice originale, est-ce que je me trompe?


    Merci beaucoup

    A bientôt

  2. #2
    Membre émérite
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Par défaut
    sauf erreur de ma part, l'inverse de la matrice inverse = matrice originale...
    donc il suffirait de ré inverser ta matrice.

    En esperant qu'on parle bien d'inverse et non de symétrie...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    hummm désolé pour le dérangement, en fait c'est moi, j'avais chargé une matrice main gauche dans ma matrice main droite.

    En replaçant correctement les valeurs, et en réinversant la matrice, tout est rentré dans l'ordre


    Merci beaucoup,

    A bientôt

  4. #4
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    pour trouver la matrice originale d'une matrice inversé il faut l'inverser !!
    et voila la fonction c++ qui fait l'inverse d'une matrice
    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
    void InvdiagMat(int NbElement, float **Mat)
    {
    	float ** temp;
    	int i;
    	temp=new float*[NbElement];
    	for(i=0;i<NbElement;i++)
    	{
    		temp[i]=new float [NbElement];
    		for(int j=0;j<NbElement;j++)
    		{
    			temp[i][j]=0;
    		}
    	}
    	for(i=0;i<NbElement;i++)
        {
     
    	 	for(int j=0;j<NbElement;j++)
    		{
    		 	temp[i][i]=1/Mat[i][i];
    		 	if(j!=i)
    	    		{
    			    temp[i][j]=-Mat[i][j]/Mat[i][i];
    			}
     
                            for(int k=0;k<NbElement;k++)
    		 	{
     
    			   if(k!=i)
    				{
    		 		   temp[k][i]=Mat[k][i]/Mat[i][i];
    				}
    			  if(j!=i &&k!=i)
    				{
    			          temp[k][j]=Mat[k][j]-Mat[i][j]*Mat[k][i]/Mat[i][i];
                                    }		
    		       }
     
    		}
     
                  for(int i=0;i<NbElement;i++)
        	      {
                          for(int j=0;j<NbElement;j++)
                          {
                               Mat[i][j]=temp[i][j];
                          }
     
                  }
     
        }
     
    }
    bon courage !!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/03/2017, 17h11
  2. [Débutant] charger une matrice de données et dans le meme fichier de données
    Par sasa2011 dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/03/2011, 17h06
  3. Inversion et déterminant d'une matrice
    Par coline dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 23/06/2006, 10h01
  4. Réponses: 1
    Dernier message: 18/05/2006, 13h52
  5. Comment inverser une matrice H(2,2) ?
    Par fafa624 dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2005, 11h23

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