If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

how can I get the inverse of a N x N matrix I need this code ASAP please very quick

Online source code for this book at

http://

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

ASAP PLEASE

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

PLEASE ASAP

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 );

}

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.

Thanks anyway

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.