Разработка алгоритмов и диалоговых программ автоматизированного формирования
Рефераты >> Программирование и компьютеры >> Разработка алгоритмов и диалоговых программ автоматизированного формирования

- построение покрытия области на основе облака точек, расределен- ных внутри области;

- построение разбиения с помощью геометрического (симметрия, ло- кальное или глобальное деление, т.д.) и/или топологического преоб- разования уже существующего разбиения;

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

Качество получаемого разбиения оценивается визуально или определением площадей элементов (площадь вычисляется как векторное произведение): если хотя бы одна из площадей отрицательна, то разбиение выполнено неправильно. Визуальный осмотр полезен и в тех случаях, когда отрицательных площадей нет.

В большинстве случаев с помощью тел, называемых аналитическими, нельзя описать реальные механические объекты. На протяжении долгого времени выход из этого положения состоял в представлении объекта с помощью произвольно проведенных линий, взаимное сопряжение которых осуществлялось специалистами очень высокой квалификации : модельщиками, литейщиками, изготовителями штампов. Для классификации подобных зависимостей трудно было подобрать подходящие определения. Использовались такие выражения, как поверхности двойной кривизны, поверхности переменной кривизны, искривленные поверхности.

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

Для обработки информации на ЭВМ должна быть сформирована математическая модель поверхности изделия. Это сравнительно нетрудно сделать, когда сложная поверхность может быть разбита на элементы, каждый из которых представляет конус, сферу или участок плоскости, ограниченный отрезками прямых или дугами конических сечений. В тех случаях, когда поверхности не образуются простейшими элементами, как, например, в авиастроении, приходится искать иное решение.

1.2. Алгоритмы дискретизации поверхностей с помощью сплайнов

1.2.1. Сплайны с постоянным и переменным шагом

Впервые идею математического описания поверхностей агрегатов самолета, высказал и применил на практике в 30-х годах известный советский авиаконструктор А. Бартини. Специалистам хорошо знакомы кривые Бартини [ 2 ]. В последующие десятилетия для этих целей использовались главным образом определенного вида аналитические кривые и поверхности, например кривые и поверхности второго порядка, выбором параметров которых удается описать требуемую форму деталей и агрегатов. Многообразие способов (а их известно несколько десятков) говорит о том, что все они носят узко предметный характер и непригодны в качестве основы даже для отраслевых систем обработки геометрической информации с помощью ЭВМ. Математический аппарат для инженерно-геометрических расчетов самого широкого назначения дала теория сплайн-функций.

Наиболее употребительными в вычислительных методах являются полиномиальные сплайны. По сравнению с другими математическими конструкциями, используемыми для описания сложных геометрических форм, сплайны обладают тремя важными преимуществами : во-первых, лучшими аппроксимативными свойствами, что при равных информационных затратах дает большую точность или равную точность при менее информативных исходных данных; во-вторых, простотой реализации полученных на их основе алгоритмов на ЭВМ и, наконец, в-третьих, - универсальностью, позволяющей использовать одни и те же аппроксимирующие конструкции для различных геометрических объектов.

Пусть отрезок [a,b] разбит на N равных частичных отрезков [xi, xi+1], где xi=a+hi, i=0 , 1, ., N-1, xN=b, (рис. 1.).

f(x)

f2

f1 fi fN

f0

x0=a x1 x2 xi xN=b x

рис. 1.

Сплайном - называется функция, которая вместе с несколькими производными непрерывна на всем заданном отрезке [a,b], а на каждом частичном отрезке [xi, xi+1] в отдельности является некоторым многочленом n-й степени :

, xi <x < xi+1

Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, разность между степенью сплайна и порядком наивысшей непрерывной на [a,b] производной - дефектом сплайна. На практике наиболее широкое применение получили кубические сплайны S3(x), имеющие на [a,b] непрерывную, по крайней мере, первую производную. Величина mi = называется наклоном сплайна в точке (узле) xi . Кубический сплайн S3(x), принимающий в узлах xi, xi+1 соответственно значения fi, fi+1, имеет на частичном отрезке [xi, xi+1] следующее выражение [ 3 ] :

(1.1)

Видно в (1) , что S3(xi)=fi , S3(xi+1)=fi+1 , а . Обозначим через значение в узле xi справа, найденное непосредственно из выражения (1.1), а через - значение в узле xi слева, т. е. найденное из соответствующего выражения S3(x) на частичном отрезке [xi-1, xi], которое получается из (1.1) заменой i на i-1. Имеем

Требуем непрерывность в в узлах :

=, i= 1 , 2, ., N-1,


Страница: