Você interpola para encontrar estados entre valores conhecidos e extrapola para encontrar estados futuros.
Pense no problema em termos de variáveis de estado, como posições e velocidades. Na melhor das hipóteses, todos os computadores que precisam trabalhar com o estado têm acesso aos dados do estado pelo tempo que desejam trabalhar. Por exemplo, um algoritmo de colisão para verificar se o tiro de fuzil a laser X interage a cabeça do jogador A, o melhor de todos os casos é quando o algoritmo sabe a posição exata de cada objeto no momento em que o laser foi disparado.
No mundo real, nem sempre temos tanta sorte. Às vezes, as informações verdadeiras que recebemos são mais esparsas. Por exemplo, se o jogador A for um jogador remoto em outro computador, talvez você não saiba exatamente para onde ele está indo quando dispara o laser e precisa calcular o tiro. Nesse caso, você precisa criar um estimador para a posição de A, geralmente com interpolação ou extrapolação.
A diferença entre os dois é se você possui dados limitados nos dois lados ou apenas em um lado. Digamos que o Jogador A já tenha anunciado sua posição de verdade para t = 0 et = 1. O jogador B dispara um laser em t = 0,5. Em muitas situações, o anúncio do jogador A de sua posição em t = 1 pode ocorrer antes que o jogador B aperte o gatilho. Por quê? Em muitos jogos, a capacidade de resposta dos controles é menos do que perfeitamente instantânea. Em uma simulação de corrida, grande parte da posição do jogador é limitada pela física de um veículo em movimento. Você pode optar por anunciar uma "posição futura" porque sabe que realmente não pode orientar tudo isso em um curto período. Se você tiver informações no futuro, poderá interpolar entre os dois valores.
E se você não tiver a sorte de ter o valor = 1? E se o Jogador A não estivesse em posição de anunciar sua localização futura e você não conseguir decidir se acerta ou erra apenas com as informações de t = 0? Nesse caso, você precisa extrapolar. Na extrapolação, você usa o que sabe sobre o movimento para estender além dos dados que possui. Você deve saber que o Jogador A tem uma certa velocidade, portanto, presuma que, se você multiplicar por tempo, poderá obter uma posição a cada momento.
A diferença está nos comportamentos. A interpolação exige que você tenha um limite superior e um inferior, o que você nem sempre tem. No entanto, em quase todas as situações, ele tem resultados muito melhores que a extrapolação. A extrapolação pode facilmente levar a movimentos irreais. Considere o caso de um jogador que está evitando a esquerda e a direita para evitar ser baleado enquanto avança. A qualquer momento, sua velocidade é ao longo de uma diagonal; portanto, se você extrapolar, o jogador pode parecer correr para o lado quando, de fato, nunca acontece. Se você apenas interpolar, os valores tendem a não se desviar dos valores realísticos.
Interpolação e extrapolação são dois extremos no mundo da filtragem. Existem muitos filtros para lidar com dados como este, que misturam e combinam propriedades entre interpolação e extrapolação. Portanto, não se surpreenda se vir algoritmos que não são claramente interpoladores ou extrapoladores. Esses dois são apenas a ponta do iceberg.