Catmull-Rom Spline
Очень полезная штука для инетрполяции между точками - плюс он еще и проходит через них.
Математика
Катмулл-Ром это частный случай Эрмита, который задает кубическую интерполяцию между двумя точками с учетом производных в них - смотрим дезмос (так проще, чем тут формулы городить).
Катмулл-Ром автоматизирует этот процесс, рассчитывая производные через соседние точки - смотрим другой дезмос (там равномерный).
Есть по сути два варианта:
- равномерный - производная это среднее арифметическое между следующей и предыддущей.
- неравномерный - узлы заданы произвольно для каждой точки и вычисление несколько сложнее, зато более универсально.
Для вычисления используется алгоритм Барри-Голдмана (смотрим на картинке) - это позволяет регулировать "расстояние" между точками.
Зачем оно надо
Интерполяция, чтобы интерполировать-интерполировать да не выинтерполировать. Используют их для интерполяции цветов (я так делал), параметров анимации между кадрами и прочим, что можно и нужно интерполировать.
Post #125
177

- ❤ 1