Сплайн Катмулла-Рома по сути является сплайном, составленным из нескольких кубических кривых Безье.Итак, если вы хотите разделить его при любом параметре t, вам просто нужно выяснить, на какой кривой Безье находится этот параметр, а затем разделить эту кривую Безье, используя известный алгоритм де Кастельжау.Разделенные результаты все еще являются кубическими кривыми Безье.Однако, если вы хотите найти новый набор CV, из которых полученный сплайн Catmull-Rom будет иметь точно такую же форму, что и сплит сплит от исходного сплайна, я бы сказал, что это невозможно.Я объясню более подробно ниже.
Исходя из определения сплайна Катмулла-Рома, исходный сплайн, определенный 6 CV: p0, p1, ..., p5 будет иметь касательную в точке p2 в направлении вектора (p1,p3).Для нового сплайна Катмулла-Рома, определяемого 5 CV: p0, p1, p2, X и C, где C - любая точка на исходном сплайне CR, тангенс в точке p2 будет в направлении вектора (p1, X).
Если мы хотим, чтобы новый сплайн CR точно представлял сплит сплит № 1 исходного сплайна, то тангенс в точке p2 от этих двух сплайнов должен быть по крайней мере в одном направлении, что означает, что точка X должна лежатьна линии, определенной р1 и р3.Этот критерий делает невозможным, чтобы новый сплайн Catmull-Rom точно представлял форму разделенного сплайна № 1 от исходного сплайна.