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-24] и [6-25]. Проблемы, возникающие при объединении кусков поверхности Безье с обеспечением гладкости вдоль соприкасающихся сторон, иллюстрируются рис. 6-41 на примере объединения двух кусков бикубической поверхности Безье вдоль одной стороны. Для обеспечения непрерывности или гладкости вдоль границы необходимо, чтобы совпадали две граничные кривые, а следовательно, и две граничные ломаные вдоль края поверхности. Для обеспечения непрерывности векторов наклона или касательных векторов или гладкости вдоль границы куска направление нормали к поверхности вдоль граничной кривой должно быть одинаковым для обоих кусков. Для этого можно использовать два условия. Первое требует, чтобы четыре отрезка полигональной сетки, встречающиеся у границы и пересекающие ее, были коллинеарными, как это показано выделенными линиями на рис. 6-41а. Второе, менее жесткое условие требует, чтобы только три ребра полигональной сетки, встречающиеся в концевых точках граничной кривой, были компланарными, как это показано выделенными линиями на рис. 6-41b.
|