С этого сайта, который, как представляется, имеет самую подробную информацию о сплайнах catmull-rom: http://www.mvps.org/directx/articles/catmull/, он упоминает о необходимости четырех точек для создания сплайна. Однако он не упоминает, как точки p0 и p3 влияют на значения между p1 и p2.сплайны Catmull-Rom - как они работают?
Другой вопрос, который у меня есть, - как бы вы создали непрерывные сплайны? Было бы так же просто, как определить, что точки p1, p2 должны быть непрерывными с p4, p5, сделав p4 = p2 (то есть предположим, что мы имеем p0, p1, p2, p3, p4, p5, p6 ... pN).
Более общий вопрос заключается в том, как можно вычислить тангенсы на осколочных сплайнах? Должно ли это включать в себя взятие двух точек на сплайне (скажем, 0,01, 0,011) и получение касательной на основе пифагоров с учетом координат положения, которые дают эти входные значения?
Нормальной Катмулла-ROM также склонна к петлям и самопересечению, которые могут быть проблемой. Я настоятельно рекомендую использовать центростремительную параметризацию, показанную здесь: http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/19283471#19283471 – Ted