I would say there is no prerequisites. You can learn as you go.
What I have needed during the trip:
- Trigonometric functions cos(x) and sin(x).
- Basic types of matrices: rotate, share, transform, scale.
- Basic understanding of functions: the difference between f(g(x)) and g(f(x))
- Proportions of (x,y) coordinates.
- Some basic things about vectors and coordinate axes, like how to add a vector (1,2) to point (3,4).
- Able to calculate the length of a vector, that is, the Pythagorean theorem.
- Set operations: union, difference, intersection.
- Calculating 2**n, for different n. You can try: 1,2,4,8,16,32,64,128,256,…
What I had needed, but what I don’t quite well understand:
- Dot-product.
- Quaternions and Euler angles, Gimpal-locks.
All of these being 3D graphic consentric, so the basic programming, I guess only some kind of understanding about the consept of a function.