I don't understand PVector.angleBetween or it doesn't give the results I expect.
I thought it would work like in a circle: you hand it the middle of the circle as PVector and another point on the circumference as PVector and you got the angle (the same thing that with cos and sin would give the difference of x and y).
But I don't think it does....
So what does it really do... and what can I do to achieve what I want?
I post my Code to clarify. I know it gives you rad and I convert it to degrees but still...
A PVector(100, 100) is not a point at (100,100) it's a vector from the origin (0,0) to point(100, 100). So your middle PVector is a vector from the origin to (350, 350). The angle of this vector is 45 degrees. Your Pos5 PVector is a vector from the origin to (550, 550);. The angle of this vector is also 45 degrees. So the angleBetween the middle and the Pos5 Pvector is 0. For all the other it's the same, the method gives the angle between one vector and another.
To understand better what angleBetween does add the following lines to your sketch:
You will notice as described above, that a PVector on the 45 degree (middle) line will give 0 degrees, while (0, mouseX) or (mouseY, 0) will give 45 degrees. So it's just the angle from one vector compared to another. Also see below.
I also remember looking at the PVector.angleBetween, and wanting a different approach. I wrote some code as a study, and based my angles on the Unit Circle, with 0 degrees being at 3 o'clock. I chose not to use PVectors, but I'm sure it could easily be refactored using them if desired. Also, my output returns the angular separation between two lines rather than the bisector, but this is also easily modified. The code is archived here, and I'm copying it below also. See if there's anything in it you find useful.