Тема 5. Математическое обеспечение подсистем машинной графики и геометрического моделирования (МГиГМ) 5.1. Операции обработки данных в подсистемах МГиГМ Подсистемы машинной графики и геометрического моделирования занимают центральное место в машиностроительных САПР-К. Конструирование изделий в них, как правило, проводится в интерактивном режиме при оперировании геометрическими моделями, т.е. математическими объектами, отображающими форму деталей, состав сборочных узлов и, возможно, некоторые дополнительные параметры (масса, момент инерции, цвета поверхности и т.п.). В подсистемах МГиГМ типичный маршрут обработки данных включает в себя следующие операции: – получение проектного решения в прикладной программе; – представление решения в виде геометрической модели (геометрическое моделирование); – подготовка проектного решения к визуализации; – собственно визуализация проектного решения в аппаратуре рабочей станции; – корректировка решения в интерактивном режиме (при необходимости). Две последние операции реализуются на базе аппаратных средств машинной графики. Исходя из этого, математическое обеспечение МГиГМ – это, прежде всего, модели, методы и алгоритмы для геометрического моделирования и подготовки проектных данных к визуализации. При этом часто именно математическое обеспечение подготовки к визуализации называют математическим обеспечением машинной графики. 5.2. Классификация моделей геометрических объектов при трёхмерном моделировании Различают математическое обеспечение двумерного (2D) и трехмерного (3D) моделирования. Основные применения 2D графики – подготовка чертежной документации в машиностроительных САПР, топологическое проектирование печатных плат и кристаллов БИС в САПР радиоэлектронной промышленности. В большинстве современных машиностроительных САПР используют как 2D, так и 3D моделирование при выполнении таких процедур и операций как: – синтез конструкций; – представление траекторий рабочих органов станков при обработке заготовок; – генерация сетки конечных элементов при анализе прочности и т.п. При трехмерном моделировании различают следующих видов: 1) каркасные (проволочные). 2) поверхностные. 3) объемные (твердотельные). Каркасная модель представляет форму детали в виде конечного множества линий, лежащих на поверхностях детали. Для каждой линии известны координаты концевых точек и указана их инцидентность (принадлежность) ребрам или поверхностям. Оперировать каркасной моделью на дальнейших операциях маршрутов проектирования неудобно, и поэтому каркасные модели в настоящее время используют достаточно редко. Поверхностная модель отображает форму детали с помощью задания ограничивающих ее поверхностей, например, в виде совокупности данных о гранях, ребрах и вершинах поверхности детали. Особое место среди поверхностных занимают модели деталей с поверхностями сложной формы, так называемыми скульптурными поверхностями. К таким деталям относятся корпуса многих транспортных средств (например, судов, автомобилей), детали, обтекаемые потоками жидкостей и газов (лопатки турбин и насосов, крылья самолетов и др.). Объемные модели отличаются тем, что в них в явной форме содержатся сведения о принадлежности элементов внутреннему или внешнему по отношению к детали пространству. 5.3. Методы построения геометрических моделей В настоящее время для построения геометрических моделей применяют следующие методы. 1. Граничный метод; заключается в задании граничных элементов – граней, ребер, вершин. 2. Кинематический метод, согласно которому задают двумерный контур и траекторию его перемещения; след от перемещения контура принимают в качестве поверхности детали. 3. Позиционный метод, в соответствии с которым рассматриваемое пространство разбивают на ячейки (позиции) и деталь задают указанием ячеек, принадлежащих детали; очевидна громоздкость этого подхода. 4. Представление сложной детали в виде совокупностей базовых элементов формы (БЭФ) и выполнения над ними теоретико-множественных операций. К БЭФ относятся заранее разработанные модели простых тел – это, в первую очередь, модели параллелепипеда, цилиндра, сферы, призмы. Типичными теоретико-множественными операциями являются объединение, пересечение, разность. Например, модель плиты с отверстием в ней может быть получена вычитанием цилиндра из параллелепипеда. Метод на основе БЭФ часто называют методом конструктивной геометрии. Это основной метод конструирования в современных САПР. В памяти ЭВМ рассмотренные модели обычно хранятся в векторной форме, т.е. в виде координат совокупности точек, задающих элементы модели. Выполнение операций конструирования также выполняется над моделями в векторной форме. Наиболее компактна модель в виде совокупности связанных БЭФ. Такая модель преимущественно и используется для хранения и обработки информации об изделиях в системах конструктивной геометрии. Однако для визуализации в современных рабочих станциях в связи с использованием в них растровых дисплеев необходима растеризация – преобразование модели в растровую форму. Обратную операцию перехода к векторной форме, которая характеризуется меньшими затратами памяти, называют векторизацией. В частности, векторизация должна выполняться по отношению к данным, получаемым сканированием изображений в устройствах автоматического ввода графической информации. 5.4. Аналитически описываемые геометрические объекты Все геометрические объекты можно разделить на две группы: 1. Аналитически описываемые 2. Аналитические неописываемые. К аналитически описываемым геометрическим объектам (АОГО) относятся: точка, прямая, отрезок, окружность, эллипс, параллелограмм, цилиндр, сфера, эллипсоид, параллелепипед, параболоид и др. К аналитически неописываемым геометрическим объектам (АНГО) относятся объекты, имеющие вид произвольной кривой или неплоской поверхности. В автоматизированном проектировании наиболее часто использую методы начертательной, аналитической, дифференциальной и проективной геометрии. 5.5. Область применения АНГО Аналитически неописываемые геометрические объекты используются в следующих отраслях промышленности: Отрасль Виды Критерии промышленности технических объектов выбора параметров Самолётостроение Внешний контур самолё- Аэродинамические та свойства Судостроение Контур судна (обводы), Гидродинамические поверхности лопастей свойства корабельных винтов Автомобилестроение Поверхность кузова Аэродинамические свойства и эстетические требования Энергетическое, хи- Лопасти и другие эле- Аэро-, гидро- и термомическое, горное ма- менты турбин, лопасти и динамические свойства шиностроение полости насосов, отводные каналы, реакторные ёмкости Инструментальное Рабочие поверхности ме- Прочностные свойства, производство талло- и деревообраба- термодинамические тывающего инструмента свойства, эффективный отвод стружки 5.6. Описание аналитически неописываемых геометрических объектов 2-го уровня 5.6.1. Требования к методам описания АН кривых и поверхностей 1. Использование минимума параметров, которые могут быть легко определены. 2. Метод должен допускать локальные и глобальные изменения формы кривых и поверхностей (рис.). 3. Параметры описания должны иметь возможность непрерывно изменяться, даже если кривая имеет кусочно-гладкий вид. Под гладкой дугой понимается дуга кривой с непрерывно изменяющимися касательными. 4. Описание должно обеспечивать возможность определения точек перегиба кривой в случае кривых и точек или кривых пересечения в случае поверхностей. 5. Для описания кривой желательна непрерывность как можно более высокого порядка. 6. В предельном случае метод должен допускать построение прямых линий или плоских поверхностей. 7. Метод должен обеспечивать гладкое соединение кривых или поверхностей. 8. Описание должно предусматривать возможность преобразования и изображения кривых в пространстве. 9. Метод должен предусматривать независимое определение координат произвольной точки объекта. 10. Кривая или поверхность должна быть сегментируемой (кусочносоставной) при сохранении своей исходной формы. Выполнение этих требований обеспечивается путём использования аппроксимации или интерполяции. Аппроксимация состоит в определении приближенного описания для исходной кривой или поверхности. Интерполяция – частный случай аппроксимации, в котором требуется согласование исходной и аппроксимирующей кривой в заданных опорных точках. 5.6.2. Аппроксимация кривых с помощью полиномов Произвольные непрерывные кривые в пространстве можно аппроксимировать аналитически описываемыми объектами: отрезками, дугами окружностей, параболами или кривыми более высокого порядка. Однако применение этих методов ведёт к большим объёмам обрабатываемой информации и требует значительных затрат ресурсов, связанных с разбиением пространственной кривой на отдельные сегменты. Наиболее известными методами конструирования кривых и поверхностей являются полиномиальная интерполяция Лагранжа и Эрмита. Такой полином для плоской кривой имеет следующий вид: n y ai x i , i 1 где ai – коэффициенты полинома; n – порядок полинома. Если заданы координаты n + 1 точки кривой, то коэффициенты получают как решение системы из n + 1 уравнений. Преимущества такой аппроксимации: 1. Малая трудоёмкость. 2. Простота вычисления коэффициентов. Однако такое представление имеет ряд существенных недостатков: 1. Вид аппроксимирующего полинома зависит от выбора системы координат и преобразований над объектом. 2. Зависимость между коэффициентами полинома ai и формой кривой не является очевидной, а выявляется только после соответствующих преобразований. Одному значению параметра может соответствовать несколько значений зависимых переменных. Указанные недостатки характерны также и для пространственных кривых и поверхностей. Вследствие этого обычно используют не явные (канонические), а параметрические формы представления объектов. 5.6.3. Параметрическое описание кривой в форме Фергюсона Параметрическое задание пространственной кривой имеет следующий вид: x = x(u); y = y(u); z = z(u), где u I; I – интервал описания. Каждому значению параметра u соответствует одно значение зависимых переменных. При этом каждая переменная изменяется независимо от других. Выбор системы координат не влияет на форму кривой. Для описания кривых обычно используются методы кусочно-линейной аппроксимации полиномами, заданными в параметрической форме. При выборе конкретного метода из множества возможных необходимо выполнить ряд требований: 1. Методы должны обеспечивать гладкое соединение отдельных кривых (сегментов поверхностей) 2. Методы должны обеспечивать возможность управления формой кривой путём изменения небольшого количества параметров. 3. Включение нового сегмента кривой не должно нарушать гладкость всей кривой. Перечисленным требованиям удовлетворяет, например, кривая в форме Фергюсона. Плоская кривая в этой форме описывается уравнением вида: P(u) = mu3 +nu2 + pu + q, где u – параметр; m, n, p, q – постоянные коэффициенты. Значения коэффициентов определяются из следующих предположений: – значение параметра u в начальной точке кривой равно 0; а в конечной точке – 1; – известны координаты граничных точек кривой P(0) и P(1), а также значения производной в этих точках. С учётом этих предположений величины m, n, p, q находятся из решения следующей системы уравнений: A P(0) q; B P(1) m n p q; dP C u 0 p; du dP D u 1 3m 2n p. du Решив эту систему, получаем: m = 2 (A – B) + C + D; n = 3 (B – A) – 2C – D; p = C; q = A. Параметрическая кривая, заданная в форме Фергюсона, имеет следующие свойства: 1. Кривая полностью определена условиями, заданными в граничных точках. 2. Касательные к кривой, проведенные в граничных точках, параллельны векторам производной. Поэтому возможно гладкое соединение сегментов кривых, если равны координаты их граничных точек. 3. Изменение модулей векторов производных приводит к изменению формы кривой. 5.6.4. Определение кубических сплайн-функций Функция, которая составлена из полиномов k-й степени и в узлах является (k – 1) раз непрерывно дифференцируемой, называется сплайн-функцией. Если заданы также опорные точки, через которые проходит кривая, описываемая этой функцией, то она называется интерполирующей сплайнфункцией или сплайном. Функция Q(u) называется кубическим сплайном, если она удовлетворяет следующим условиям: 1. Задан упорядоченный набор из n + 1 точки u0,…, un (узлы сплайна) и соответствующие узлам опорные точки S0,…, Sn. 2. На каждом интервале (uk, uk–1) для k = 0, 1, 2,…n – 1 функция Q(u) является кубическим полиномом fk(u) (k =3): fk(u) = Ak(u – uk)3 + Bk(u – uk)2 + Ck(u – uk) + Dk. 3. В узлах u0,…, un функция принимает заданные значения S0,…, Sn: Q(uk) = Sk, k = 0, 1, 2,…n. 4. На всём интервале, включая и узлы, Q(u) должна быть дважды непрерывно дифференцируемой функцией: fk (uk) = fk + 1 (uk), fk (uk) = fk + 1 (uk). 5. Заданы значения первых производных в граничных точках u0 и un или значения первых двух производных в граничной точке u0. Преимущества кубических сплайнов: 1. Удобство использования, так как для построения кривой необходимы только значения сплайн-функции в узлах (опорные точки) и значения первых производных в концевых точках. 2. На каждом интервале кривая определяется кубическим полиномом. 3. Так как кривая на всем интервале дважды непрерывно дифференцируема, то у неё нет точек перегиба. 5.6.5. Представление пространственной кривой по Эрмиту Для конструирования пространственной кривой с использованием интерполяционных полиномов Эрмита необходима геометрическая информация о концевых точках кривой и задание первых n производных в этих точках. Для интерполяции кривой на заданном интервале используются кубические полиномы следующего вида: x(u) = axu3 + bxu2 + cxu + dx; y(u) = ayu3 + byu2 + cyu + dy; z(u) = azu3 + bzu2 + czu + dz. При определении коэффициентов ax, bx, cx, dx с использованием координат концевых точек, а также концевых касательных векторов получаем представление кривой в матричной форме: x(u ) Q(u ) y (u ) UM H GH , z (u ) где U – матрица-вектор степеней параметра, U = (u3, u2, u, 1); MH – матрица Эрмита: 1 2 2 1 3 3 2 1 ; MH 0 0 1 0 0 0 0 1 GH – вектор координат концевых точек кривой: P(0) P(1) ; GH P(0) P(1) P(0), P(1) – координаты концевых точек кривой. Желаемую форму кривой можно получить при изменении длины касательных векторов или их направления. Интерполяция пространственной кривой по Эрмиту позволяет построить гладкую кривую, но для получения её желаемой формы необходимо относительно плотно установить опорные точки (концевые точки сегментов). 5.6.6. Представление кривой по Безье Кривая в форме Безье аппроксимирует ломаную, вершинами которой являются опорные точки (рис.). Эту ломаную называют характеристической ломаной заданной кривой. Граничные точки кривой Безье совпадают с крайними вершинами характеристической ломаной, причём первое и последнее звенья ломаной являются касательными к кривой соответственно в начальной и конечной точках. Форма кривой Безье зависит от расположения вершин характеристической ломаной. Представление кривой Безье в матричной форме имеет вид: x(u ) Q(u ) y (u ) UM B GB , z (u ) где MB – матрица Безье: 1 3 3 1 3 6 3 0 ; MB 3 3 0 0 0 0 0 1 GB – вектор координат концевых точек кривой, GB = GH. Достаточным условием гладкости соединения двух кривых Безье является равенство в концевых точках соединяемых сегментов касательных векторов этих сегментов. Недостатком параметрического представления кривой по Безье является тот факт, что степень кривой растёт пропорционально количеству звеньев характеристической ломаной, а изменение вершин ломаной влияет на всю форму кривой. 5.6.7. Представление кривой с помощью B-сплайнов Пусть U = (u0 = 0, u1, …, ui, un = n) – разбиение интервала [0, n] на отрезки, где ui = i, а i = 0 … n – натуральное число. Точки ui называются узлами, U – множеством узлов. B-сплайном k-го порядка называется функция Mi,k(x), равная нулю на данном множестве узлов, за исключением последовательных отрезков. В случае B-сплайнов аппроксимируемая кривая делится на n участков , выделяемых последовательными точками P0, P1, P2,…Pn. Участок между парой соседних точек Pi и Pi+1 аппроксимируется B-сплайном, построенным с использованием четырех точек Pi–1, Pi, Pi+1 , Pi+2. Аппроксимация с помощью B-сплайнов позволяет получить кривые, которые имеют такие же свойств, как и кривые Безье. Представление кривой с помощью B-сплайнов в матричной форме имеет вид: x(u ) Q(u ) y (u ) UM BS GBS , z (u ) где MBS – матрица B-сплайнов: 1 6 1 2 1 2 1 6 1 2 1 1 2 0 ; M BS 1 2 0 12 0 0 16 23 16 GBS – вектор координат узлов: Pi 1 P G BS i . Pi 1 Pi 2 В случае построения кривых методом B-сплайнов необходимо иметь зависимость между опорными точками кривой Pi и узлами ui. Свойства кривой, построенной с использованием B-сплайнов: 1. Кривая определяется линейной комбинацией сплайн-функций. 2. Локальное изменение опорных точек не приводит к изменению всей формы кривой. 3. Кривая может содержать прямолинейные отрезки. 5.7. Описание аналитически неописываемых геометрических объектов 3-го уровня 5.7.1. Описание поверхности по Фергюсону Кривая в форме Фергюсона определяется координатами концевых точек и значениями производных в них. Если такие четыре кривые замкнуть, то полученный контур можно рассматривать как границу участка (отсека) поверхности. Внутренняя часть поверхности также определяется с помощью кривых в форме Фергюсона, которые в зависимости от параметров соединяют две противолежащие границы отсека (рис.). Границы отсека сами задают концевые точки переменной кривой. Например, кривы AB и DC определяют концевые точки кривой EF, которая изменяется в направлении параметра u. 5.7.2. Описание поверхности методом Кунса Поверхность в трёхмерном пространстве определяется множеством точек, которые имеют две степени свободы. Если u и v – два независимых параметра, то поверхность, построенная методом Кунса, определяется следующим образом: (x, y, z) = (X(u, v), Y(u, v), Z(u, v)). Независимые переменные u и v изменяются в интервале от 0 до 1. Соответственно, границы описываемого отсека поверхности: P(u, v) = uv; P(u, 0) = u0; P(u, 1) = u1; P(0, v) = 0v; P(1, v) = 1v. где P(u, v) – функция двух переменных. Зафиксировав два параметра, можно определить точку на поверхности. Так определяются концевые точки отсека поверхности. Для дальнейшего описания поверхности Кунс ввёл скалярные функции смешения, являющиеся функцией одной переменной. Если граница отсека поверхности описывается полиномом третьей степени, то при его записи в параметрической форме функции смешения имеют следующий вид: F0 (u) = F0u = 2u3 – 3u2 + 1; F1 (u) = F1u = – 2u3 + 3u2; G0 (u) = G0u = u3 – 2u2 + u; G1 (u) = G1u = u3 – u2. Уравнение для бикубического участка поверхности в матричной форме имеет вид: F0v F 1v Q(u, v) = (F0u, F1u, G0u, G1u)·P· , G0v G1v где P – матрица, содержащая значения векторов, характеризующих положение границ поверхности, и значения векторов производных в углах участков поверхности. 5.7.3. Описание поверхности по Безье Поверхность, построенная по методу Безье, определяется множеством точек, которые образуют характеристическую сетку (рис.). Такие точки поверхности называются вспомогательными. Если этим точкам приписать двойной индекс, то их можно рассматривать как элементы матрицы. В этом случае задача конструирования поверхности сводится к определению поверхности по заданной характеристической сетке. Пусть задана матрица размером (m, n), элементы которой образуют характеристическую сетку. Из матрицы выбираются все элементы с одинаковым первым индексом, т.е. элементы одной строки. Через вспомогательные точки, которые соответствуют этим элементам, проводится характеристическая ломаная. В результате образуются m характеристических ломаных и, соответственно, определены m кривых Безье. На каждой кривой находится точка, которая соответствует которая соответствует определённому значению параметра u. Через полученные m точек проводится новая характеристическая ломаная, определяющая кривую Безье с постоянным значением параметра u. Для любого заданного значения параметра v на этой кривой находится искомая точка поверхности P(u, v). 5.7.4. Описание поверхности методом B-сплайнов Определение поверхности методом B-сплайнов аналогично определению поверхности по Безье для случая, когда степень B-сплайн-функций соответствует количеству опорных точек. Наиболее удобен метод аппроксимации поверхности кубическими Bсплайнами.