Содержание к диссертации
Введение
Глава I. Кривые Безье 13
1. Полиномы в форме Бернштейна 13
2. Кривые Безье 20
3. Построение составных кривых 23
4. Проективные кривые Безье 28
5. Классификация проективных кривых Безье второго порядка . 30
6. Поле замкнутых кривых Безье 38
7. Обобщённые кривые Безье 45
Глава II. Поверхности Безье 53
8. Поверхности Безье на четырёхугольнике 53
9. Составные поверхности Безье 58
10. Проективные поверхности Безье на четырёхугольнике . 64
11. Построение поверхностей тора и сферы 65
12. Обобщённые поверхности вращения 70
13. Полиномы Бернштейна от двух переменных 76
14. Полярная форма полиномов от двух переменных 86
15. Основная лемма теории полярных форм 93
16. Поверхности Безье на треугольнике 99
17. Сшивка поверхностей Безье 105
Литература : 115
Приложение. Моделирование кривых и поверхностей .121
- Построение составных кривых
- Классификация проективных кривых Безье второго порядка
- Построение поверхностей тора и сферы
- Полярная форма полиномов от двух переменных
Введение к работе
Геометрическое моделирование [компьютерная геометрия, Computer Aided Geometric Design, CAGD) — относительно молодое направление в прикладной математике, выделившееся в 60-70-х годах прошлого века. Оно объединило некоторые идеи из геометрии и вычислительной математики на базе компьютерных технологий. В геометрическом моделировании изучаются методы построения кривых, поверхностей и тел, а также способы выполнения над ними различных операций. Компьютерная геометрия используется, в частности, при разработке систем автоматического проектирования.
К настоящему времени опубликованы несколько монографий по геометрическому моделированию [27, 28, 36, 38, 41, 42, 46, 48], в том числе — две на русском языке [4, 5]. Книга Фарииа [33] выдержала пять изданий. С 1984 года выходит специализированный журнал «Computer Aided Geometric Design».
Своим появлением геометрическое моделирование обязано, прежде всего, развитию вычислительных средств. До появления компьютеров процесс проектирования осуществлялся при помощи начертательной геометрии, был долгим и грубым. Вычислительные возможности компьютеров позволили создавать численные модели из оцифрованных с чертежей данных. При этом использовались классические методы интерполяции и аппроксимации. Кроме этого, были предложены подходы, позволяющие строить объекты сразу на экране компьютера, с нуля.
Значительный вклад в становление данного направления внесли П. Безье и П. Кастельжо [1, 19, 29]. Они предложили простой и эффектив-
ный метод построения кривых и поверхностей. Исходным объектом в их подходе является упорядоченный набор полюсов — точек в конечномерном евклидовом пространстве. Построение осуществляется с помощью параметрического варианта метода последовательных линейных интерполяций. Теперь этот метод называется алгоритмом Кастелъоюо [33, с. 45], а кривые и поверхности, построенные по алгоритму Кастельжо, — кривыми и поверхностями Безье.
Форрест установил связь между кривыми Безье и полиномами в форме Берпштейна. Он показал [34], что функция, задающая кривую Безье может быть представлена в виде линейной комбинации базисных полиномов Берпштейна. Это позволило исследовать свойства кривых Безье, опираясь на свойства данных полиномов.
Наиболее просто строятся кривые Безье невысоких порядков (2-го, 3-го и 4-го). Но их возможности не позволяют получать кривые сложной формы. Имеются следующие выходы из данной ситуации.
Можно использовать составные кривые, сшитые из сегментов, каждый из которых является кривой Безье невысокого порядка. При этом обеспечение гладкости достигается за счёт условий, накладываемых на полюсы сшиваемых кривых. Получающаяся составная кривая является, по сути, параметрическим вариантом полиномиального сплайна [4, 39].
Кроме того, применяются обобщения кривых Безье, связанные с обобщением понятия полинома Бернштейна [3, 32, 37, 47].
Активно используются так называемые проективные кривые Безье [33, 36, 38]. Каждому полюсу обычной кривой Безье приписывается положительный вес, после чего осуществляется построение кривой Безье в пространстве на единицу большей размерности. Затем, используя центральную проекцию с центром в начале координат, получаем новую кри-
вую в исходном пространстве, которая и называется проективной кривой Безье. Формой такой кривой можно дополнительно управлять, изменяя значения весов при неизменном положении полюсов.
Дальнейшее развитие теории кривых Безье связано с теорией полярных форм [20, 40, 45]. Полярные формы являются классическим математическим инструментом при работе с полиномами. Использование полярных форм для полиномов в форме Бернштейна значительно упрощает описание алгоритмов и доказательство различных свойств кривых Безье.
Перейти от кривых к поверхностям Безье можно двумя способами. В первом вводятся так называемые образующие кривые Безье, имеющие одинаковую параметризацию. При каждом значении параметра по точкам на этих кривых в свою очередь строится кривая Безье. Перемещаясь по образующим кривым, получаем поверхность, которая называется поверхностью Безье на четырёхугольнике [5, 33, 48]. Областью задания параметров такой поверхности является прямоугольник.
Другой подход использует естественное обобщение полиномов Бернштейна на случай двух переменных. Поверхность, которая задается таким полиномом, называется поверхностью Безье на треугольнике [4, 27, 33, 42, 48]. Она имеет треугольную область задания параметров. Треугольник является базовым элементом при разбиении двумерных областей, поэтому поверхности Безье на треугольнике нашли широкое применение в численных методах.
Целью диссертационной работы является:
Исследование свойств составных кривых Безье на основе свойств полиномов Бернштейна.
Поиск возможных обобщений кривых Безье.
3. Исследование свойств составных поверхностей Безъе на основе свойств полиномов Бернштейна от двух переменных.
4- Выяснение предельных возможностей проективных поверхностей Безъе второго порядка.
Построение теории полярных форм полиномов от двух переменных и её использование при построении составных поверхностей Безъе.
Разработка программной системы компьютерного моделирования с использованием составных кривых и поверхностей Безъе.
Приведём краткий обзор содержания диссертации. Работа состоит из двух глав, разбитых на семнадцать параграфов, шестидесяти семи рисунков, списка литературы и одного приложения. Порядок ссылок на теоремы и формулы определяется двумя числами: первое число указывает номер параграфа, второе — номер теоремы или формулы в параграфе.
Первая глава посвящена кривым Безье.
В первом параграфе содержатся вспомогательные сведения о базисных полиномах Бернштейна и полиномах в форме Бернштейна. Выведены рекуррентные соотношения для базисных полиномов Бернштейна. На их основе получен быстрый алгоритм вычисления значений полинома в форме Бернштейна и всех его производных в фиксированной точке.
Геометрическая интерпретация вышеуказанного быстрого алгоритма приводит к алгоритму Кастельжо построения кривых Безье. Этому вопросу посвящен второй параграф.
В третьем параграфе предлагается схема построения составных кривых Безье. Условия гладкости формулируются в виде соотношений, наложенных на полюсы сшиваемых кривых.
В четвёртом параграфе изучаются проективные кривые Безье. Показано, как изменение весов влияет на форму кривой.
В пятом параграфе рассматриваются проективные кривые Безье второго порядка, которые определяются тремя точками на плоскости и тремя положительными весами, приписываемыми этим точкам. Выведено уравнение таких кривых в барицентрических координатах. Оно содержит один независимый параметр. Дана полная классификация проективных кривых Безье второго порядка в зависимости от значений этого параметра.
В шестом параграфе исследуются замкнутые проективные кривые Безье третьего порядка, строящиеся по трём точкам и четырём весам. Выводится уравнение кривой в барицентрических координатах — в данном случае оно содержит два независимых параметра. Показано, как строится поле проективных кривых Безье третьего порядка, проходящих через фиксированную точку. Получены условия, при которых через две фиксированные точки можно провести замкнутую проективную кривую.
В седьмом параграфе описан способ обобщения кривых Безье, основанный на способе обобщения полиномов Бернштейна, предложенном В. С. Виденским [2]. Для обобщённых полиномов проверяется справедливость основных свойств базисных полиномов Бернштейна. Получен аналог быстрого алгоритма построения обобщённой кривой Безье. Также рассмотрен конкретный пример дробно-рациональных обобщающих функций.
Вторая глава посвящена поверхностям Безье.
В восьмом и десятом параграфах рассматриваются поверхности Безье на четырехугольнике и их проективное обобщение. На основе быстрого алгоритма вычисления значения полинома в форме Бернштейна
строится аналог алгоритма Кастельжо для таких поверхностей.
В девятом параграфе предлагается схема построения составных поверхностей Безье. Рассматривается случай сшивки двух поверхностей через общее ребро и случай состыковки четырех поверхностей, ИМЄЮІЦИХ общие ребра и один общий узел.
В одиннадцатом параграфе исследуются предельные возможности проективных поверхностей Безье второго порядка. Показывается, как построить поверхности сферы и тора с помощью проективных поверхностей Безье. Используются девять полюсов и специальный набор весов.
В двенадцатом параграфе конструируется новый тип поверхностей, представляющих собой обобщение классических поверхностей вращения. Обобщение связано с заменой оси вращения на некоторую пространственную кривую — так называемую кривую центров. Также обобщается само понятие вращения так, что сечением такой поверхности становится не окружность, а эллипс. Используются результаты классификации проективных кривых второго порядка, полученные в пятом параграфе.
В тринадцатом параграфе рассматриваются полиномы Бернштейна от двух переменных. Выведены рекуррентные соотношения для базисных полиномов. Получен быстрый алгоритм вычисления значения полинома от двух переменных в форме Бернштейна и всех его частных производных в фиксированной точке.
В четырнадцатом параграфе строится теория полярных форм полиномов от двух переменных. Для полинома от двух переменных введена его полярная форма и указан быстрый способ вычисления полюсов. Получен аналог процедуры включения узла, использующейся при вычислении значения полярной формы. Рассмотрена задача интерполяции по полюсам в двумерном случае. Доказано, что при интерполяции по полю-
сам определённого вида решением данной задачи является полином от двух переменных в форме Бернштейна.
В пятнадцатом параграфе в терминах полярных форм получены условия совпадения в точке двух полиномов от двух переменных вместе со всеми их частными производными до требуемого порядка [основная лемма теории полярных форм).
В шестнадцатом параграфе исследуются поверхности Безье на треугольнике. На основе быстрого алгоритма вычисления значения полинома Бернштейна от двух переменных получен аналог алгоритма Кастель-жо построения точки на поверхности Безье. Приведены два примера использования полярных форм — для пересчёта полюсов поверхности при изменении области задания и для вычисления полюсов кривой на поверхности, соответствующей прямолинейному отрезку в двумерной области параметров.
В последнем, семнадцатом, параграфе рассматривается сшивка поверхностей Безье на треугольнике. Как и в случае кривых условия накладываются на полюсы сшиваемых поверхностей. Рассмотрены два случая сшивки. В первом сшиваются две поверхности через общее ребро. Во втором стыкуются три поверхности Безье, попарно имеющие общие рёбра и один общий узел. Отметим, что для такой конфигурации возникает неоднозначность при определении положения связанных полюсов. Получены достаточные условия, которые данную неоднозначность разрешают.
В приложении к диссертации приведены примеры кривых и поверхностей, иллюстрирующие применение разработанных методов.
В процессе работы над диссертацией была создана программная система моделирования, основным аппаратом в которой являются составные кривые и поверхности Безье. При этом использовались работы [18, 25, 30, 31, 43, 44].
На защиту выносятся следующие основные результаты:
Разработана схема построения составных кривых Безье заданной гладкости.
Проведено исследование проективных кривых Безье второго порядка и замкнутых проективных кривых Безье третьего порядка.
Предлоэюен новый способ обобщения кривых Безье.
4- Разработана схема построения составных поверхностей Безье.
Показано, как построить поверхности тора и сферы при помощи проективных поверхностей Безье второго порядка.
Предлоэюен способ обобщения поверхностей вращения. Показано, как строить такие поверхности.
Построена теория полярных форм для полиномов от двух переменных.
С помощью основной леммы теории полярных форм получены условия гладкости заданного порядка составной поверхности Безье.
Разработана программная система компьютерного моделирования с использованием составных кривых и поверхностей Безье.
Основные результаты диссертации опубликованы в работах [10, 11, 14-17]. Предварительные результаты обсуждались на семинаре по дискретному гармоническому анализу и геометрическому моделированию ([7-9, 12, 13]). По результатам диссертации были сделаны доклады на международной научной конференции «Космос, астрономия и программирование» (Лавровские чтения) [6] и на семинарах кафедры исследова-
ния операций и кафедры вычислительной математики математико-меха-нического факультета СПбГУ.
Автор искренне благодарен своему научному руководителю В. Н. Ма-лозёмову за помощь в выборе направления, внимательное участие в постановке задач и анализе результатов, и, больше всего, за бесценный опыт, полученный в течение работы над диссертацией. Также автор глубоко признателен доц. А. Н. Сергееву за внимание к работе и поддержку и О. В. Просекову за ценные советы и помощь в постижении тонкостей полиграфической системы T^jX.
Построение составных кривых
Приведём краткий обзор содержания диссертации. Работа состоит из двух глав, разбитых на семнадцать параграфов, шестидесяти семи рисунков, списка литературы и одного приложения. Порядок ссылок на теоремы и формулы определяется двумя числами: первое число указывает номер параграфа, второе — номер теоремы или формулы в параграфе.
Первая глава посвящена кривым Безье. В первом параграфе содержатся вспомогательные сведения о базисных полиномах Бернштейна и полиномах в форме Бернштейна. Выведены рекуррентные соотношения для базисных полиномов Бернштейна. На их основе получен быстрый алгоритм вычисления значений полинома в форме Бернштейна и всех его производных в фиксированной точке. Геометрическая интерпретация вышеуказанного быстрого алгоритма приводит к алгоритму Кастельжо построения кривых Безье. Этому вопросу посвящен второй параграф. В третьем параграфе предлагается схема построения составных кривых Безье. Условия гладкости формулируются в виде соотношений, наложенных на полюсы сшиваемых кривых. В четвёртом параграфе изучаются проективные кривые Безье. Показано, как изменение весов влияет на форму кривой. В пятом параграфе рассматриваются проективные кривые Безье второго порядка, которые определяются тремя точками на плоскости и тремя положительными весами, приписываемыми этим точкам. Выведено уравнение таких кривых в барицентрических координатах. Оно содержит один независимый параметр. Дана полная классификация проективных кривых Безье второго порядка в зависимости от значений этого параметра. В шестом параграфе исследуются замкнутые проективные кривые Безье третьего порядка, строящиеся по трём точкам и четырём весам. Выводится уравнение кривой в барицентрических координатах — в данном случае оно содержит два независимых параметра. Показано, как строится поле проективных кривых Безье третьего порядка, проходящих через фиксированную точку. Получены условия, при которых через две фиксированные точки можно провести замкнутую проективную кривую. В седьмом параграфе описан способ обобщения кривых Безье, основанный на способе обобщения полиномов Бернштейна, предложенном В. С. Виденским [2]. Для обобщённых полиномов проверяется справедливость основных свойств базисных полиномов Бернштейна. Получен аналог быстрого алгоритма построения обобщённой кривой Безье. Также рассмотрен конкретный пример дробно-рациональных обобщающих функций. Вторая глава посвящена поверхностям Безье. В восьмом и десятом параграфах рассматриваются поверхности Безье на четырехугольнике и их проективное обобщение. На основе быстрого алгоритма вычисления значения полинома в форме Бернштейна строится аналог алгоритма Кастельжо для таких поверхностей. В девятом параграфе предлагается схема построения составных поверхностей Безье. Рассматривается случай сшивки двух поверхностей через общее ребро и случай состыковки четырех поверхностей, общие ребра и один общий узел. В одиннадцатом параграфе исследуются предельные возможности проективных поверхностей Безье второго порядка. Показывается, как построить поверхности сферы и тора с помощью проективных поверхностей Безье. Используются девять полюсов и специальный набор весов. В двенадцатом параграфе конструируется новый тип поверхностей, представляющих собой обобщение классических поверхностей вращения. Обобщение связано с заменой оси вращения на некоторую пространственную кривую — так называемую кривую центров. Также обобщается само понятие вращения так, что сечением такой поверхности становится не окружность, а эллипс. Используются результаты классификации проективных кривых второго порядка, полученные в пятом параграфе. В тринадцатом параграфе рассматриваются полиномы Бернштейна от двух переменных. Выведены рекуррентные соотношения для базисных полиномов. Получен быстрый алгоритм вычисления значения полинома от двух переменных в форме Бернштейна и всех его частных производных в фиксированной точке. В четырнадцатом параграфе строится теория полярных форм полиномов от двух переменных. Для полинома от двух переменных введена его полярная форма и указан быстрый способ вычисления полюсов. Получен аналог процедуры включения узла, использующейся при вычислении значения полярной формы. Рассмотрена задача интерполяции по полюсам в двумерном случае. Доказано, что при интерполяции по полю сам определённого вида решением данной задачи является полином от двух переменных в форме Бернштейна.
В пятнадцатом параграфе в терминах полярных форм получены условия совпадения в точке двух полиномов от двух переменных вместе со всеми их частными производными до требуемого порядка [основная лемма теории полярных форм).
В шестнадцатом параграфе исследуются поверхности Безье на треугольнике. На основе быстрого алгоритма вычисления значения полинома Бернштейна от двух переменных получен аналог алгоритма Кастель-жо построения точки на поверхности Безье. Приведены два примера использования полярных форм — для пересчёта полюсов поверхности при изменении области задания и для вычисления полюсов кривой на поверхности, соответствующей прямолинейному отрезку в двумерной области параметров.
Классификация проективных кривых Безье второго порядка
Напомним, что поверхность вращения в классическом понимании образована вращением некоторой плоской кривой относительно прямолинейной оси, лсжаїцей в плоскости этой кривой. Первое возможное обобщение связано с заменой оси вращения на некоторую пространственную кривую. Кроме того, можно обобщить само понятие вращения так, что сечением такой поверхности становится не окружность, а эллипс с двумя независимыми полуосями.
Итак, пусть С: [0,1] — R3 задаёт некоторую непрерывно-дифференцируемую кривую. Будем называть её кривой центров. Предположим, что ЦС7 )!! Ф 0 при любом t Є [0,1]. Обозначим Вектор т() является единичным вектором касательной к кривой С. Пусть далее fu, f@: [0,1] —» К, ft: [0,1] —» [0,1] — непрерывные функции. Вектор-функция определяет параметрическую кривую в Ш3. Назовём её кривой радиусов. Функция ft(u) управляет положением центров вращения на кривой С. Выберем также непрерывную вектор-функцию /3: [0,1] — R3 такую, чтобы для всех t из отрезка [0,1] вектор (3{t) имел единичную длину и был ортогонален вектору т(). Положим !/( )= ДО) хтй, (12.1) где х — знак векторного умножения. Зафиксируем некоторое іі Є [0,1]. Рассмотрим точку на кривой центров С, соответствующую значению параметра t, равному tu = ft(u). Пара (z/(tu),/3(iM)) определяет нормальную плоскость к кривой в этой точке (см. рис. 12.1). Рассмотрим лежащий в этой плоскости эллипс с Рис. 12.1 центром в точке G(tu) и полуосями fv{u), fp(u) G(u,v) = C(tu) + (fv{u) COS2TTO) u{tu) + (12.2) + (fp{u)wL2iro) /ЗЫ, и є [0,1]. Введём координатную сетку в квадратной области параметров (гі,-у), u,v Є [0,1]: Здесь р и q — фиксированные натуральные числа. При каждом к Є 0 : р — lnsGOiq— I построим треугольники с вершинами G(uk,vs), G(uk+i,va), G(uk,vs+i) и G(uk,vs+1), G(uk+i,vs+i), G(uk+i,vs). Множество всех таких треугольников образует полигональную поверхность, которую будем называть обобщённой поверхностью вращения кривой радиусов F относительно кривой центров С. Обозначим данную поверхность -G(u,v). 12.2. Пусть на плоскости зафиксированы три полюса ао, ai, SL2- ПО ним можно построить проективную кривую Безье второго порядка где w — некоторое положительное число (здесь кривая представлена в стандартной форме). В пункте 5.2 было показано, что если полюсы ао, аі, аг расположены в вершинах единичного квадрата так, как показано на рис. 12.2, и выполнено условие w = \/2/2, то кривая (12.3) является четвертью окружности единичного радиуса. Рис. 12.3 Четверть эллипса можно построить таким же образом. Зафиксируем два положительных числа rx , гу и рассмотрим кривую построенную по полюсам ао(гх, 0), ai(rx, гу), а,2(0, гу). Здесь Rx(v) и Ry{v) те же, что и в (12.3). Очевидно, что если значение w равно л/2/2, то кривая (12.4) является четвертью эллипса с полуосями гх, гу (рис. 12.3). 12.3. Покажем, как строить обобщённые поверхности вращения с помощью проективных кривых Безье второго порядка. Рассмотрим три вектор-функции ао, ai, а2: [О,1] —» R3, ao(u) = C(tu) + fv(u) !/( „), a2(it) = C( u) + fp(u) /3(tu), ai(u) = C(tu) + fu(u) v(tu) + fp{u) 0(tu). Зафиксируем и Є [0,1]. Уравнение проективной кривой второго порядка, построенной по полюсам ao(it), ai(it), аг (it) с параметром гу = л/2/2 имеет вид Перепишем эту формулу G(n, v) = Cfa) + Н0(Ц) (1 - ")2 + 5Д(Ц) 1 - ") + , (12.5) Здесь ао (и) = fv{u) v(tu), a2(it) = fp(u) fi(tu), ai(it) = fv{u) v{tu) + fp(u) (3(tu). На основании пункта 12.2 заключаем, что кривая (12.5) является четвертью эллипса с центром в точке C(tu) и полуосями fv(u), fp(it), лежащего в нормальной плоскости. Когда параметр it пробегает сетку значений на отрезке [0,1], кривая G(it, i ) порождает поверхность в пространстве Ж3, которая совпадает с четвертью обобщённой поверхности вращения G(it, і ) (рис. 12.4).
Построение поверхностей тора и сферы
Пары индексов (г, j), і 0 : к, j Є О : &—г, образуют треугольный массив (индексы г и j обозначают строку и столбец соответственно). В (17.3) происходит обход данного массива по строкам. Изменим порядок суммирования так, чтобы обходить массив по диагоналям. Получим г=0 j=Q Заменив индекс г на /с — г, а на j — 5, придём к формуле г=0 J=s (17.4) fc Є 0 : г, s Є 0 : п — /г. Теперь нетрудно понять по каким полюсам поверхности В() определяются связанные полюсы поверхности 0.(0- Составим из полюсов b(i l J,Q,1)і г Є 0 : n, j Є 0 : n — г, поверхности Ш() тРе" угольный массив, в котором индексы і и j будут обозначать строку и столбец соответственно. Из формулы (17.4) следует, что каждый полюс ч(" & Л2 з) вычисляется по соответствующему треугольному подмассиву этого массива (рис. 17.3-17.4). Распишем (17.4) при г — 1: q(ff_e,e)=b(ff-e,S), sG0:n; qKT1- , Й, 6) = (!-« - М ъйь Г1"5, Й) + (17.5) + и ЬКГв, Й) + b(ff—х, Й+1), 5 Є 0 : п - 1. Эти условия представляют собой хорошо известные условия сшивки первого порядка поверхностей Безье на треугольнике (см. [33]). На рис. 17.5 изображены полюсы двух поверхностей Безье 3-го порядка, сшитых с сохранением гладкости 1-го порядка. Точками выделены полюсы, связанные условиями (17.5). Сшитая из этих поверхностей С1-гладкая поверхность приведена на рис. 17.6. Рассмотрим более сложный случай сшивки трех поверхностей Безье Ш(), Н() и 2)() порядка п, имеющих общие рёбра i2, 3 2, 0 2, сходящиеся в общем узле 2 (рис. 17.7). Очевидно, что для того, чтобы составная поверхность, сшитая из этих трёх порций, имела гладкость г-го порядка (г Є 1 : п), необходимо и достаточно, чтобы составляющие её порции были попарно сшиты по соответствующим рёбрам. Пусть полюсы поверхности Я3() зафиксированы и изменяться не могут. Покажем, как определить полюсы поверхностей 0() иЭ( ), чтобы составная поверхность имела требуемую гладкость. Обозначим полярные формы поверхностей 55(0) 0(0) 3(0 соответственно b(i,..., n), q(i,..., п) и d(i,..., п). Сначала обеспечим гладкость па ребре i 2- Заметим, что мы находимся в условиях предыдущего пункта. Значит гладкость на данном ребре достигается при выполнении условий q(& & Є?" " ) = Ь(Й, «, % k-S), keO:r, s0:n-k. (17.6) Условия (17.6) означают совпадение первых г 4- 1 строк соответствующих треугольных массивов полюсов (рис. 17.8). Далее, гладкость на реб Ь(о3) ре d 3 обеспечивается условиями dKj, «, _""S) = Ь(Й, , Г в), к Є 0 : г, s Є 0 : п - Л, (17.7) которые означают совпадение первых г+1 столбцов в соответствующих треугольных массивах (см. рис. 17.9). 4$) d(e0) ь(Є2) -о-ь 1- - , d(e3) Рис. 17.9 Осталось рассмотреть ребро і з- Запишем условия гладкости на этом ребре, наложенные на полюсы поверхности (): с1(й1- -в й Й)=яКГ "в,й,Й). keO:r, seO:n-k. (17.8) С учётом (17.7) заметим, что связанные полюсы d(g-k-\ й. #), А; Є 0 : г, 5 Є 0 : min{n - fc, г}, стоящие на пересечении первых г+1 строк и столбцов в соответствующем массиве полюсов поверхности )(), можно определить двумя способами (рис. 17.10). Оказывается, если ввести дополнительные ограничения на свободные полюсы поверхности 0(C), то неоднозначности в данной ситуации можно избежать.
Полярная форма полиномов от двух переменных
В пятнадцатом параграфе в терминах полярных форм получены условия совпадения в точке двух полиномов от двух переменных вместе со всеми их частными производными до требуемого порядка [основная лемма теории полярных форм).
В шестнадцатом параграфе исследуются поверхности Безье на треугольнике. На основе быстрого алгоритма вычисления значения полинома Бернштейна от двух переменных получен аналог алгоритма Кастель-жо построения точки на поверхности Безье. Приведены два примера использования полярных форм — для пересчёта полюсов поверхности при изменении области задания и для вычисления полюсов кривой на поверхности, соответствующей прямолинейному отрезку в двумерной области параметров.
В последнем, семнадцатом, параграфе рассматривается сшивка поверхностей Безье на треугольнике. Как и в случае кривых условия накладываются на полюсы сшиваемых поверхностей. Рассмотрены два случая сшивки. В первом сшиваются две поверхности через общее ребро. Во втором стыкуются три поверхности Безье, попарно имеющие общие рёбра и один общий узел. Отметим, что для такой конфигурации возникает неоднозначность при определении положения связанных полюсов. Получены достаточные условия, которые данную неоднозначность разрешают.
В приложении к диссертации приведены примеры кривых и поверхностей, иллюстрирующие применение разработанных методов. В процессе работы над диссертацией была создана программная система моделирования, основным аппаратом в которой являются составные кривые и поверхности Безье. При этом использовались работы [18, 25, 30, 31, 43, 44]. На защиту выносятся следующие основные результаты: 1. Разработана схема построения составных кривых Безье заданной гладкости. 2. Проведено исследование проективных кривых Безье второго порядка и замкнутых проективных кривых Безье третьего порядка. 3. Предлоэюен новый способ обобщения кривых Безье. 4- Разработана схема построения составных поверхностей Безье. 5. Показано, как построить поверхности тора и сферы при помощи проективных поверхностей Безье второго порядка. 6. Предлоэюен способ обобщения поверхностей вращения. Показано, как строить такие поверхности. 7. Построена теория полярных форм для полиномов от двух переменных. 8. С помощью основной леммы теории полярных форм получены условия гладкости заданного порядка составной поверхности Безье. 9. Разработана программная система компьютерного моделирования с использованием составных кривых и поверхностей Безье. Основные результаты диссертации опубликованы в работах [10, 11, 14-17]. Предварительные результаты обсуждались на семинаре по дискретному гармоническому анализу и геометрическому моделированию ([7-9, 12, 13]). По результатам диссертации были сделаны доклады на международной научной конференции «Космос, астрономия и программирование» (Лавровские чтения) [6] и на семинарах кафедры исследова ния операций и кафедры вычислительной математики математико-меха-нического факультета СПбГУ.
Автор искренне благодарен своему научному руководителю В. Н. Ма-лозёмову за помощь в выборе направления, внимательное участие в постановке задач и анализе результатов, и, больше всего, за бесценный опыт, полученный в течение работы над диссертацией. Также автор глубоко признателен доц. А. Н. Сергееву за внимание к работе и поддержку и О. В. Просекову за ценные советы и помощь в постижении тонкостей полиграфической системы.