Technical
Modelling Ball Speeds
I wanted the equations of motion of a croquet ball as it slowed down so that I could model it on a virtual croquet lawn. Moving balls at a constant velocity (which abruptly stop when they reach their destination) looks totally wrong. Using a square function looks better:
However the aim was to use the assumed relationship where the ball encounters a constant deceleration due to a frictional force against the grass  see Lawns Speeds. The modelling program moves balls according to variable time slices; the programmer knows the total distance they want the ball to move. Consequently we require a function of distance (s) versus time (t). The variables are defined in the footnote*. Below are the calculations in fine detail to ensure that I have not made an error. Newton's equation of motion:
hence at end of ball's motion t= t_{final} and v = 0. Substitute to get t_{final} in terms of u and a.
Integrating (2) wrt t yields:
Dropping in (4) for u gives:
Consider when s = s_{final}, the ball has travelled its full distance, and t = t_{final}
Simplifying to:
Here we can use (9) to calculate a given 'Plummers', e.g. a 12 Plummer lawn; that is it takes a ball 12 seconds (t_{final}) to travel 35y (32.004m), s_{final}. We will use yards to give acceleration in yards per second per second.
This is in agreement with lawn measurements. Knowing this allows us to cast t_{final} in terms of s_{final} and a. We know s_{final} and a is a property of the lawn related to 'Plummers'.
The negative within the square root is fine as we need the acceleration to be negative (slowing down) if there is ever going to be a t_{final}. From (4) we can now get u in terms of s_{final} and a.
Substituting into (5) gives s solely in terms of t and constants:
Taking the value of a = 0.468 (12 Plummers) from above and substituting in (13) yields sensible results: Just to complete the exercise I need to produce code that gives the ball positions as it moves from (x_{1},y_{1}) to (x_{2},y_{2}) at variable times. The graphics routine draws an animation frame of the lawn, the computer goes away to do other tasks then returns to the graphics routine at nonregular times. The lawn is assumed to be flat, i.e. we are not following contours! Calculate the distance the ball has to travel, s_{final}, using Pythagoras:
We need to select a speed of lawn  the Plummer value. For a given speed we can calculate the deceleration due to the friction of the grass, a, by (10):
The ball is travelling at an angle to the x and yaxes but for any distance, s, travelled by the ball it will have moved s/s_{final} over the x interval, x_{1} to x_{2}, ditto the y interval. Hence by congruent triangles:
In the final programmes the acceleration is calculated in inches.sec^{2}^{} for convenience  yards are cumbersome to work with.
* Variables
All rights reserved © 20142017
