After making several sketches it occured to me that there was a pattern I could utilise.

In theory if you take a rectangular object and lock it on a 90 degree rotation starting at 0 degrees (horizontal in the case of radians). Then you can flip the rectangular object 90 degrees and each time you will get either a complete x velocity reversal or a complete y veolicity reversal.

So it occured to me that there is a transition from complete x velocity reversal to complete y velocity reversal, so, reading between the lines, it makes sense that in between these total reversals (inbetween 0-90 degrees, 90-180, 180-270, 270-360, etc) then we would see both x and y velocity reversals or at least deflection.

It would be logical to assume, since at 0 degrees of rotation 100% of the x velocity is reversed and 0% of the y velocity is reversed, that if we take, in this particular case the value of the rotation between 0-90 degrees as a percentage of the 90 degree total, then we essentially apply velocity reversals to the x and y velocities based on that percentage.

So far this is my best guess on this formula.

At 0 degrees X = 0% Y = 100% (Velocity reversal)

At 45 degrees X = 50% Y = 50%

Lets take object A with an X,Y Velocity.

We need to find the line of collision, given two points. Once we have the line and the lines angle of rotation, we need to calculate which side of the line was collided with, which is easy enough to do by checking the two points on the line and the origin of the colliding object (This is needed so we know if we need to subtract or add to the x,y velocities).

We then take the X,Y velocities of A, multiplied by 2 and the % that we got from the previous angle calculation.

Reaction Velocity(Angle) = ((A.X) +- (2A.X*%)),((A.Y)+-(2A.Y*%)

It just occured to me that this might only work if the ball is moving in perfect angles.... im not so sure now, ill need to test it and ill be back with the results.