ssoft
|
|
« Ответ #15 : Декабрь 28, 2017, 09:44 » |
|
Зависимая разбивка на компоненты - это когда рассматриваются один сплайн вида P{X,Y,Z}(t) или P{X,Y,Z,t}(u). Независимая - когда для каждой пространственной компоненты отдельный сплайн P{X}(t) или P{X,t}(u), P{Y}(t) или P{Y,t}(v), P{Z}(t) или P{Z,t}(w).
Если хочется иметь в пространстве {X,Y,Z} "управляющие" точки одного и того же сплайна, то компоненты "связаны" друг с другом единым параметрическим описанием кривой. Если же для P{X}(t), P{Y}(t), P{Z}(t) зависимости отдельные, то не о каких "управляющих" точках в пространстве речи быть не может. Здесь могут быть только точки ключевых кадров и расстановка меток времени вдоль траектории.
Вернемся к первому случаю, когда для всех пространственных компонент имеется единый сплайн P{X,Y,Z}(t).
Рассмотрим графики в пространстве {X, t}, {Y, t}, {Z, t} и управляющие векторы. Тангенс угла наклона вектора дает значение производной пространственной компоненты по времени в точке, собственно скорость движения в вдоль компоненты. Что определяет длина вектора? Пусть она как то влияет на вторую производную (ускорение), например, будет пропорциональна ее величине.
Для простоты рассмотрим сплайн Безье третьего порядка. И первую и вторую производную для сплайна Безье можно вычислить аналитически. Значение производной нам даст положение первой точки относительно нулевой. А значение второй производной - сместит вторую точку. Но вот незадача, в этом случае меняются скорость и ускорение относительно конечной точки, т.е. смещается второй управляющий вектор, а этого нам никак не нужно. Значит наше предположение, что в пространстве кривая представляет собой сплайн Безье, не является верным.
Рассмотрение других форм полиномиальных сплайнов 3-го порядка приведут к такому же результату. Возможно, корректный результат дадут сплайны 5-го порядка с 6-ю управляющими точками вместо 4-x. Это можно проверить аналитически)). То есть для двух точек и управляющих векторов в пространствах {X, t}, {Y, t}, {Z, t} в пространстве {X,Y,Z} должно быть шесть управляющих точек сплайна.
Другой вариант, когда зависимости {X, t}, {Y, t}, {Z, t} сами представляют собой сплайны Безье P{X,t}(u), P{Y,t}(v), P{Z,t}(w). Если судить по видео из моего предыдущего сообщения, то там представлен именно этот вариант. Кстати, в том же видео никаких управляющих точек в пространстве {X,Y,Z} не представлено. Ограничение перемещения управляющих точек сплайна Безье вдоль оси t, гарантирует монотонное возрастание t относительно параметра. Таким образом для каждого значения t имеется единственное вещественное значение параметра (u,v или w), которое может быть вычислено аналитически (корень решения кубического уравнения).
Таким образом, схема построения пространственной траектории такая - в пространствах {X,t}, {Y,t}, {Z,t} в виде F-curves задаются параметрические зависимости. Эти зависимости могут представлять собой функции вида X(t) (например, Easing curve) или сплайны P{X,t}(u) (например, Безье). Для определения пространственных координат для заданного значения t необходимо по этим зависимостям определить значения X,Y,Z. В случае X(t) - тривиально подставляем t, получаем результат. В случае сплайнов, решаем уравнение t(u)=t0 (t0 - текущий момент времени), получаем значение параметров (u,v,w), для которых получаем соответствующие значения X,Y и Z.
|