I am using the Farseer Physics engine in my MonoGame project. I have static walls which have "body" friction 0 and "body" restitution 1. I have dynamic objects, which are circles, with "body" friction 0 and "body" restitution 1. There is no gravity.
When I launch a dynamic object at a wall, it does not bounce in the way I would expect for a perfectly elastic, frictionless collision. The angle it bounces at should be the reflection (through the wall's normal vector) of the angle it arrives at.
Instead, the dynamic objects often slide along the wall:
In the diagram, the black line is the wall; the blue line is the desired path of the dynamic object; and the orange line is the current path of the dynamic object.
How can I make my dynamic objects bounce properly?