Хорошо, так что я в последнее время изучал интерполяцию.К сожалению, почти каждая статья, которую я только читаю, обсуждает интерполяцию на десятичном уровне от 0,0 до 1,0, если быть точным.Я хотел бы интерполировать целые числа, независимо от того, насколько они велики, отрицательные или нет.Я сделал это с помощью линейной интерполяции:
public int interpolate(int y1, int y2, int length, int x){
return y1 + x * (y2 - y1) / (length-1);
}
Однако я застрял с косинусной интерполяцией. В этой замечательной статье говорится об косинусной интерполяции, однако она описана выше в системе чисел от 0,0 до 1,0.Вот что у меня есть:
public int interpolate(int y1, int y2, int length, int x){
int v = (int)(y2 - Mathf.Cos(x * 3.1415f))/2;
return (y1 + x * (y2 - y1) / (length-1)) * v;
}
Это не работает, хотя возвращает почти случайное число без реального направления, что делает его вообще не плавным.Здесь мне нужна твоя помощь.Короче говоря: как создать косинусную интерполяционную функцию, которая работает с целыми числами?