5-4 НОРМАЛИЗОВАННЫЕ КУБИЧЕСКИЕ СПЛАЙНЫРассмотрим другой подход к аппроксимации величин -нормализацию, т. е. для всех сегментов. В этом случае весовые функции (см. уравнение 5-21) имеют вид: , (5-25а) , (5-25b) , (5-25c) . (5-25d) Матрица весовых функций для нормализованного кубического сплайна выглядит следующим образом: . (5-26) Рис. 5-10 Влияние величины касательного вектора на форму сегмента кубического сплайна, . (а) ; (b) ; (с) ; (d) ; (е) . Матричное уравнение сегмента (уравнение (5-22) записывается как . (5-27) Заметим, что и - константы для всех сегментов сплайна. От сегмента к сегменту меняется только матрица геометрии . Уравнение (5-15) для определения внутренних касательных векторов, необходимых в , приобретает вид: . (5-28) Решение опять дается уравнениями (5-16), но так как - константа, ее нужно обратить только один раз. При большом количестве точек это значительно сокращает вычисления. Рассмотрим пример.
На рис. 5-9 изображены два сплайна - из примера 5-1 и 5-3. Кривые получились разными, т. е. параметризация влияет на результат. Если точки из набора данных распределены неравномерно, то опыт показывает, что хордовая аппроксимация дает более гладкую кривую, чем нормализация. Это видно из рис. 5-11. На рис. 5-11а показано упорядоченное множество точек, представляющее контур петушка. На рис. 5-11b точки соединены отрезками прямых. Рисунки 5-11с и d представляют нормализованную и хордовую аппроксимацию сплайна, соответственно. Обратите внимание на разницу в изображении лапок и гребешка. Рис. 5-11 Сравнение кубических сплайновых аппроксимаций. (а) Данные; (b) соединение прямыми; (с) нормализованная аппроксимация ; (d) хордовая аппроксимация . Хордовая аппроксимация устраняет петли, заметные на рис. 5-11с на лапках, и дает более гладкое изображение гребешка. Несмотря на эти недостатки, нормализованное представление применяется для создания кубических ограничивающих кривых для кусков трехмерной поверхности (см. гл. 6). Еще одно интересное замечание: если для нормализованного сплайна известна матрица , то геометрическая матрица сегмента сплайна равна , где - обратная матрица : . (5-29) Точки на сегменте рассчитываются из уравнения (5-27).
|