ps) if someone could figure out why my equations weren't outputting the right stuff, my teacher asked me to tell him what the problem was.
You're talking about the off-by-one errors? You were converting a floating point number to an integer, which is done by truncation. When you try to compute the sine of pi/2 with the inaccurate approximation you had there, you get something like 0.99999394829..., instead of 1. Then, multiplying that by an integer (for example, 5) produces a number slightly less than 5, like 4.99996... Then converting this to an integer truncates, giving 4. If you're going to allow free rotation of points (as you've mentioned the possibility), it doesn't really make sense unless you use doubles to represent the coordinates.