I read the page Ball to Ball Collision - Detection and Handling and am a bit confused about the code for resolve_collision. I get everything except what is 1.0f + Constants.restitution? What is 1.0f and what is Constants.restitution?
2 Answers
The 1.0f
is the literal for a floating point 1.0
. In Java, 1.0
will default to type double
, so the author is explicitly making it a float
by adding the f
flag afterwards.
Constants.restitution
supposedly represents the coefficient of restitution, which is usually an e or Cr in physics. This defines how much a ball bounces once it hits the floor or another ball. Though he doesn't show it in the code he provided, it is probably declared somewhere as
public class Constants {
public static final float restitution = 0.8f;
}

- 26,347
- 28
- 96
- 129
The coefficient of restitution is a number between 0 and 1 that indicates the amount of elasticity in the collision. A 0 means the contacting bodies will stick together, and a 1 means they will bounce off in a perfectly elastic fashion (recovering all their speed).
Try Googling coefficient of restitution and the rest will follow.

- 28,472
- 11
- 77
- 133
-
What is 1.0f? Is it the same as 1.0 but it's a float? – user700996 Apr 14 '11 at 12:54