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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage