views:

596

answers:

6

The title says it all basically, I'm looking for books and resource to teach myself linear algebra to be used in 3D graphics programming. I prefer practical approaches to teaching over theoretical (even though math is what, 99.99% theory?) ones, so the dream resource for me would be a book that tackles linear algebra as it's used with 3D graphics programming from a practical perspective.

+10  A: 

MIT OpenCourseWare offers a free course in Linear Algebra. May be too general for your very specific interests, but it's free. :)

Bill the Lizard
I'd recommend this. Gil Strang is a brilliant teacher and writer.
duffymo
YEAH!!!!! Free :)
Aaron
Note that the text is not free nor available online.
titaniumdecoy
Bill the Lizard
Thanks Bill, I'll check it out.
titaniumdecoy
+2  A: 

Although not intended to teach linear algebra the book "tricks of the 3d game programming gurus" has excellent coverage on 3D graphics with examples of how the linear algebra is applied.

smaclell
+7  A: 

If you ask a mathematician, an engineer, and a game programmer what linear algebra is, you'll get three different answers.

Mathematicians will focus on fascinating but abstract topics such as linear independence and abstract vector spaces. Engineers will focus on eigenvectors, which are used to solve differential equations. For graphics, you are typically using vectors to compute geometry, which is not the focus of linear algebra textbooks.

A good computer graphics textbook should go over most of what you need. The F. S. Hill book is one example.

James Rose
+1  A: 

There's this free ebook that seems to be a pretty good introduction to Linear Algebra. More math books can be found here as well.

L1th1um
+2  A: 

Foley's Computer Graphics would answer your questions in a practical manner.

Robert Lamb
A: 

Hmm - for 3D programming you don't need all the fancy linear algebra stuff like abstract vector spaces, bases, eigenvectors, etc.

All you need is basic stuff like matrixmultiplication, the definition of the inner product (and some basic facts about it), definition of lines and plans with respect to normal vectors, etc.

All this is normaly covered in undergraduate analytic geometrie courses if I'm not mistaken.

But after all - if you don't want to play with your own renderering engine you gonna use DirectX, OpenGL or something similiar and then you will only need to know how to "address" a point in 3D with it's coordinates and maybe how to compute a normal vector to a "surface" - and in all those cases wikipedia or google will give you a helping hand.

CKoenig