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.