This might read like duplicate of this question https://math.stackexchange.com/search?q=where+to+start

However since that one wasn't answered, and I have a more specific problem in regards to learning what I want to learn, I feel it was worth while to ask the question anyway.

My last hurdle to becoming a hireable game programmer is the the application of 3D mathematics in graphics programming. While I have no problems using simpler math while programming basic games and understanding how to use the 3D math libraries already present in other engines, every time I get a around actually doing matrix calculations myself and other complex calculations I find myself at a brick wall. There have been a few times where I was able to briefly learn and apply 3d Mathematics but it didn't last that long and I find myself once a again stuck.

It feel my understanding of mathematics is only skin deep because of this. There may be something missing in my understanding of mathematics thus far, as often when I look up a lengthy equation or algorithm, I get overwhelmed with the all the symbols. Obviously this doesn't help me in understanding 3D mathematics at all.

So, does anyone know about how I can rectify this, not just in 3D mathematics. (I've already accumulated my own resources for this but I can't easily read through it because the amount of mathematics don't I know) Are there any books, articles, blogs or websites that can deepen my understanding enough so that I won't forget 3d mathematics again. This includes prerequisites just before the 3D mathematics and also sites that can help me practice. I already know about Khan Academy, however I would prefer a written version as I can get through those quicker. And also If you know of any books in kindle or eReader format that really help, as I hate reading lengthy texts on the computer screen.

Thank you!

  • $\begingroup$ Have you tried reading a textbook in linear algebra? Any decent such book should contain what you need to know in order to understand how to use matrices to perform rotations, reflections, projections, etc. $\endgroup$ – Hans Lundmark Sep 20 '14 at 10:39

If you wish to learn how to make 3d graphics to use in an existing game engine, you won't need more than very basic maths.

However, if you wish to develop game engines, you will need linear algebra, vector calculus and graph theory skills, and you will need to learn how to program!

Calculus' applications in game development are extensive. Physics is a typical example.

Graph theory is what you will crucially need. It underpins the theory of algorithms and data structures used in complicated software engineering. Algorithms such as Dijkstra's and Prim's are essential graph theory for software engineering.

Some nice introductory books are:

Thomas H. Cormen - Introduction To Algorithms, MIT Press.

R. Balakrishnan, K. Ranganathan - A Textbook of Graph Theory, Springer.


The best way to learn hands down is to read the code of an open source 3D framework. See how they implement all of the different operations. Try running one of their basic examples, and put breakpoints in the code to see how it gets executed.

To get started, check out Three.js. It's a very popular JavaScript 3D engine, and by reading the code you can get a good sense of how to implement everything.

To find frameworks in other languages, just search on GitHub. By far the best way to learn how to use math in programming. Much much better than any book.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.