Bilinen değerler arasındaki durumları bulmak için enterpolasyon yaparsınız ve gelecekteki durumları bulmak için tahmin yaparsınız.
Problemi konumlar ve hızlar gibi durum değişkenleri açısından düşünün. Tüm senaryoların en iyisinde, durumla çalışması gereken her bilgisayar üzerinde çalışmak istedikleri süre için durum verilerine erişebilir. Örneğin, lazer tüfeği atış X'in oyuncu A'nın kafasını kesişip kesmediğini görmek için bir çarpışma algoritması, her durumda en iyisi, algoritmanın lazerin ateşlendiği sırada her nesnenin tam konumunu bildiği zamandır.
Gerçek dünyada, her zaman çok şanslı değiliz. Bazen aldığımız gerçek bilgileri daha seyrek olur. Örneğin, A oynatıcısı başka bir bilgisayardaki uzak bir oynatıcıysa, lazeri ateşlediğinizde nereye gideceğini tam olarak bilemeyebilirsiniz ve çekimi hesaplamanız gerekir. Bu durumda, A'nın konumu için, genellikle enterpolasyon veya ekstrapolasyon ile bir tahmin edici oluşturmanız gerekir.
İkisi arasındaki fark, her iki tarafta veya yalnızca bir tarafta sınırlanmış verilerinizin olup olmadığıdır. Diyelim ki A oyuncusu t = 0 ve t = 1 için gerçek pozisyonlarını zaten açıkladı. Oyuncu B, t = 0.5'de bir lazer vuruyor. Birçok durumda Oyuncu A'nın t = 1'deki pozisyonunu açıklaması Oyuncu B tetikleyiciyi çekmeden önce gerçekleşebilir. Neden? Birçok oyunda, kontrollerin tepkisi mükemmel aniden daha azdır. Bir yarış simülasyonunda, oyuncunun pozisyonunun çoğu hareketli bir aracın fiziği ile sınırlıdır. "Gelecek pozisyonu" duyurmayı tercih edebilirsiniz, çünkü kısa bir süre içinde gerçekten o kadar fazla yönlendiremeyeceğinizi biliyorsunuzdur. Gelecekte bilginiz varsa, iki değer arasında enterpolasyon yapabilirsiniz.
= 1 değerine sahip olacak kadar şanslı değilseniz ne olur? Oyuncu A gelecekteki konumlarını açıklayacak bir konumda değilse ve yalnızca t = 0'dan gelen bilgilere ulaşıp vurmadığınıza karar verirseniz ne olur? Bu durumda tahmin etmek zorundasınız. Ekstrapolasyonda, hareketle ilgili bildiklerinizi, sahip olduğunuz verilerin ötesine geçmek için kullanırsınız. Oyuncu A'nın belirli bir hızı olduğunu biliyor olabilirsiniz, bu yüzden bunu zamanla çarparsanız, her seferinde bir pozisyon alabileceğinizi varsayalım.
Fark davranışlardadır. İnterpolasyon, her zaman sahip olmadığınız bir üst ve alt sınırınızın olmasını gerektirir. Bununla birlikte, hemen hemen her durumda, ekstrapolasyondan çok daha iyi sonuçlara sahiptir. Ekstrapolasyon kolayca gerçekçi olmayan hareketlere yol açabilir. İlerlerken vurulmaktan kaçınmak için sola ve sağa doğru koşan bir oyuncuyu düşünün. Herhangi bir noktada, hızları bir diyagonal boyuncadır, bu yüzden eğer tahmin ederseniz, oyuncu aslında hiç yapmadığı zaman yan tarafa kaçıyor gibi görünebilir. Yalnızca enterpolasyon yaparsanız, değerler gerçekçi değerlerin dışına çıkma eğilimindedir.
İnterpolasyon ve ekstrapolasyon, filtreleme dünyasında iki uçtur. İnterpolasyon ve ekstrapolasyon arasındaki özellikleri karıştırıp eşleştiren bu tür verileri işlemek için çok fazla çok sayıda filtre var. Buna göre, açıkça enterpolasyon veya açıkça ekstrapolasyon olmayan algoritmalar görürseniz şaşırmayın. Bu ikisi sadece buz kütüğünün ucu.