3D programming relies heavily on linear algebra. That relies on elementary (high school) algebra and trigonometry.
If you're not comfortable with high school algebra and trigonometry, that's the place to start. Your algebra needs to be solid, your trig, somewhat less so. I don't know what to recommend to you if you need this.
I found Gilbert Strang's
Introduction to Linear Algebra is written phenomenally well for a math textbook. The topic is useful if you're interested in classification (i.e., machine learning), and it's applicable to computer graphics and a bunch of other things e.g., digital signal processing. It covers the
vectors and the
matrices and the
projections and
transformations, which explain basically everything that happens to your data while it's going down the graphics pipeline.
You shouldn't bother yourself with calculus unless you're interested in writing your own physics code, which will rely heavily on it. In case you are, I really like Spivak's textbook.
some obvious topics gets repeated so many times it feels like you are learning nothing |
I know that feeling. For me, that means I need a more rigorous book, and to remember George PĆ³lya's quote:
The advanced reader who skips parts that appear too elementary may miss more than the less advanced reader who skips parts that appear too complex. |
(Polya's
How to Solve It is great, too, but probably not immediately relevant.)
Yeah, Strang's book is what I would suggest as long as you're okay with high-school math. I can recommend stuff to you all day, but I think that is a fairly efficient way to go.