Since I never ‘went to school’ for any kind of programming, I’ve had to pick it up as needed throughout my career. One of the ‘great mysteries’ has been matrix math. I’m a visual person, and that includes learning math. Last night, while reading chapter 9 in my PyGame book ‘Beginning Game Development with Python and PyGame: From Novice to Professional‘, the whole ‘matrix thing’ finally made sense in my brain. So much in fact, I couldn’t fall asleep I was mulling it over so much. Waking up, I decided to dive into it, and made some psuedo-code showing how matrix multiplication happens. But it was still really hard to physically visualize what was going on. So, working in GIMP, I made a graphical layout of what is going on. It is a work of beauty
Couple things are presumed: It is a description of multiplying two 4×4 matrices, with their translation along the bottom row, not the right column. In each of the sixteen blocks, the sub-matrices (‘matrixA’ on the left, ‘matrixB’ on the right) are multiplied left to right, and added top to bottom to get the final result of each block. Time for a t-shirt!
Click through (twice) for a larger version.
You can find it on flickr here as well.