Solved

inverse matrix

Posted on 1997-12-11
19
520 Views
Last Modified: 2010-05-18
how can I get the inverse of a N x N matrix I need this code ASAP please very quick
0
Comment
Question by:latino
  • 10
  • 5
  • 2
  • +2
19 Comments
 

Author Comment

by:latino
Comment Utility
I Need this answer as soon as posible !!!!!!!!
0
 
LVL 10

Expert Comment

by:rbr
Comment Utility
It depends on the size an shape of your matrix. If you need different algorithmen look for the book Numerical Recipies in C.

Online source code for this book at
http://
0
 
LVL 10

Expert Comment

by:rbr
Comment Utility
Sorry i forgot the WWW-adress:
http://cfatab.havard.edu/nr/nronline.html
0
 

Author Comment

by:latino
Comment Utility
http:// what???? there is no any answer, If please you can help me with the code I'll greatly appreciate it!!!!!!!!!

Ok let's say it's a 10 x 10 matrix

ASAP PLEASE
0
 

Author Comment

by:latino
Comment Utility
This didn't help cause all I need is the code in that URL there is nothing about what I need

What if is a 10 x 10 matrix and I wanna find the inverse

PLEASE ASAP
0
 

Author Comment

by:latino
Comment Utility
Still wating if EXPERTS can strike I'm here
0
 

Author Comment

by:latino
Comment Utility
Still wating if EXPERTS can strike I'm here
0
 

Author Comment

by:latino
Comment Utility
Godness Experts I really need this code I'll greatly appreciate
your assistance!!!!!!!!!!!!!!!!
0
 
LVL 10

Expert Comment

by:RONSLOW
Comment Utility
here is 4x4 ... I'm looking for more for you...

From: gmt@aviator.cis.ufl.edu (Gary McTaggart)
Newsgroups: comp.graphics.algorithms
Subject: Re: Request: Inverse of a 4x4 matrix algorithm
Date: 21 May 1994 20:44:04 GMT
Mike Matsel (matsel@cs.uoregon.edu) wrote:

Does anyone have C code, or at least some psuedo-code for the finding the inverse of a 4 x 4 matrix? Its for a ray tracer. Thanks!
In a lot of cases in graphics, you will be strictly dealing with affine transforms. (My cheesy non-definition of affine is that you are only dealing with translations, rotations, and scaling. . .no shearing or perspective projection.) If this is the case, then you can use the following to find the inverse:


--------------------------------------------------------------------------------


// (Note that a Matrix is:
//   typedef float Matrix[4][4];
//
// Generally speaking, a matrix doesn't need to be bigger than 4x3, but
// since this code is to work with GL and it uses 4x4 matrices. . .

// Find the inverse of a matrix that is made up of only scales, rotations,
// and translations.
void MatrixAffineInverse( Matrix m, Matrix result )
{
  float Tx, Ty, Tz;

  // The rotational part of the matrix is simply the transpose of the
  // original matrix.
  result[0][0] = m[0][0];
  result[1][0] = m[0][1];
  result[2][0] = m[0][2];

  result[0][1] = m[1][0];
  result[1][1] = m[1][1];
  result[2][1] = m[1][2];

  result[0][2] = m[2][0];
  result[1][2] = m[2][1];
  result[2][2] = m[2][2];
 
  // The right column vector of the matrix should always be [ 0 0 0 1 ]
  // In most cases. . . you don't need this column at all because it'll
  // never be used in the program, but since this code is used with GL
  // and it does consider this column, it is here.
  result[0][3] = result[1][3] = result[2][3] = 0;
  result[3][3] = 1;

  // The translation components of the original matrix.
  Tx = m[3][0];
  Ty = m[3][1];
  Tz = m[3][2];
 
  // Rresult = -(Tm * Rm) to get the translation part of the inverse
  result[3][0] = -( m[0][0] * Tx + m[0][1] * Ty + m[0][2] * Tz );
  result[3][1] = -( m[1][0] * Tx + m[1][1] * Ty + m[1][2] * Tz );
  result[3][2] = -( m[2][0] * Tx + m[2][1] * Ty + m[2][2] * Tz );
}

0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 10

Expert Comment

by:RONSLOW
Comment Utility
Here is another at http://irecall.com/vve/matrix.c


0
 

Author Comment

by:latino
Comment Utility
I can still wait for this a little bit more
thanks Ronslow
0
 
LVL 2

Expert Comment

by:kellyjj
Comment Utility
Sounds like a homework assignment?  I have to ask you... Do you know how to get the inverse of a matrix by hand??  If you can't do it by hand then you really won't be able to understand or even write a program to do it for you.  

If you do know how to get the inverse by hand the just write code to do what you would do.  I know that it won't be the best code, but it will be a good starting point.
0
 

Author Comment

by:latino
Comment Utility
you are right kelly it's a homework but I know how to get it by hand but this code should be able to get the inverse of a matrix bigger than a 4 X 4 and that's where I fall dowm! but I'll keep trying and see what I come up with

Thanks anyway
0
 
LVL 10

Expert Comment

by:RONSLOW
Comment Utility
0
 

Expert Comment

by:hbadr
Comment Utility
do you still want the code ??
0
 

Author Comment

by:latino
Comment Utility
I do habdr!!! thanks
0
 
LVL 10

Expert Comment

by:RONSLOW
Comment Utility
Why the reject ???
0
 
LVL 10

Accepted Solution

by:
RONSLOW earned 100 total points
Comment Utility
Why the reject ???  
0
 

Author Comment

by:latino
Comment Utility
Thanks Ronslow
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now