Lineer interpolasyon

Lineer interpolasyon, lineer polinomlar kullanarak, dataların bilindiği noktalardan yeni dataların üretilmesini sağlayan bir eğri uydurma metodudur.

Bir data setinin interpolasyonu

(x₀, y₀), (x₁, y₁), ..., (xₙ, yₙ)'den oluşan bir data setinin lineer interpolasyonu, dataya ait nokta çiftlerinden oluşan lineer interpolantların uç uca eklenmesi olarak tanımlanır. Bu, türevi (genellikle) süreksiz, diferansiyellenebilirlik sınıfı  olan bir sürekli eğriyi üretir.

Uygulamalar

Lineer interpolasyon, genellikle bir değer tablosundaki ara boşlukları doldurmak için kullanılır. Örneğin, bir ülkenin 1970, 1980, 1990 ve 2000 yılındaki nüfusunu veren bir tablodan, 1994 senesi nüfusunu tahmin etmek, lineer interpolasyon ile mümkün olabilir.
Yanı sıra, bilgisayar grafik uygulamalarında lineer interpolasyon sıklıkla kullanılır. Lineer interpolasyon, bu konunun teknik jargonunda, bazen lerp olarak adlandırılır. Bu terim, İngilizce'de fiil ya da isim olarak kullanılabilir: ör. "Bresenham's algorithm lerps incrementally between the two endpoints of the line."
Lerp fonksiyonu, tüm modern bilgisayar grafik işlemcilerinin donanımına yükleniktir. Sıklıkla, bunlar daha karmaşık fonksiyonların yapıtaşı olarak kullanılır: örneğin, bir  bilineer interpolasyon üç lerp ile tamamlanır. Bu fonksiyonun kullanılmasına, (kaynakları kullanma seviyesi olarak) ucuz ve kolay olduğu için, sürekli fonksiyonlarda hızlıca arabul için çok fazla maddeye (elemana ya da data noktasına) ihtiyaç duymadan doğruluk seviyesi yüksek bir başvuru çizelgesi yaratılmasında başvurulabilir.

Doğruluk

Eğer bir C⁰ fonksiyonu yetersiz ise, örneğin C⁰'dan daha çalkantısız data değerleri üreten bir process varsa, lineer interpolasyon çoğunlukla bağ interpolasyonu ile ya da bazı hallerde polinom interpolasyon yer değiştirir.

Çok değişkenlilik

Lineer interpolasyon, buraya kadar sadece bir konumsal boyutlu (İng. "spatial dimension") data noktaları için açıklandı. İki konumsal boyut için (düzlem), lineer interpolasyon bilineer interpolasyona; üç konumsal boyut için (hacim) trilineer interpolasyona evrilir. Dikkat edilmesi gereken husus ise, bu interpolantların artık konumsal koordinatların lineer fonksiyonu olmadığıdır. Aksine, lineer fonksiyonların çarpımlarından müteşekkildirler.
Lineer interpolasyonun diğer dönüşmüş tanımlarına, üçgensel ve dörtyüzlü meşlerde, örneğin Bézier yüzeyleri'nde rastlanabilir. Bu dönüşümler, çok-boyutlu parçalı lineer fonksiyon olarak adlandırılır (en alt figüre bakınız).

Tarihçe

Antik dönemlerden beri lineer interpolasyon kullanılmaktadır. Başlıca kullanım gereği astronomi data setlerindeki boşlukların doldurulmasıdır.
Babilli astronom ve matematikçilerin Seleukos Mezopotamyası'nda (milattan önce son üç yüzyıl), ve Yunan astronom ve matematikçi Hipparkos'un (M.Ö. 200 civarı) lineer interpolasyon kullanmış olduğu düşünülmektedir.
Lineer interpolasyonun bir tanımı/açıklaması Ptolemy'in Almagest adlı eserinde (M.S. 200 civarı) yer alır.

Programlama dillerinde

Pek çok library, lerp fonksiyonunu içerir: ör. verilen iki girdiden (v0,v1) kapalı birim aralık [0,1] içinde yer alan bir parametre (t) için interpolasyon çıktı edilebilir:
// Imprecise method which does not guarantee v = v1 when t = 1, due to floating-point arithmetic error.// This form may be used when the hardware has a native Fused Multiply-Add instruction.float lerp(float v0, float v1, float t) {
  return v0 + t*(v1-v0);}// Precise method which guarantees v = v1 when t = 1.float lerp(float v0, float v1, float t) {
  return (1-t)*v0 + t*v1;}
Bu lerp fonksiyonu alpha blending için (parametre t, alpha değeridir) sıklıkla kullanılan bir fonksiyondur. Bu formülasyon, bir vektörün çoklu bileşenlerinin harmanlanması için genişletilebilir (ör. konumsal olarak x, y, z eksenlerinde veyahut r, g, b renk bileşenlerinde).