Cubic / Curve Smooth Interpolation in C # [geschlossen]
Unten ist eine kubische Interpolationsfunktion:
public float Smooth(float start, float end, float amount)
{
// Clamp to 0-1;
amount = (amount > 1f) ? 1f : amount;
amount = (amount < 0f) ? 0f : amount;
// Cubicly adjust the amount value.
amount = (amount * amount) * (3f - (2f * amount));
return (start + ((end - start) * amount));
}
Diese Funktion interpoliert kubisch zwischen dem Start- und Endwert bei einem Wert zwischen 0,0f und 1,0f. Wenn Sie diese Kurve zeichnen würden, würden Sie am Ende ungefähr so aussehen:
Abgelaufenes Imageshack-Image entfernt
Die kubische Funktion hier ist:
amount = (amount * amount) * (3f - (2f * amount));
Wie passe ich dies an, um zwei Produkttangenten zu erzeugen?
So erstellen Sie Kurven wie folgt: (Linearer Anfang bis kubisches Ende)
Abgelaufenes Imageshack-Image entfernt
Als eine Funktion
und so als anderes: (kubischer Anfang bis lineares Ende)
Abgelaufenes Imageshack-Image entfernt
Hat jemand irgendwelche Ideen? Danke im Voraus.