you can find the direction of travel by implementing the following procedure:
you need three vector variables, the current position, the last position and the direction
One each update:
1: store the current position
2:Get the direction vector by substracting the current position by the last position,
3: inject the current position to the last position variable
When that fsm starts, don't forget to set the current AND the last position to the current position of the ball, else the first time your procedure will run, the direction vector will be wrong.
Use that direction vector as a target for your camera to look at.
Does that make sense?