D'Lite my brother here is an article / reference which might help answer your question.
Myself, I would recommend advanced algebra and advanced trig along with some calculus ...
Vectors, translation, perspective, rotation, matrices, rotation orders for 2 dimensional rotation and for shading and stuff of faces you need to code shaders so normals dot products pythagorean theorem and then remains face sorting so again pythagorean theorem then for culling out the faces not facing you you use some kind of culling mechanism and a basic understanding of how mathematics work (e.g sine and cosine etc.), and an understanding of arrays and just overall coding.
If you want to get straight into it I have uploaded a 3d engine tutorial covering the basics on my channel Qyther on youtube, you should find it by searching it.