Basic graph theory and trigonometry, arithmetic. Khan Academy should have everything you want.
Do you have experience programming? If not, you'd probably be better off learning that first. This article outlines some good projects to start with, which you can tackle before trying some of the more advanced stuff you mentioned in your post.
Yep I can program. Thanks for the tips!