6-11 ПОВЕРХНОСТИ БЕЗЬЕ
Бикубические поверхности Кунса
предоставляют гибкое и мощное средство разработки поверхностей. Однако их
практическое использование, как и для кубических сплайновых кривых,
затрудняется необходимостью задания точной, интуитивно неочевидной математической
информации, например координат точек, касательных векторов и векторов кручения.
Рис. 6-36 Нечетырехугольные куски.
(а) Пятиугольный; (b) треугольный.
Возникающие
проблемы иллюстрируются на рисунках 6-33-6-35. Большинство из этих проблем
можно преодолеть, распространив понятия кривых Безье на поверхности.
Декартово или тензорное
произведение поверхности Безье задается в виде
, (6-58)
где
и
есть базисные
функции Бернштейна в параметрических направлениях
и
(см. уравнения 5-63 и 5-64). Для
удобства повторим здесь определение, приведенное ранее в разд. 5-8
, (5-63)
с
,
. (6-64)
Здесь элементы
являются вершинами
задающей полигональной сетки, как это показано на рис. 6-37. Индексы
и
на единицу меньше
числа вершин многогранника в направлениях
и
, соответственно. Для четырехсторонних
кусков поверхностей задающая полигональная сетка должна быть топологически прямоугольной,
т. е. должна иметь одинаковое количество вершин в каждом «ряду».
Снова, как и для кривых Безье,
из-за того, что для смешивающих функций используется базис Бернштейна, многие
свойства поверхности известны. Например:
Степень поверхности в каждом
параметрическом направлении на единицу меньше числа вершин задающего
многогранника в этом направлении.
Рис. 6-37 Поверхность Безье и
вершины характеристического многогранника.
Рис. 6-38 Схема задающей
полигональной сетки
для поверхности Безье.
Гладкость поверхности в каждом
параметрическом направлении на две единицы меньше числа вершин задающего
многогранника в этом направлении. Поверхность отображает в общем виде форму
задающей полигональной сетки. Совпадают только угловые точки задающей
полигональной сетки и поверхности.
Поверхность содержится внутри
выпуклой оболочки задающей полигональной сетки.
Поверхность не проявляет свойства
затухания изменений. Это свойство не определено и неизвестно для поверхностей
двух переменных.
Поверхность инвариантна
относительно аффинного преобразования.
Каждая из граничных кривых
поверхности Безье является кривой Безье. Запомним этот факт и рассмотрим
задающую полигональную сетку для бикубической поверхности Безье размера
, изображенную
схематично на рис. 6-38. Легко видеть, что направление и величина касательных
векторов в угловых точках куска управляются положением соседних точек вдоль
сторон сетки. А именно касательные векторы в направлениях
в точке
управляются вершинами
полигональной сетки
и
, соответственно. Аналогичным образом,
вершины полигональной сетки
,
,
,
и
,
управляют касательными векторами в
угловых точках
,
соответственно. Четыре внутренние вершины полигональной сетки,
,
,
и
влияют на
направление и величину векторов кручения в угловых точках
куска поверхности.
Следовательно, пользователь может управлять формой куска поверхности, не зная
конкретных значений касательных векторов и векторов кручения.
На рис. 6-39 показано несколько
бикубических поверхностей Безье и их задающих полигональных сеток. Базовая
полигональная сетка имеет размер
и отцентрирована относительно начала
координат с угловыми точками, находящимися в
по
,
. Компонента у угловых вершин равна
нулю. У всех других вершин эта компонента равна пяти. Базовая полигональная
сетка и соответствующая ей поверхность Безье изображены на рис. 6-39а. На рис.
6-39 точка
является
левой угловой вершиной, а
- правой угловой вершиной. Заметим,
что центральные вершины базовой полигональной сетки образуют плоский крест
(показанный затененным). Следовательно, центр получившейся поверхности
минимально изогнут, хотя и не плоский.
На рис. 6-39b проиллюстрирован эффект
увеличения в 2 раза величины касательного вектора в точке
в обоих параметрических
направлениях
и
с помощью
перемещения точек
и
. Вектор
кручения не меняется. Отметим увеличение кривизны граничных кривых, отвечающих
значениям параметров
и
, и соответствующее изменение
внутренности поверхности.
На рис. 6-39с показано действие
изменения направления касательных векторов в точке
в обоих параметрических
направлениях
и
с помощью
перемещения точек
и
. Отметим
изменение знака кривизны граничной кривой около точки
и формы внутренней части
поверхности по сравнению с базовой поверхностью.
На рис. 6-39d проиллюстрирован результат
удвоения величины вектора кручения в точке
без изменения его направления. В этом
случае перемещается только точка
. Эффект этого изменения неуловим, но
тем не менее важен для конструирования. Внимательное сравнение с базовой
поверхностью на рис. 6-39а показывает, что параметрические линии вблизи точки
имеют большую
кривизну. Этот эффект распространяется приблизительно до центра поверхности.
В матричном виде декартово
произведение поверхности Безье задается выражением
, (6-59)
где
,
,
,
а
матрицы
и
задаются
уравнением (5-70) или (5-71).
Рис. 6-39 Бикубические
поверхности Безье. (а) Основная поверхность; (b) эффект изменения величины обоих касательных
векторов в
;
(с) эффект изменения направления касательного вектора в
; (d) эффект изменения величины вектора кручения в
.
Для специального случая
бикубической поверхности Безье размера
уравнение (6-59) сокращается до
. (6-60)
Поверхность Безье не обязательно
должна быть квадратной. Для сетки размера
уравнение (6-59) превращается в
. (6-61)
Поверхность Безье размера
состоит из
полиномиальных кривых четвертой степени в параметрическом направлении
и из квадратичных
полиномиальных кривых в направлении
. Пример такой поверхности Безье
показан на рис. 6-40. В данном случае, как это показано на рис. 6-40b, изменение центральной вершины
стороны задающей сетки с пятью вершинами не влияет на касательные векторы в
угловых точках.
Рис. 6-40 Поверхность Безье
размера
.
(а) Основная поверхность; (b) эффект изменения центральной
вершины граничной ломаной с пятью вершинами.
Производные поверхности Безье
получаются с помощью формального дифференцирования уравнения (6-58) или (6-59).
Если воспользоваться уравнением (6-58), то первые и вторые параметрические
производные будут
, (6-62)
, (6-63)
, (6-64)
, (6-65)
, (6-66)
где
штрих обозначает дифференцирование относительно параметрической переменной.
Производные функций базиса Бернштейна
,
,
и
приведены в уравнениях (5-74) и
(5-75).
Легко найти соотношение между
бикубическими поверхностями Безье и Кунса. Приравнивая уравнения (6-52) и
(6-59), получим
,
,
где
задан
уравнением (5-76) и
- уравнением (5-70). Следовательно
геометрическая матрица
бикубической поверхности Кунса
задается в терминах полигональной сетки поверхности Безье следующим образом
или
. (6-67)
Исследование правой нижней
подматрицы размера
в уравнении (6-67) подтверждает, что
четыре центральные вершины задающей полигональной сетки влияют на кручение в
угловых точках куска бикубической поверхности Безье. Тем не менее, кручение в
угловых точках управляется не только центральными вершинами, но также и
соседними касательными векторами. В самом деле, кручение в угловой точке
управляется формой неплоского четырехугольника, сформированного угловой точкой,
двумя соседними граничными точками и соседней центральной точкой.
Из уравнений (6-62)-(6-64) следует,
что
. (6-68)
Аналогичным
образом обратное соотношение между матрицами
и
, выражающее вершины полигональной
сетки Безье в терминах параметров бикубической поверхности Кунса, равно
. (6-69)
Более полно концепция поверхности
Безье иллюстрируется на следующем примере.
Пример 6-14 Поверхность Безье
Для изображенной на рис. 6-39а
поверхности Безье для значений параметров определить координаты точки на
поверхности и первые производные в и направлениях. Найти также координаты
точки и производные для модифицированной поверхности, показанной на рис. 6-39d. Сравнить
полученные результаты. Вершины многогранника поверхности Безье таковы:
.
Для
модифицированной поверхности на рис. 6-39d изменяется
только вершина ,
т.е. изменение сказывается лишь на кручении в угловой точке .
Напомним матричное представление
поверхности, заданное в уравнениях (6-59) и (6-60), т.е.
.
Здесь
.
Точка на поверхности, таким образом,
будет
.
Производные по направлениям:
.
Заметим,
что векторы и
ортогональны.
В модифицированной поверхности на рис.
6-39d изменено
значение только точки стандартной поверхности. Новое
значение координат равно . Новое значение произведения:
.
Новые координаты точки поверхности для
:
.
Новые параметрические производные для :
,
.
Заметим
в этом случае, что поскольку задающая полигональная сетка более не
симметрична относительно оси , то поверхность теперь не
симметрична относительно этой оси. Далее, заметим, что хотя и все еще
ортогональны, но как их величины, так и направления отличаются. Данные
результаты показывают, что вектор кручения в одной угловой точке оказывает
трудно уловимое, но существенное влияние на форму всей поверхности.
|
Приведенное выше обсуждение
поверхностей Безье касалось определения и характеристик одного куска
поверхности. Для того чтобы получить более сложные поверхности, надо объединить
несколько кусков поверхности Безье. Подробное обсуждение этого вопроса лежит
вне сферы данной книги. Интересующегося читателя мы отсылаем к [6-24] и [6-25].
Проблемы, возникающие при объединении кусков поверхности Безье с обеспечением
гладкости вдоль соприкасающихся сторон, иллюстрируются рис. 6-41 на примере
объединения двух кусков бикубической поверхности Безье вдоль одной стороны.
Для обеспечения непрерывности или
гладкости
вдоль границы необходимо, чтобы совпадали две граничные кривые, а
следовательно, и две граничные ломаные вдоль края поверхности. Для обеспечения
непрерывности векторов наклона или касательных векторов или
гладкости вдоль границы
куска направление нормали к поверхности вдоль граничной кривой должно быть
одинаковым для обоих кусков. Для этого можно использовать два условия. Первое
требует, чтобы четыре отрезка полигональной сетки, встречающиеся у границы и
пересекающие ее, были коллинеарными, как это показано выделенными линиями на
рис. 6-41а. Второе, менее жесткое условие требует, чтобы только три ребра
полигональной сетки, встречающиеся в концевых точках граничной кривой, были
компланарными, как это показано выделенными линиями на рис. 6-41b.