PDA

View Full Version : 2D reflecting a point off a circle


Joseph Duchesne
2004.10.23, 06:23 PM
I need a function to reflect off a circle at the point of impact.

Here's the basic way I want it to work:

void reflect(float AngleBetweenCircleAndPoint, float *PointMovementAngle)
{
//calculate stuffs here
PointMovementAngle=TheEndResult;
return;
}


I can also use the x and y position of both the point of the circle and point as well as their speeds. Anyone?
Thanks.

MattDiamond
2004.10.24, 12:05 AM
Basic idea is to think of a line CP from the center of the circle to the point of impact P. Then compute the angle that the inbound ray makes with that line at P. Then reflect that angle around the line CP.

Sorry, I don't have code handy but this has come up on the forums before, so you should be able to get code for it that way. (Though the code examples I remember were using vector math.)