Inspired by sports analysis, we study data structures for storing a trajectory representing the movement of a player during a game, such that the following queries can be answered: Given two positions
, report all sub-trajectories in which the player moved in a more or less straight line from
. We consider two measures of straightness, namely
, and present efficient construction algorithms for our data structures, and analyze their performance.
We also present an
) algorithm that, given a trajectory
and a threshold
, finds a simplification of
with a minimum number of vertices such that each edge in the simplification replaces a sub-trajectory of length at most
times the length of the edge. This significantly improves the fastest known algorithm for the problem.