Interpoli per trovare stati tra valori noti e estrapoli per trovare stati futuri.
Pensa al problema in termini di variabili di stato, come posizioni e velocità. Nel migliore dei casi, ogni computer che deve lavorare con lo stato ha accesso ai dati dello stato per il tempo su cui vuole lavorare. Ad esempio, un algoritmo di collisione per vedere se il fucile laser sparato X intercetta la testa del giocatore A, il migliore di tutti i casi è quando l'algoritmo conosce la posizione esatta di ogni oggetto al momento del fuoco del laser.
Nel mondo reale, non siamo sempre così fortunati. A volte le informazioni sulla verità che riceviamo sono più scarse. Ad esempio, se il giocatore A è un giocatore remoto su un altro computer, potresti non sapere esattamente dove stanno andando quando spari il laser e devi calcolare il tiro. In questo caso, è necessario creare uno stimatore per la posizione di A, in genere con interpolazione o estrapolazione.
La differenza tra i due è se si dispone di dati limitati su entrambi i lati o solo su un lato. Diciamo che il giocatore A ha già annunciato la posizione di verità per t = 0 et = 1. Il giocatore B spara un laser a t = 0,5. In molte situazioni, l'annuncio del giocatore A della sua posizione in t = 1 può avvenire prima che il giocatore B prema il grilletto. Perché? In molti giochi, la reattività dei controlli è tutt'altro che perfettamente istantanea. In una simulazione di corsa, gran parte della posizione del giocatore è limitata dalla fisica di un veicolo in movimento. Puoi scegliere di annunciare una "posizione futura" perché sai che non puoi davvero guidare così tanto in un breve periodo. Se hai informazioni in futuro, puoi interpolare tra i due valori.
Cosa succede se non sei abbastanza fortunato da avere un valore = 1? Cosa succede se il giocatore A non è in grado di annunciare la sua posizione futura e sei bloccato a decidere se colpire o perdere solo con le informazioni da t = 0? In questo caso devi estrapolare. In estrapolazione, usi ciò che sai del movimento per estenderti oltre i dati che hai. Potresti sapere che il giocatore A ha una certa velocità, quindi presumi che se lo moltiplichi per tempo, puoi ottenere una posizione in ogni momento.
La differenza sta nei comportamenti. L'interpolazione richiede di avere un limite superiore e inferiore, che non sempre si ha. Tuttavia, in quasi tutte le situazioni ha risultati notevolmente migliori dell'estrapolazione. L'estrapolazione può facilmente portare a movimenti non realistici. Considera il caso di un giocatore che sta saltando da sinistra a destra per evitare di essere colpito mentre avanza. In un dato momento, la loro velocità è lungo una diagonale, quindi se estrapoli, il giocatore può sembrare scappare di lato quando, in realtà, non lo fanno mai. Se si esegue solo l'interpolazione, i valori tendono a non allontanarsi da valori realistici.
Interpolazione ed estrapolazione sono due estremi nel mondo del filtraggio. Esistono molti molti molti molti filtri per gestire dati come questo che mescolano e abbinano le proprietà tra interpolazione ed estrapolazione. Di conseguenza, non sorprenderti se vedi algoritmi che non sono chiaramente interpolati o chiaramente estrapolati. Quei due sono solo la punta dell'iceberg.