В кривых кто-то разбирается?
Вот так я вычисляю линейную кривую. Получается как на рисунке 1.
for(int i=1; i<keys.Length; i++) {
var v1 = keys[i];
var v2 = keys[i-1];
keys[i].inTangent = (v1.value-v2.value) / (v1.time-v2.time);
}
for(int i=0; i<keys.Length-1; i++) {
var v1 = keys[i];
var v2 = keys[i+1];
keys[i].outTangent = (v1.value-v2.value) / (v1.time-v2.time);
}
Но нужно переменной менять уровень сглаживания. Т.е. чтобы кривая генерировалась от такой как на рисунке 1 до полукруга как на рисунке 2.
Как сделать такое сглаживание?
Или хотя бы как генерировать полукруг из кривой?