- •Введение
- •1. Модели. Элементы моделей
- •2. Построение кривых
- •3. Построение поверхностей
- •4. Типы моделей
- •5. Полигональные сетки
- •6. Описание геометрических форм
- •6.1. Описание поверхностей. Параметрическое описание поверхностей
- •Эллипсоид
- •Xacoscos,
- •Общие случаи нормали к поверхности
- •Описание поверхностей неявными функциями
- •6.2. Поточечное описание поверхностей.
- •6.3. Синтез изображений методом обратной трассировки лучей
- •Система координат, применяемая в методе обратной трассировки лучей
- •6.4. Способы представления моделей геометрических объектов
- •6.5. Кривые и поверхности nurbs
- •7. Структура твердотельной модели
- •8. Синтез твердого тела по процедурному описанию
- •8.1 Векторная полигональная модель
- •8.2. Воксельная модель
- •8.3. Равномерная сетка
- •8.4. Неравномерная сетка. Изолинии
- •9. Преобразование моделей описания поверхности
- •10. Понятие кубических сплайнов
- •11. Интерполяция b-сплайнами
- •12. Выпуклые оболочки
- •Основные понятия и идеи
- •12.1. Метод обхода грэхема
- •12.2. Обход методом джарвиса
- •13. Геометрмческое моделирование криволинейных объек тов с использованием барицентрических координат
- •13.1. Линейная интерполяция и барицентрические координаты
- •13.1.1. Барицентрические координаты на прямой
- •13.1.2. Барицентрические координаты на плоскости
- •13.1.3. Барицентрические координаты в пространстве
- •13.2. Метод определения точек, инцидентных треугольной порции поверхности, по заданным локальным координатам
- •13.2.1. Алгоритм задания квадратичной параболы
- •13.2.2. Анализ алгоритма кастельжо для произвольной кривой
- •13.2.3. Обобщённый алгоритм для треугольной порции поверхности
- •13.3. Аппроксимация поверхностей обобщенными полиномами бернштейна
- •13.3.1. Свойства треугольной порции поверхности безье
- •13.3.2. Свойства обобщенных полиномов бернштейна
- •14. Особенности аппроксимации обводов параметрическими полиномами в форме бернштейна
- •14.1. Методы полиномиальной аппроксимации одномерных обводов
- •14.1.1. Общая постановка задачи аппроксимации дискретного набора данных
- •14.1.2. Аппроксимация обводов параметрическими полиномами
- •14.1.3. Аппроксимация обводов параметрическими полиномами бернштейна
- •14.2. Геометрические свойства производных полиномов бернштейна
- •14.2.1. Вычисление первой производной
- •14.2.2. Вычисление производных высшего порядка
- •14.3. Методы полиномиальной аппроксимации двумерных обводов
- •Метод тензорного произведения
- •Каркасный метод
- •14.3.3. Метод булевой суммы (поверхности Кунса)
- •15. Стандарты в графических системах сапр и современные растровые графические файлы
- •15.1. Графические системы класса 2d
- •15.2. Графические системы класса 3d
- •15.3. Стандарты обмена данными
- •16. Системы подготовки и выпуска конструкторско-технологической документации. Организация конструкторской подготовки производства
- •17. Графические диалоговые системы
- •17.1. Краткий обзор зарубежных cad-систем
- •Технологические модули в pt/Products. Интеграция процессов проектирования и изготовления
- •Работа со стандартными библиотеками посредством pt/LibraryAccess и pt/Library
- •17.2. Отечественные разработки
- •Компас 5
- •T-flex cad
- •Заключение
- •394026 Воронеж, Московский просп., 14
14.1.3. Аппроксимация обводов параметрическими полиномами бернштейна
Итак, другой распространенной формой представления полиномов является представление в форме Бернштейна. Кроме аспектов, связанных с вычислительной устойчивостью алгоритмов с участием полиномов в форме Бернштейна, этот вид представления полиномов имеет несомненные преимущества чисто с геометрической точки зрения. Рассмотрим "геометрические" свойства полиномов Бернштейна более подробно.
Произвольный полином степени в форме Бернштейна определяется уравнением
. |
(11) |
где - коэффициенты Бернштейна,
- скалярные функции Бернштейна.
Коэффициенты могут быть скалярными значениями некоторой функции, вычисленными на некотором отрезкедля равноотстоящих точек. Тогда полиномаппроксимирует функциюпри достаточно больших. Если заменить скалярные коэффициентыпроизвольными векторами, то в этом случае полиномаппроксимирует ломаную, вершинами которой является заданный набор векторов, и определяет на заданном отрезкедугу кривой Безье-го порядка. Изменяя положение векторов, можно управлять формой дуги кривой.
Скалярные функции определяются уравнениями
и образуют так называемый базис Бернштейна для множества всех полиномов степени не выше на отрезке. Например, для случаяизображены функции базиса Бернштейна (см.рис. 14.1).
Рис. 14.1. Полиномы Бернштейна степени 7
В ряде случаев вместо единичного отрезка изменения параметра целесообразно использовать отрезок. Тогда значения локального параметрана этом общем отрезкеможно вычислить по формуле:
.
На отрезке базисные функции Бернштейна определяются уравнениями
|
(12) |
Отметим следующие основные свойства полиномов Бернштейна:
Сумма полиномов, определенных на заданном отрезке, равна единице:
,. Это свойство обеспечивает инвариантность полиномов при аффинных преобразованиях. Следовательно, аффинно-инвариантны и кривые Безье, определяемые этим набором полиномов. Заметим, что этим свойством обладают также полиномы в форме Лагранжа ( 8 ) и Эрмита ( 9 ), но не обладают стандартные полиномы ( 1 ).
Все полиномы не отрицательны на заданном отрезке
,.
В работе [3] указано, что значения полинома находятся в интервале
. Это означает, что кривая, определяемая полиномом, лежит внутри выпуклой оболочки коэффициентов. Часто это свойство называют "свойством выпуклости оболочки". Заметим, что на плоскости выпуклая оболочка представляет собой область, ограниченную выпуклой ломаной, а в пространстве – выпуклым многогранником.
Возможно рекурсивное вычисление полиномов степени , если известны полиномы степени:
Это свойство используется для вычисления с помощью повторяющейся линейной интерполяции.
Если - полиномы Бернштейна степени, то полиномыстепенивычисляются с помощью выражения:
,
где для.
,. Это свойство используется при аппроксимации кривой Безье-го порядка другой кривой порядка.
В работе [2] доказано, что полиномы Бернштейна лучше приспособлены для вычисления простых корней, чем степенные полиномы, как на единичном отрезке , так и на отрезке. Полиномы в форме Бернштейна обладают большей вычислительной устойчивостью, чем степенные полиномы. Это связано с тем, что при вычислении степенных полиномов по схеме Горнера может происходить значительная потеря точности за счет вычитания близких больших по модулю округленных чисел. При этом потеря точности увеличивается с возрастаниемиз-за ограниченного числа цифровых разрядов компьютера. Избежать потери точности в этом случае удается, применяя для вычисления полинома рекуррентные формулы. Один из методов измерения вычислительной устойчивости алгоритмов заключается в сравнении оценок погрешностей значения полинома в различных формах представления в окрестности произвольной точки [7]. В работе [5] выполнено исследование вычислительных аспектов алгоритмов полиномиальной аппроксимации и доказано, что полиномы в форме Бернштейна имеют меньшую оценку погрешности, чем степенные полиномы в стандартной форме. Однако при выполнении преобразования из одной формы представления полинома в другую указанное свойство может теряться из-за появления вычислительной неустойчивости.
Полиномы Бернштейна имеют максимум при значении параметра. Это свойство используется при локальном контроле формы обвода. Перемещение управляющей точкикривой Безье в большей мере затрагивает участок кривой в окрестности точки со значением параметра.
Полиномы Бернштейна могут быть вычислены по схеме Горнера с помощью следующих формул: на отрезке;на отрезке.