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