You could simplify corner collisions by moving the ball out of the collision by either the horizontal overlap or verticle overlap ONLY ( not both ) depending on which overlap is the smaller. Then only reflect the velocity based on that lines normal.
Alternatively, upon collision with 2 lines create a helper line perpendicular to the corner which crosses the corner and has an normal which is the average of both lines ( basically a diagonal which goes through the corner ). Then calculate penetration depth on this line to work out how much to move the ball out of collision.
Stevie
Alternatively, upon collision with 2 lines create a helper line perpendicular to the corner which crosses the corner and has an normal which is the average of both lines ( basically a diagonal which goes through the corner ). Then calculate penetration depth on this line to work out how much to move the ball out of collision.
Stevie