smooth( var* value,var factor);

Glättet den gegebenen Wert unter Verwendung des angegebenen Ausgleichsfaktors. Diese Funktion läßt sich dazu verwenden, einen Parameter - etwa einen Winkel - sich langsam einem Zielwert zu nähern oder auch zum Glätten ruckartiger Eingabewerte.

Parameter:

value Globale Variable, die ausgeglichen werden soll.
factor Ausgleichsfaktor im Bereich von 0 .. 0.999. 0 bedeutet keinerlei Glätten, 0.999 bedeutet extremes Glätten.

Rückgabewerte:

Geglätteter Wert.

Geschwindigkeit:

Schnell

Bemerkungen:

Die vorangegangenen Glättungswerde werden in einem internen 64-Variablen-Buffer gespeichert. Das bedeutet, dass durch diese Funktion bis zu 64 Variablen ausgeglichen werden können. Ein gleichzeitiges Glätten von mehr als 64 Variablen führt zu nicht ausgeglichenen Rückgabewerten.

Algorithmus:

value = var * (1-factor) + last_value * factor

Beispiel (lite-C):

function approach_target_angle(angle)
{
  while (abs(my.pan - angle) > 0.1) {
    my.pan = angle;
	  smooth(my.pan,0.95);
    wait(1);
  }
}

Siehe auch:

accelerate, clamp

► Aktuelle Version Online