Lessico IT › Programmazione › Lerp (interpolazione lineare)

Lerp (interpolazione lineare)

Programmazione Svenska → Aggiornato: 2026-10-26

La funzione a + (b − a) · t, che individua un punto sulla retta tra due valori ed è con ogni probabilità la riga di codice più invocata nello sviluppo di videogiochi.

Con t = 0 si ottiene a, con t = 1 si ottiene b, e nel mezzo uno scorrimento lineare. Posizioni, colori, volume, zoom della telecamera: tutto ciò che deve passare con fluidità da uno stato a un altro attraversa un lerp, spesso con una curva di easing applicata a t. HLSL la chiama lerp, GLSL la chiama mix e il C++ ha avuto std::lerp solo nel 2020. Per le rotazioni serve altro: lo slerp.

La trappola classica è x = lerp(x, target, 0.1) una volta per fotogramma. Sembra uno smorzamento, ma dipende dal frame rate: a 144 Hz la telecamera raggiunge l'obiettivo più del doppio più in fretta che a 60. La forma corretta è t = 1 − exp(−k · dt), con il delta time. Vale la pena conoscere anche la variante a·(1−t) + b·t, che per t = 1 restituisce esattamente b nonostante gli arrotondamenti in virgola mobile.

← Torna al lessico