Федорков Е.Д., Кольцов А.С. Геометрическое моделирование - файл n1.doc

приобрести
Федорков Е.Д., Кольцов А.С. Геометрическое моделирование
скачать (1508.7 kb.)
Доступные файлы (1):
n1.doc2665kb.16.12.2005 09:50скачать

n1.doc

  1   2   3   4   5   6   7   8   9


А.С. Кольцов Е.Д. Федорков


Геометрическое моделирование в САПР


Учебное пособие


Воронеж 2005

А.С. Кольцов Е.Д. Федорков


Геометрическое моделирование в САПР

Утверждено Редакционно-издательским советом

университета в качестве учебного пособия

Воронеж 2005






УДК 659.305.8: 681.3.07
Кольцов А.С., Федорков Е.Д. Геометрическое моделирование: Учеб. Пособие. Воронеж: Воронеж. гос. техн. ун-т., 2005, 183 с.
В учебном пособии рассматриваются основные алгоритмы и методы геометрического моделирования в САПР. Рассмотрены вопросы построения кривых и поверхностей, способы представления моделей геометрических объектов, стандарты в графических системах САПР, а также системы подготовки и выпуска конструкторско-технологической документации и прочие разделы курса «Геометрическое моделирование в САПР». Издание предназначено для студентов специальности 230104 «Системы автоматизированного проектирования» очной формы обучения.
Табл. 25. Ил. 28. Библиогр.: 11 назв.

Рецензенты: зам. директора ВНИИС по науке

д-р техн. наук, И.И. Малышев;

канд. техн. наук, доц. А.И. Житенев


© Кольцов А.С., Федорков Е.Д., 2005

© Оформление. ГОУВПО «Воронежский

государственный технический

университет», 2005







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

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

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

При решении второй задачи, выполняемой чаще всего в интерактивном режиме, основное требование к средствам формирования и представления модели - удобство манипулирования.

Используются три основных типа 3D моделей:

Важно отметить, что 3D системы существенно ориентируются на область приложений, так как многие характерные для них задачи, выполняемые программным путем, стоят очень дорого и сильно зависят от выбора возможных моделей. Типичными такими задачами, в частности, являются получение сечений и удаление невидимых частей изображения. Обычно имеется много вариантов реализации различных моделей, в большей или меньшей степени эффективных в зависимости от различных областей приложений и решаемых задач. Поэтому в 3D системах стремятся использовать многообразие моделей и поддерживать средства перехода от одной модели к другой.

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

1. МОДЕЛИ. ЭЛЕМЕНТЫ МОДЕЛЕЙ
При формировании 3D модели используются:

Из этих элементов с помощью различных операций формируется внутреннее представление модели.
Методы построения моделей

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

Построение с использованием отношений

Построение с использованием отношений заключается в том, что задаются:

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

Используется два способа реализации построения по отношениям - общий и частный.

При общем способе реализации построение по заданным отношениям можно представить в виде двухшаговой процедуры:

Очевидное достоинство такого способа - простота расширения системы - для введения нового отношения достаточно просто написать соответствующие уравнения.

Основные проблемы такого способа заключаются в следующем:

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

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

Преимущества такого подхода ясны - проще писать систему. Не менее очевидны и недостатки, когда пользователю требуется использовать сильно разветвленные меню и/или запоминать мало вразумительные сокращения или пиктограммы, так как обычно число требуемых вариантов построения исчисляется сотнями. Расширение системы, реализуемое добавлением новой подпрограммы, требует ее перепроектирования, по крайней мере, в части обеспечения доступа пользователя к новым возможностям. В некотором смысле предельный пример этого подхода - система AutoCAD фирмы Autodesk. Авторы даже гордятся сложностью системы: "AutoCAD предоставляет эту крайне сложную технологию".

Понятно, что перспективы за общим подходом с разумным использованием частных решений. Вместе с тем устаревшие системы типа AutoCad скорее всего также будут продолжать использоваться в силу распространенности, сложившегося круга обученных пользователей и т.п.

Построение с использованием преобразований

Построение нового объекта с использованием преобразований заключается в следующем:


2. ПОСТРОЕНИЕ КРИВЫХ
Важное значение при формировании как 2D, так и 3D моделей имеет построение элементарных кривых. Кривые строятся в основном следующими способами:

В качестве последних обычно используются параметрические кубические кривые, так как это наименьшая степень, при которой обеспечиваются:

Параметрическое представление кривых выбирается по целому ряду причин, в том числе потому, что зачастую объекты могут иметь вертикальные касательные. При этом аппроксимация кривой y = f(x) аналитическими функциями была бы невозможной. Кроме того, кривые, которые надо представлять, могут быть неплоскими и незамкнутыми. Наконец, параметрическое представление обеспечивает независимость представления от выбора системы координат и соответствует процессу их отображения на устройствах: позиция естественным образом определяется как две функции времени x(t) и y(t).

В общем виде параметрические кубические кривые можно представить в форме:






x(t) =




A11   t3




+




A12   t2




+




A13   t




+




A14;




y(t) =




A21   t3




+




A22   t2




+




A23   t




+




A24;




z(t) =




A31   t3




+




A32   t2




+




A33   t




+




A34,














где параметр t можно считать изменяющимся в диапазоне от 0 до 1, так как интересуют конечные отрезки.

Существует много методов описания параметрических кубических кривых. К наиболее применяемым относятся:

В форме Безье кривая в общем случае задается в виде полинома Бернштейна


P(t) = ,



где Pi - значения координат в вершинах ломаной, используемой в качестве управляющей ломаной для кривой; t - параметр;



Cmi =

m!

i!  (m-i)!

.



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

Предложены различные быстрые схемы для вычисления кривой Безье.

В более общей форме B-сплайнов кривая в общем случае задается соотношением


P(t)= ,



где Pi - значения координат в вершинах ломаной, используемой в качестве управляющей ломаной для кривой; t - параметр; Nim - весовые функции, определяемые рекуррентным соотношением:





Ni,k(t) =

(t - xi) Ni,k-1(t)

xi+k-1 - xi

+

(xi+k - t) Ni+1,k-1(t)

xi+k - xi+1

.



Используются и многие другие методы, например метод Эрмита, при котором задаются положения конечных точек кривой и значения первой производной в них.

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

3. ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ
Основные способы построения поверхностей:

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


x(s,t) =


A11   s3   t3




+




A12  s3   t2




+




A13   s3   t




+




A14  s3




+




A21   s2   t3




+




A22  s2   t2




+




A23   s2   t




+




A24  s2




+




A31   s   t3




+




A32  s   t2




+




A33   s   t




+




A34  s




+




A41   t3




+




A42  t2




+




A43   t




+




A44.

















Аналогично случаю с параметрическими кубическими кривыми наиболее применимыми являются:

4. ТИПЫ МОДЕЛЕЙ
Как уже отмечалось, можно выделить два основных типа представлений 3D моделей:

Предельным случаем граничной модели является модель, использующая перечисление всех точек занимаемого ею пространства. В частности, тело может быть аппроксимировано набором "склеенных" друг с другом параллелепипедов, что может быть удобно для некоторых вычислений (веса, объемы, расчеты методом конечных элементов и т.д.).

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

В общем случае нельзя утверждать, что одна модель во всем лучше другой. Так, например, граничная модель удобна для выполнения операций визуализации (удаление невидимых частей, закраска и т.п.), с другой стороны, модель в виде дерева построения естественным образом может обеспечить параметризацию объекта, т.е. модификацию объекта изменением тех или иных отдельных параметров, вплоть до убирания каких-либо составных частей, но не удобна для визуализации, так как требует перевычисления объекта по дереву построения. Поэтому необходимы средства взаимного преобразования моделей. Понятно, что из более общей можно сформировать более простую, обратное преобразование далеко не всегда возможно или целесообразно, что и иллюстрируется сплошными и штриховыми линиями на рис.4.1.






Рис.4.1. Преобразования моделей представления
Из рис. 4.1 видно особое место граничной модели, преобразование в которую возможно из любых других. Учитывая это, а также и то, что эта модель наиболее удобна для визуализации, дальнейшее рассмотрение будет в основном относиться к этой модели.

Используются две основных разновидности способов представления поверхностей тела:

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

5. ПОЛИГОНАЛЬНЫЕ СЕТКИ
Как отмечалось, полигональная сетка представляет собой набор вершин, ребер и плоских многоугольников. Вершины соединяются ребрами. Многоугольники рассматриваются либо как последовательность вершин или ребер. Можно предложить много способов внутреннего представления полигональных сеток.

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






Рис. 2. - Пример полигональной сетки: Pi - многоугольники, Vj - вершины, Ek - ребра






Рис. 3. Представление полигональной сетки с явным заданием многоугольников
Компактно для одного многоугольника, но сильно избыточно для набора, так как не существует общего описания общих вершин и ребер.






Рис. 4. Представление полигональной сетки с указателями на списки вершин
Элементы списка указателей на вершины для каждого многоугольника ссылаются на соответствующие координатные данные для вершин. Данное представление компактнее предыдущего, но трудно найти многоугольники с общими ребрами.






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

6. ОПИСАНИЕ ГЕОМЕТРИЧЕСКИХ ФОРМ

6.1. ОПИСАНИЕ ПОВЕРХНОСТЕЙ. ПАРАМЕТРИЧЕСКОЕ ОПИСАНИЕ ПОВЕРХНОСТЕЙ
Поверхности, заданные в форме

Х = Х(u,t),

Y = Y(u,t),

Z = Z(u,t),

где u,t - параметры, изменяющиеся в заданных пределах,

относятся к классу параметрических. Для одной пары значений (u,t) вычисляется одна точка поверхности.
Параметрическое задание плоскостей

Плоскость, проходящая через точку r0 =(х0,y0,z0) и векторы



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



или



Данное уравнение описывает прямоугольник со сторонами, равными и , если , а u,t[0,1]. Нормаль к поверхности можно получить, вычислив векторное произведение: .

Эллипсоид


Каноническое уравнение:



где a, b,c- длины полуосей эллипсоида
Параметрическое задание:

x  a coscos,

где  - долгота ,  - ширина;

y  b coscos;

z  c sin.

Нормаль к поверхности эллипсоида определяется:



Общие случаи нормали к поверхности






Пример: Описание тороида:



, u  [0 , 2],

где a- радиус кольцевого «баллона» тороида и R - расстояние от центра тороида до оси «баллона».
Преимущества параметрического описания поверхности


  1. Важным преимуществом параметрического описания поверхностей является возможность передачи очень сложных геометрических форм, описание которых другими методами затруднительно.

  2. Параметрическое описание поверхности приспособлено к физическим процессам управления резцом в станках с числовым программным управлением. Резец вытачивает деталь, двигаясь в пространстве по закону, заданному параметрическим описанием.

  3. Параметрический подход, единственно приемлемый для моделирования сложных, гладких участков поверхностей при помощи сплайновой аппроксимации.


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

Описание поверхностей неявными функциями



Поверхности описываются функцией вида f(X,Y,Z)=0, где X,Y,Z - координаты из пространства объекта.

Наиболее распространены функции первой и второй степени, существуют аналитические методы для решения уравнений третей и четвертой степени, однако они применяются редко.

AX+BY+CZ+D=0 описывает плоскость

AX2+BY2+CZ2+2DXY+2EYZ+2GX+2HY+2JZ+K=0,

в зависимости от значений коэффициентов можно описывать пары плоскостей (вырожденный случай), конусы, гиперболоиды, параболоиды и эллипсоиды.

Пример: Неявная форма задания поверхностей хорошо приспособлена для твердотельного или объемного описания объектов. Неявная форма хорошо сочетается с алгоритмами трассировки лучей т.к. легко определяются взаимное положение точки и поверхности такого типа, а также точки пересечения прямой и поверхности.
6.2. ПОТОЧЕЧНОЕ ОПИСАНИЕ ПОВЕРХНОСТЕЙ.
Метод заключается в задании поверхности множеством принадлежащих ей точек. Следовательно, качество изображения при этом методе зависит от количества точек и их расположения.

Поточечное описание применяется в тех случаях, когда поверхность очень сложна и не обладает гладкостью, а детальное представление геометрических особенностей важно для практики.

Пример: Участки грунта на других планетах, формы небесных тел, информация о которых получена в результате спутниковых съемок. Микрообъекты, снятые с помощью электронных микроскопов.

Исходная информация о поточечно описанных объектах представляется в виде матрицы трехмерных координат точек.


6.3. СИНТЕЗ ИЗОБРАЖЕНИЙ МЕТОДОМ ОБРАТНОЙ ТРАССИРОВКИ ЛУЧЕЙ

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

Основная идея метода

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

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


При прямой трассировке за исходную позицию берется вычисляемая на изображаемой поверхности точка 1, из нее моделируется путь луча на источник света 2 и на приемник изображения - точка 3.

При обратной трассировке берется центр рецептора 1 на приемнике изображения и моделируется путь луча на объект 2 и далее на источник света - точка 3.

  1   2   3   4   5   6   7   8   9


Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации