What mathematics should I take to have a chance in 3-D graphics?

I don't really want to do this as a job when I do get out of college, but I think it would be interesting just to go through the basics of 3-D programming. What I want is to know enough to make a basic yet decent application. Right now though, I'm in high school in an Algebra II class. I've taken geometry, but not to the point where I would call myself proficient or advanced in the subject. From what I've looked at, I need to have experience with matrices and vectors. Is there a class I should take in school to have experience with this? Also, is there any good online tutorials/books to learn the math involved?