2011-03-09 40 views
7

Genellikle WPF'deki animasyonlarla bağlantılı olarak "doğrusal enterpolasyon" terimini duyarım. Tam olarak "doğrusal enterpolasyon" ne demektir? Bana "doğrusal enterpolasyon" kullanmanın bir örneğini verebilir misiniz?"Doğrusal enterpolasyon" ne anlama geliyor?

+3

Bunun ne anlama geldiğine dair: http://en.wikipedia.org/wiki/Linear_interpolation – stakx

cevap

25

Doğrusal araçlar (düz olanlar) anlamına gelir.

İnterpolasyon, iki nokta içinde noktasını bulma eylemidir. Bir çizginin uçlarının ötesinde bir noktayı bularak, bunu ekstrapolasyonla karşılaştırın.

Dolayısıyla, doğrusal enterpolasyon, diğer ikisi arasında bir nokta bulmak için düz bir çizginin kullanılmasıdır. Örneğin

:

 *(5,10) 
    /
/
/
/
*(0,0) 

Bu hat boyunca puan almak için lineer interpolasyon ile iki uç noktayı kullanabilir: (örneğin) elde etmek için

(1,2) 
(2,4) 
(3,6) 
(4,8) 

ve lineer ekstrapolasyon:

(1000,2000) 
(-1e27,-2e27) 

Animasyonda, (60,22)(198,12) numaralı telefona 10 saniyede (x,y) konumundan giden bir zıplama topunuz olduğunu düşünelim.

x0 = 60, y0 = 22 
x1 = 198, y1 = 12 
frames = 100 
for t = 0 to frames: 
    x = (x1 - x0) * (t/frames) + x0 
    y = (y1 - y0) * (t/frames) + y0 

altındaki olanlar, iki formül lineer enterpolasyon örnekleridir: saniye başına 10 kare, bir animasyon oranı ile

, ile ilgili herhangi bir zamanda pozisyon hesaplayabilir. % 50 (t == 50) 'de:

x = (198 - 60) * (50/100) + 60 
    =  138 * 0.5  + 60 
    =   69   + 60 
    =     129 

y = (12 - 22) * (50/100) + 22 
    = -10 * 0.5  + 22 
    =   -5   + 22 
    =     17 

ve (129,17) başlangıç ​​ve bitiş pozisyonları arasında orta noktasıdır.

+1

aynı zamanda sabit hız açısından lineer anlamına da gelebilir, bu yüzden enterpolasyon, bulunduğunuz yere bakılmaksızın oranı değiştirmez. –

+3

Nice ASCII art;) –

+0

Açıklamayı ve anlaşılması kolay, açıklamayı seviyorum. – neevek

1

E.g. Bir öyküyü bir öğeyi sabit bir hız kullanarak bir konumdan diğerine taşımak istediğinizde, başlangıç ​​ve bitiş konumları arasında doğrusal enterpolasyon kullanırsınız.

+1

Eğer doğrusal olmayan bir enterpolasyona sahipseniz, öğenin hızlı başladığını ve hedefe yaklaştıkça yavaşladığını görebilirsiniz –