Sześcienna / gładka interpolacja w C # [zamknięte]
Poniżej znajduje się funkcja interpolacji sześciennej:
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));
}
Ta funkcja będzie sześciennie interpolować między wartością początkową i końcową, podając wartość pomiędzy 0,0f - 1,0f. Gdybyś miał wykreślić tę krzywą, skończyłbyś na czymś takim:
Usunięto utracony obraz Imageshack
Funkcja sześcienna tutaj:
amount = (amount * amount) * (3f - (2f * amount));
Jak dostosować to, aby uzyskać dwie styczne do produkcji?
Aby utworzyć krzywe w ten sposób: (Początek liniowy do końca sześciennego)
Usunięto utracony obraz Imageshack
Jako jedna funkcja
i tak jak inne: (początek sześcienny do końca liniowego)
Usunięto utracony obraz Imageshack
Czy ktoś ma jakieś pomysły? Z góry dziękuję.