I will answer your first question. angle(X1, X2, Y1, Y2). With this option you need a line to set an angle (because that angle compares with an imaginary line on the x axis.) So, X1,Y1 to X2,Y2 draws this line in memory so the computer can calculate the direction/angle compared to the x axis...
This works great to position a sprite facing toward another sprite or the mouse every tick of the program. Does that make sense?
At least that is how I make sense of it...