. , Vector2.Reflect . (0,1), (4, -3) (4,3). ? , if. ( , , basketNorm = -baseNorm.)
. , , , , , . : . , ? , , ( ). , , , . ? , , , , .
, ( , , , , ). . , :
Vector2 CMVelocity = (basket.Mass*basket.Velocity + base.Mass*base.Velocity)/(basket.Mass + base.Mass);
baseVelocity -= CMVelocity;
baseVelocity = Vector2.Reflect(baseVelocity, baseNorm);
baseVelocity += CMVelocity;
basketVelocity -= CMVelocity;
basketVelocity = Vector2.Reflect(basketVelocity, basketNorm);
basketVelocity += CMVelocity;