just getting back into coding wall sliding stuff for a 2d polymap, and noticed that i didn't know how to handle sliding around corners. The problem as i see it is one of hitting a point with a circle (on the walkabout plane), and then being slid around the point until it's position is perpendicular to the direction of travel.
point hits circle, has a remaining vector of motion, needs to find out if it managed to get all the way to the perpendicular point, if not then how far around.
the rate of motion around the circle as far as i can see is the sin of the current angle between the head on vector, and teh current angle to collision point (therefore head on collisions have no sideways slide, and virtually perpendicular angles return as almost identity)
a' = sin( a ) / radius
how do i integrate that into a formula to find my actual final angle? or am i barking up the wrong tree?
It stinks to me of being the same problem as the "speed of bathwater out of the bath" problem, but i can't remember how to do those either. :(