Реферат: Разработка алгоритмов и диалоговых программ автоматизированного формирования
Метод конечных элементов находит все более широкое применение для численного решения самых разных задач. Первый этап решения задачи этим методом состоит в дискретизации рассматриваемой области на треугольники, четырехугольники, четырехгранники и т. Д. Такое разбиение несет геометрическую информацию о покрытии области элементами, с каждым из которых связано определенное число численных значений, необходимых для последующих вычислений (построение матриц, блокирование некоторых степеней свободы, решение систем, визуальное представление и т.д.). Эту информацию удобно определять как структуру данных, содержащую в сжатой и доступной форме все величины ( геометрические и числовые).
Многочисленные методы построения разбиений для дву- и трехмерных областей с геометрической точки зрения подразделяются на три основных класса :
1 - построение разбиения, осуществляемого преобразованием отображения разбиения области с геометрически простой формой;
2 - построение разбиения, осуществляемое преобразованием уже существующего разбиения;
3 - прямое, элемент за элементом, построение разбиения, начиная с задания распределения точек в области или на ее границе.
Из-за ряда ограничений разделить область на элементы, пользуясь только каким-то одним способом, можно только в исключительных случаях, поскольку метод построения разбиения должен :
а) давать возможность обрабатывать сложные геометрические конфигурации;
б) минимизировать выполняемую работу и ограничивать максимальное число требуемых данных;
в) обеспечивать надежность результатов;
г) наилучшим образом использовать возможности применяемых алгоритмов, которые в разной степени приспособлены к рассматриваемым геометрическим условиям ;
д) давать результат, пригодный для дальнейшего использования и содержащий всю необходимую информацию в форме, обеспечивающей быстрый и удобный доступ к ней.
Для построения разбиения чаще всего применяются следующие методы [ 1 ] :
- построение разбиения “вручную” с представлением всей необходи- мой информации в виде структуры данных;
- построение покрытия области делением нескольких крупных эле- ментов на более мелкие;
- построение покрытия области элементами, начиная с задания расре- деления точек на ее границе;
- построение покрытия области на основе облака точек, расределен- ных внутри области;
- построение разбиения с помощью геометрического (симметрия, ло- кальное или глобальное деление, т.д.) и/или топологического преоб- разования уже существующего разбиения;
- построение трехмерного разбиения с помощью такой обработки двухмерного разбиения, которая позволяет получать трехмерные элементы из двухмерных.
Качество получаемого разбиения оценивается визуально или определением площадей элементов (площадь вычисляется как векторное произведение): если хотя бы одна из площадей отрицательна, то разбиение выполнено неправильно. Визуальный осмотр полезен и в тех случаях, когда отрицательных площадей нет.
В большинстве случаев с помощью тел, называемых аналитическими, нельзя описать реальные механические объекты. На протяжении долгого времени выход из этого положения состоял в представлении объекта с помощью произвольно проведенных линий, взаимное сопряжение которых осуществлялось специалистами очень высокой квалификации : модельщиками, литейщиками, изготовителями штампов. Для классификации подобных зависимостей трудно было подобрать подходящие определения. Использовались такие выражения, как поверхности двойной кривизны, поверхности переменной кривизны, искривленные поверхности.
На самом деле единственным общим свойством всех этих зависимостей является полное отсутствие какого бы то ни было предварительного математического определения, даже частичного, в результате чего решение задачи начиналось с выполнения последовательных шагов аппроксимации и заканчивалось вручную, каждый шаг подгонки основывался на результатах экспериментов или просто на указаниях дизайнера. Из-за недостатка информации такие зависимости иногда назывались “ экспериментальными ”.
Для обработки информации на ЭВМ должна быть сформирована математическая модель поверхности изделия. Это сравнительно нетрудно сделать, когда сложная поверхность может быть разбита на элементы, каждый из которых представляет конус, сферу или участок плоскости, ограниченный отрезками прямых или дугами конических сечений. В тех случаях, когда поверхности не образуются простейшими элементами, как, например, в авиастроении, приходится искать иное решение.
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)