Код: Выделить всё
#include
...
std::vector points(4);
points[0] = { 0, 0 };
points[1] = { 1, 3 };
points[2] = { 3, -3 };
points[3] = { 7, 4 };
boost::math::catmull_rom cr(std::move(points));
auto max_s = cr.max_parameter();
auto val = cr(2);
Я не знаю, что фактически представляет max_parameter < /em> (возвращаемое значение 7.133), и функтор cr (2) < /em> возвращает массив точек, содержащую 1.146 и 2.870. Я бы надеялся получить одно значение для y при x = 2, которое должно быть приблизительно 0 (как интерполяция на полпути между y значениями 3 и -3).
Очевидно, что я не понимаю, как работает этот класс, и как его использовать.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... erpolation
Мобильная версия