Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


6-11 ПОВЕРХНОСТИ БЕЗЬЕ

Бикубические поверхности Кунса предоставляют гибкое и мощное средство разработки поверхностей. Однако их практическое использование, как и для кубических сплайновых кривых, затрудняется необходимостью задания точной, интуитивно неочевидной математической информации, например координат точек, касательных векторов и векторов кручения.

433.jpg

Рис. 6-36 Нечетырехугольные куски. (а) Пятиугольный; (b) треугольный.

Возникающие проблемы иллюстрируются на рисунках 6-33-6-35. Большинство из этих проблем можно преодолеть, распространив понятия кривых Безье на поверхности.

Декартово или тензорное произведение поверхности Безье задается в виде

,                    (6-58)

где  и  есть базисные функции Бернштейна в параметрических направлениях  и  (см. уравнения 5-63 и 5-64). Для удобства повторим здесь определение, приведенное ранее в разд. 5-8

,                (5-63)

с

,

.     (6-64)

Здесь элементы  являются вершинами задающей полигональной сетки, как это показано на рис. 6-37. Индексы  и  на единицу меньше числа вершин многогранника в направлениях  и , соответственно. Для четырехсторонних кусков поверхностей задающая полигональная сетка должна быть топологически прямоугольной, т. е. должна иметь одинаковое количество вершин в каждом «ряду».

Снова, как и для кривых Безье, из-за того, что для смешивающих функций используется базис Бернштейна, многие свойства поверхности известны. Например:

Степень поверхности в каждом параметрическом направлении на единицу меньше числа вершин задающего многогранника в этом направлении.

434-1.jpg

Рис. 6-37 Поверхность Безье и вершины характеристического многогранника.

434-2.jpg

Рис. 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).

436.jpg

Рис. 6-39 Бикубические поверхности Безье. (а) Основная поверхность; (b) эффект изменения величины обоих касательных векторов в ; (с) эффект изменения направления касательного вектора в ; (d) эффект изменения величины вектора кручения в .

Для специального случая бикубической поверхности Безье размера  уравнение (6-59) сокращается до

.                     (6-60)

Поверхность Безье не обязательно должна быть квадратной. Для сетки размера  уравнение (6-59) превращается в

.    (6-61)

Поверхность Безье размера  состоит из полиномиальных кривых четвертой степени в параметрическом направлении  и из квадратичных полиномиальных кривых в направлении . Пример такой поверхности Безье показан на рис. 6-40. В данном случае, как это показано на рис. 6-40b, изменение центральной вершины стороны задающей сетки с пятью вершинами не влияет на касательные векторы в угловых точках.

438.jpg

Рис. 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.

 



<< ПредыдущаяОглавлениеСледующая >>