Some 15 years ago when I was an undergraduate, I took a class in Linear Algebra. A month or whatever in we got to the chapter of transformation matrices: Rotation and translation of 3D points. I immediately saw the utility: I could make 3D graphics with these tools! I pretty much ran home and started building a first person spaceship game, pouring over the book trying to work out how to make all these bits fit together. The graphics were rudimentary, I used SDL and most stars were just white squares (SDL_FillRect), but eventually I got to the point where I could travel in "space" and have the stars zoom by.
Turns out, software matrix multiplication is not the best way of doing 3D graphics, but it's a great way of learning how the mathematics of it works. In the mean time of doing all this I had gotten linear algebra. LA was one of the first "hard" classes we took, and a lot of people barely passed. I got top grades in that class.
The moral of the story is that if you want to learn how something works, then this (what OP is doing), is correct. This is a great way to learn. There probably is a faster or better way of doing it, but in terms of learning-efficiency, this is great.