Matrix Inverse....

Started by
6 comments, last by Jx 21 years, 7 months ago
...what is it useful for?
Advertisement
quote:Original post by Jx
...what is it useful for?


Mirroring.
______________________________Only dead fish go with the main-stream.
Besides the point that any simple search would have given immediate results, I''ll still answer it

It''s used to do semi-division with matrices. An multiplying by a matrices inverse will have the same results as if you were to divide them although there is technically no division of matrices.

---
My Site-My Tetris Clone w/Source
Come join us on IRC in #directxdev @ irc.afternet.org
quote:Original post by RapidStunna
Besides the point that any simple search would have given immediate results, I'll still answer it

It's used to do semi-division with matrices. An multiplying by a matrices inverse will have the same results as if you were to divide them although there is technically no division of matrices.



Firstly, I did do a search - through my maths textbook which is on the desk infront of me, and then on google. I wouldn't have asked otherwise. You would think that, having been a member for 2 years, I would know how to use the forums by now....

Secondly you didn't answer my question. I know how to calculate the inverse, I know that it's _like_ matrix division (even though that isn't defined).

What I asked is what is it useful for?



[edited by - Jx on September 2, 2002 8:34:48 PM]
it is usefull because it is the inverse transformation : if your matrix had to translate a vector front, it will translate it back, if it had to scale up, it will scale down ... It is usefull for characters animation and many many things
What is the inverse of anything used for? If you want and example then lets say you have a matrix that contains the rotations, translations, and scales for some transformation to be applied to some 3d object. In opengl this is of course the modelview matrix. Well the inverse of this would undo all of these operations. So lets say you have a triangle. You transform this triangle by the modelview matrix. Ok so now the triangle is rotated, translated somewhere and scaled larger lets say for example. Now multiply each vertex of the triangle by the _inverse_ of this matrix and the triangle would return to the rotation, translation and scale that it started with. Understand now? It''s just like an inverse of a function you did in a math class but in matrix form.

-SirKnight
It is useful to solve a system of linear equations to stay very general (3d-transformation matrix inversion is a special case).
for example

simple electronics - wires can be modelled as being a resistance (ohms) between any two points. there will be a voltage drop across the wire and there will be a flow of current.

if i have five points connected by seven wires then i can make a 7 x 7 matrix with entries representing the resistance in the wires between any two points (quite a few entries will be zero). incidentaly the matrix is symmetrical and the diagonals are the sum of the other elements in their row (or column... as it''s symmetrical).

once i inverse the matrix i can calculate the current for a given voltage. simple physics tells us V = RI, that is the voltage difference in a line is a product of the current and resistance. by inverting our matrix that represents R we can get I on its own. I = (Rinv)V. then multiply by the voltage vector. this is extensible to however large a system you choose. inverting a matrix efficiently is no mean feat though.

this a basic application of solution of linear equations. other uses are for partial differential equations. it would show up in a general physics system quite likely in AI.

useful link

This topic is closed to new replies.

Advertisement