лекция ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ В САПР

ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ В САПР

В соответствии с ГОСТ 2301.108-85

Система автоматизированного проектирования, САПР- программный пакет, предназначенный для автоматизированного проектирования, разработки и производства конечного продукта, а также оформления конструкторской и/или технологической документации.

В иностранной литературе аналогичные системы рассматриваются как
совокупность интегрированных, независимых программных пакетов, объединяемых по технологии CAD/CAM/CAE.

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

CAM-системы (computer-aided manufacturing компьютерная поддержка изготовления) предназначены для проектирования обработки изделий на станках с числовым программным управлением (ЧПУ) и выдачи программ для этих станков (фрезерных, сверлильных, эрозионных, пробивных, токарных, шлифовальных и др.). CAM-системы еще называют системами технологической подготовки производства.
САЕ-системы - (computer-aided engineering поддержка инженерных расчетов) представляют собой обширный класс систем, каждая из которых позволяет решать определенную расчетную задачу (группу задач), начиная от расчетов на прочность, анализа и моделирования тепловых процессов, расчетов электрических параметров и т.п. В CAЕ- системах также используется трехмерная модель изделия, созданная в CAD-системе. CAE-системы еще называют системами инженерного анализа.

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

Требования государственного образовательного стандарта по дисциплине

Компоненты графических систем.
Геометрическое моделирование.
Понятие о геометрической модели проектируемого объекта.
Способы создания геометрических моделей.
Геометрические модели хранения и визуализации.
Способы описания геометрических моделей: явные, неявные векторные, параметрические уравнения.
Твердотельное и поверхностное моделирование.
Базовые элементы формы и их точное аналитическое описание.
Различные способы представления твердотельных моделей.
Теоретико-множественные операции булевой алгебры.
Поверхностное моделирование.
Понятие кубических сплайнов.
Аппроксимирующие уравнения пространственных кривых: Фергюссона, Эрмита, Безье, В-сплайны, рациональные выражения, NURBS.
Понятие линейчатых поверхностей.
Аппроксимирующие уравнения поверхностей Кунса, Безье, В-сплайнов, NURBS.
Методы и средства разработки графических приложений.
Стандарты в графических системах САПР.
Классификация графических систем.
Системы подготовки и выпуска конструкторско-технологической документации.
Примеры современных графических систем


1. ФОРМИРОВАНИЕ МОДЕЛЕЙ

При формировании 3D модели используются:
двумерные элементы (точки, прямые, отрезки прямых, окружности и их дуги, различные плоские кривые и контуры);
поверхности (плоскости, поверхности, представленные семейством образующих, поверхности вращения, криволинейные поверхности);
объемные элементы (параллелепипеды, призмы, пирамиды, конусы, произвольные многогранники и т.п.). Из этих элементов с помощью различных операций формируется внутреннее представление модели
















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














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

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

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

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

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

2. ПОСТРОЕНИЕ КРИВЫХ

Кривые строятся в основном следующими способами:
интерполяцией по точкам;
расчетом пересечения поверхностей;
выполнением преобразования некоторой кривой.
формированием замкнутых или разомкнутых контуров из отдельных сегментов, например отрезков прямых, дуг конических сечений или произвольных кривых.
Обычно используются параметрические кубические кривые, так как это наименьшая степень, при которой обеспечиваются:
непрерывность значения первой (второй) производной в точках сшивки сегментов кривых;
возможность задания неплоских кривых.
Параметрическое представление кривых выбирается по целому ряду причин, в том числе потому, что зачастую объекты могут иметь вертикальные касательные. При этом аппроксимация кривой 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, так как интересуют конечные отрезки.

Существует много методов описания параметрических кубических кривых. К наиболее применяемым относятся:
метод Безье, широко используемый в интерактивных приложениях; в нем задаются положения конечных точек кривой, а значения первой производной задаются неявно с помощью двух других точек, обычно не лежащих на кривой;
метод В-сплайнов, при котором конечные точки не лежат на кривой и на концах сегментов обеспечивается непрерывность первой и второй производных

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 моделей:
граничное, когда в модели хранятся границы объекта, например, вершины, ребра, грани;
в виде дерева построения, когда хранятся базовые объекты (призма, пирамида, цилиндр, конус и т.п.), из которых формировалось тело и использованные при этом операции; в узле дерева сохраняется операция формирования, а ветви представляют объекты
Предельным случаем граничной модели является модель, использующая перечисление всех точек занимаемого ею пространства. В частности, тело может быть аппроксимировано набором "склеенных" друг с другом параллелепипедов, что может быть удобно для некоторых вычислений (веса, объемы, расчеты методом конечных элементов и т.д.).
Часто используются гибридные модели, в которых в различной мере смешиваются эти два основных типа представления. В частности, в граничной модели может сохраняться информация о способе построения, например, информация о контуре и траектории его перемещения для формирования заданной поверхности (это т.н. кинематические модели). В моделях в виде дерева построения в качестве элементарных могут использоваться не только базовые объекты, но также и сплошные тела, заданные с помощью границ.
В общем случае нельзя утверждать, что одна модель во всем лучше другой. Так, например, граничная модель удобна для выполнения операций визуализации (удаление невидимых частей, закраска и т.п.), с другой стороны, модель в виде дерева построения естественным образом может обеспечить параметризацию объекта, т.е. модификацию объекта изменением тех или иных отдельных параметров, вплоть до убирания каких-либо составных частей, но не удобна для визуализации, так как требует перевычисления объекта по дереву построения. Поэтому необходимы средства взаимного преобразования моделей. Понятно, что из более общей можно сформировать более простую, обратное преобразование далеко не всегда возможно или целесообразно.


[ Cкачайте файл, чтобы посмотреть картинку ]

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

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


5. ПОЛИГОНАЛЬНЫЕ СЕТКИ

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


1.Явное задание многоугольников.

Многоугольник Р описывается:
P((x1,y1,z1),(xn,yn,zn))
P – список координат вершин в порядке обхода многоугольника.



[ Cкачайте файл, чтобы посмотреть картинку ]

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

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

2.Указатели в список вершин.

Узел сетки запоминается лишь один раз в списке вершин:
V=((x1,y1,z1)(xn,yn,zn))
Многоугольник определяется ссылкой на элемент списка.

Пример:



Список вершин:
V=(V1,V2,V3,V4) =((x1,y1,z1)(xn,yn,zn))
Описание многоугольников:
P2=(1,2,4); P1=(4,2,3)
Преимущество:
- экономия памяти за счет однократного описания каждой вершины
- при преобразовании модели координаты вершин легко меняются.
Недостаток: трудно искать многоугольники с одинаковыми ребрами.

3.Явное задание ребер.

Имеется список вершин V. Имеется список ребер Е, каждый элемент
которого описывает тетраэдр:
Е=( V1,V2, P1,P2)
V1 – вершина 1
V2 – вершина 2
P1 – многоугольник 1
P2 – многоугольник 2
Если ребро принадлежит одному многоугольнику, то одна из ссылок а – пуста.
Многоугольник определяется как ссылка на ребра Р=(Е1,... Еn)






Пример:



V=(V1,V2,V3,V4)=(x1,y1,z1,...)
E1=(V1,V2,P1, ( )
E2=(V2,V3,P2, ( )
E3=(V3,V4,P2, ()
E4=(V4,V2,P1,P2)
E5=(V4,V1,P1, ( )
P1=(E1,E4,E5)
P2=(E1,E3,E4) E4 – не прорисовывается т.к. ссылка на P1
( = пусто
Вычеркиваются все ребра.
Для определения произвольной точки внутри многоугольника на плоскости можно пользоваться системой уравнений:
Ax+By+Cz+D=0 – уравнение плоскости
Ax1+By1+Cz1+D=0
Ax2+By2+Cz2+D=0
Ax3+By3+Cz3+D=0
Уравнения решаются относительно x,y,z.
Где: коэффициенты A,B,C,D определяются для плоскости по трем вершинам.

6. ПАРАМЕТРИЧЕСКОЕ ОПИСАНИЕ ПОВЕРХНОСТЕЙ

Поверхности, заданные в форме
Х = Х(u,t),
Y = Y(u,t),
Z = Z(u,t),
где u,t - параметры, изменяющиеся в заданных пределах, относятся к классу параметрических. Для одной пары значений (u,t) вычисляется одна точка поверхности.

Параметрическое задание плоскостей
Плоскость, проходящая через точку r0 =(х0,y0,z0) и векторы
13 EMBED Equation.2 1415
исходящие из этой точки, определяются уравнением
13 EMBED Equation.2 141513 EMBED Equation.2 1415
или
13 EMBED Equation.2 141513 EMBED Equation.2 1415
Данное уравнение описывает прямоугольник со сторонами, равными 13 EMBED Equation.2 1415и 13 EMBED Equation.2 1415, если 13 EMBED Equation.2 1415 , а u,t([0,1]. Нормаль к поверхности можно получить, вычислив векторное произведение:
13 EMBED Equation.2 1415.

Преимущества параметрического описания поверхности

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


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

Поверхности описываются функцией вида f(X,Y,Z)=0, где X,Y,Z - координаты из пространства объекта.
Наиболее распространены функции первой и второй степени, существуют аналитические методы для решения уравнений третей и четвертой степени, однако они применяются редко.
AX+BY+CZ+D=0 описывает плоскость

7. ПОТОЧЕЧНОЕ ОПИСАНИЕ ПОВЕРХНОСТЕЙ.

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


8. СПОСОБЫ ПРЕДСТАВЛЕНИЯ МОДЕЛЕЙ ГЕОМЕТРИЧЕСКИХ ОБЪЕКТОВ

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

Структурный элемент как геометрический объект, вообще говоря, можно представить одним из способов: 1) параметрически (функциональная зависимость координат от переменных параметров):
[ Cкачайте файл, чтобы посмотреть картинку ]
2) неявно:
[ Cкачайте файл, чтобы посмотреть картинку ]
где m – размерность пространства (1 – одномерное, 2 – двумерное, 3 – трехмерное);
n – размерность элемента (0 – нульмерный, определяет точку; 1 – одномерный, определяет линию; 2 – определяет поверхность);
[ Cкачайте файл, чтобы посмотреть картинку ]- m-мерная вектор-функция, определяющая форму параметрического элемента;
[ Cкачайте файл, чтобы посмотреть картинку ]- m-мерная вектор-функция, задающая пределы изменения параметров;
[ Cкачайте файл, чтобы посмотреть картинку ]- m-мерная вектор-функция, определяющая неявное уравнение геометрического элемента;
[ Cкачайте файл, чтобы посмотреть картинку ]- m-мерный нулевой вектор.
Как видно, неявное задание геометрического объекта более компактное. Тем не менее параметрическому заданию отдается предпочтение в силу его удобства для решения задач нахождения:
- точки, принадлежащей объекту;
- нормали к кривой или поверхности;
- осуществлять функции тонирования.

Классификация существующих способов представления трехмерных геометрических объектов (моделей):
- простейшие способы;
- граничное задание;
- объемное задание.
К простейшим способам задания трехмерных объектов относятся точечное и проволочное (каркасное) представления.
В точечном представлении объект задан совокупностью вершин, принадлежащих поверхности объекта V = {V1,,Vn}.
Проволочная модель является расширением предыдущего способа. Объекты задаются совокупностью вершин и соединяющих их ребер (отрезков прямой или кривой):
V = {v1,,vn}, Е = {vi, vj [fk(u)]},
где fk(u) – это элемент, используемый, если ребро не является отрезком прямой, соединяющей вершины vi, vj. Как правило, для одной модели fk является вектор-функцией одного и того же типа.
Основное преимущество этих способов - простота представления. Потому они применяются на промежуточных стадиях работы с геометрическим объектом: предварительная визуализация и как исходные модели для синтеза более сложных моделей.
Поверхностное (граничное) задание моделей. Поверхностное представление объекта подразумевает точное математическое описание. Существует два основных способа описания поверхности: явное параметрическое и в виде неявных функций. Общий вид параметрической поверхности следующий:
[ Cкачайте файл, чтобы посмотреть картинку ],
где для параметров u и v, как правило, определяют область определения либо прямоугольного (ua < u < ub, va < v < vb), либо треугольного (ua < u < ub, va < u + v < vb) вида.
Можно выделить два основных типа поверхностных параметрических моделей:
- полигональная модель, которая представлена набором плоских граней;
- патч-модель, или лоскутная модель. В данном случае гранями служат части поверхностей одного типа (билинейные, поверхности Кунса, бикубические поверхности, поверхности Безье, поверхности на основе B-сплайнов).
Поверхностное задание трехмерных объектов является наиболее распространенным, и для него сформировались следующие разновидности топологий:
Список вершин. В этой топологии грань выражается через вершины:
V = {vi } – вершины |V| = n;
F = {(vj1, vj2,, vjk [, fj(u,v)]) } – грань (или патч fj), состоящая из k вершин (k >= 3).
Список ребер. Здесь грань выражена через ребра:
V = {vi } – вершины |V| = n;
Е = {ek = (vi, vj [fk(u)])} – ребро. fk – уравнение линии;
F = {(ej1, ej2,,ejk [fj(u,v)])} – грань (или патч fj), состоящая из k ребер
(k >= 3).
«Крылатое» представление. Эта модель является развитием модели, основанной на информации о ребрах. Отличие состоит в том, что в структуру, описывающую ребра, добавляется информация о взаимном расположении граней. Она включает:
V = {vi } – вершины |V| = n;
E = { ek = (vstart, vend, ncw, nccw, [fk(u)])} – ребро, где vstart – начало ребра, vend – конец ребра, ncw – следующее (предыдущее) ребро в той грани, где ek встречается в положительном направлении обхода вершин, nccw – следующее (предыдущее) ребро в другой грани (где ek встречается в отрицательном направлении);
F = { (first_edge, sign [fj(u,v)]) } – грань (или патч fj), где first_edge – первое ребро в цепочке представления грани, sign – знак (+/-), определяющий, в каком направлении встречается ребро first_edge в данной грани.
«Крылатое» представление является наиболее удобным для реализации важнейших алгоритмов над геометрическими объектами:
- проверка правильности задания;
- алгоритмы для полигональных моделей, связанные с обходом ребер (выделение плоских контуров, упрощение модели путем удаления граней и другие).
Кроме того, не более чем за линейное время можно восстановить любую другую топологию, следуя по цепочкам связей между элементами.
В объемном представлении базовыми являются неявно представленные примитивы. Наиболее известны:
- воксели;
- метаболы;
- сплошные конструктивы.
Основой воксельного представления служит так называемый воксель (или ячейка), представляющий собой кубическую область пространства. Трехмерный объект определяется как массив вокселей. Можно выделить следующие топологии воксельного объекта:
простейшая – набор одинаковых вокселей, аппроксимирующий область пространства, занимаемую объектом;
V = { ({L} x {M} x {N}, {1,0}) } – элементу трехмерного массива вокселей размером L x M x N ставится в соответствие его заполненность (принадлежность объекту);
октальное дерево – рекурсивное разбиение пространства на 8 частей. При этом устанавливается некоторый минимальный размер вокселя. Лист дерева помечается заполненным, если он полностью принадлежит объекту. Таким образом, топология представлена в виде дерева;
PM-октальные деревья – это гибрид октального дерева и полигональной модели для уменьшения погрешности аппроксимации при достижении минимального размера вокселя в рекурсивном разбиении пространства.
Воксельное представление является очень удобным для реализации пространственных алгоритмов и теоретико-множественных операций над объектами (объединение, вычитание, пересечение), но обладает рядом недостатков, которые ограничивают область его применения:
- низкая точность для представления для большинства
объектов;
- большой объем занимаемой памяти.
Метаболы – это шары различного радиуса (r), которые могут взаимодействовать в зависимости от близости и радиуса взаимодействия (R): Сфера = (координаты, радиус, вещество). Взаимодействие выражается через появление дополнительной «материи» между ними. Топология, как таковая, здесь отсутствует.

[ Cкачайте файл, чтобы посмотреть картинку ]
Взаимодействие двух метаболов

При представлении объекта в виде сплошных конструктивов используют два набора:
- базовый набор примитивов (параллелепипед, сфера, конус, цилиндр, тор, призма, пирамида и т.п.), являющихся структурными элементами объекта;
- базовый набор теоретико-множественных операций: унарного аффинного преобразования (T) и бинарных операций вычитания (-), пересечения (*), объединения (+). Данный набор определяет топологию модели, которая реализуется в виде формулы теории множеств.
Например, если мы имеем три примитива A, B, C и формулу (A + T(B)) * C, то это означает, что мы объединяем объект А с трансформацией объекта В и пересекаем его с объектом С. Преимущество данного способа представления заключается в том, что таким образом можно относительно легко моделировать достаточно сложные объекты.



Параметрическое задание геометрических объектов
Как упоминалось ранее, параметрическое задание подразумевает функциональную зависимость координат точек объекта от некоторых параметров. Для линий используется функция одной переменной:
p = F(u) = (Fx(u), Fy(u), Fz(u)),
а для поверхности – функция двух переменных:
p = F(u, v) = (Fx(u, v), Fy(u, v), Fz(u, v)).
Вообще говоря, вид функции F может быть произвольной. Но на практике ограничивают набор функций, которые представляют наиболее часто встречающиеся геометрические объекты, из которых затем составляют более сложные. К ним относятся:
1) плоские линии: прямые, окружности, эллипсы и их отрезки, спирали Архимеда, эквидистанты;
2) пространственные линии: спирали;
3)поверхности: плоские, сферические, цилиндрические, конические, торические, пружинные.
Как видно, их перечень невелик. А потому для моделирования кривых и поверхностей, которые не вписываются в этот набор, используются сплайны и патчи. Наиболее употребляемые виды сплайнов: сплайны Безье, B-сплайны (NURBS). Среди патчей можно выделить: патчи NURBS, Безье-патчи, N-патчи, билинейные патчи, патчи Кунса. Тем не менее большинство пакетов использует эти инструменты для аппроксимации вышеперечисленных кривых и поверхностей и не имеют автоматических средств для аппроксимации пользовательский кривых (параболы, гиперболы, синусоиды) и поверхностей (параболоиды, конусы с образующей заданного вида и др.) с помощью перечисленных сплайнов и патчей.
Основные задачи, которые должны быть при этом решены:
1) гибкость и универсальность определения пользовательских функций (расширяет область применения);
2) высокая скорость вычисления (обеспечивает возможность построения интерактивных приложений);
3) контролируемая точность аппроксимации функций (обеспечивает адекватность оценки полученных результатов);
4) минимизация результата аппроксимации (экономит память);
5) взаимодействие с другими системами;
6) универсализация механизма синтеза геометрических моделей.











9. КРИВЫЕ И ПОВЕРХНОСТИ NURBS

Рассмотрим NURBS-кривые, поскольку это дает базовое понимание В-сплайнов, а затем обобщим их на поверхности.
Неоднородный рациональный B-сплайн, NURBS (англ. Non-uniform rational B-spline, читается «нурбс»)  математическая форма, применяемая в компьютерной графике для генерации и представления кривых и поверхностей. В общем случае В-сплайн состоит из нескольких сплайновых сегментов, каждый из которых определен как набор управляющих точек. Поэтому коэффициенты многочлена будут зависеть только от управляющих точек на рассматриваемом сегменте кривой. Этот эффект называется локальным управлением, поскольку перемещение управляющей точки будет влиять не на все сегменты кривой. На рисунке показано, как управляющие точки влияют на форму кривой.
[ Cкачайте файл, чтобы посмотреть картинку ]
В-сплайн с управляющей точкой Р4 в нескольких положениях


Рассмотрим различные виды В-сплайнов.
В-сплайн интерполирует набор из р+1 управляющей точки [ Cкачайте файл, чтобы посмотреть картинку ], и состоит из р-(n-1) сегментов кривой [ Cкачайте файл, чтобы посмотреть картинку ]. Кроме того, мы можем определить общий параметр t, нежели отдельный для каждого сегмента в интервале от 0 до 1. Таким образом, для каждого сегмента кривой [ Cкачайте файл, чтобы посмотреть картинку ]t будет принадлежать интервалу [ Cкачайте файл, чтобы посмотреть картинку ]. Более того, на каждый сегмент [ Cкачайте файл, чтобы посмотреть картинку ]будет влиять ровно n управляющих точек от [ Cкачайте файл, чтобы посмотреть картинку ]до [ Cкачайте файл, чтобы посмотреть картинку ].
Для каждого i >= n существует узел между [ Cкачайте файл, чтобы посмотреть картинку ]и [ Cкачайте файл, чтобы посмотреть картинку ]для значения ti параметра t. Для В-сплайна существует p-n-2 узлов. Отсюда исходит понятие однородности: если узлы равномерно распределены на интервале от 0 до 1, т.е. [ Cкачайте файл, чтобы посмотреть картинку ], то говорят, что В-сплайн равномерный. В противном случае – неравномерный. Стоит также обратить внимание на факт, что эти определения касаются узлов, возрастающих по значению, т.е. [ Cкачайте файл, чтобы посмотреть картинку ].
Теперь предположим, что координаты (x, y, z) точки кривой представлены в виде рациональной дроби. В этом случае говорят, что В-сплайн рациональный, иначе – нерациональный:
[ Cкачайте файл, чтобы посмотреть картинку ]
Подводя итог, можно указать на существование 4 типов В-сплайнов:
- равномерные нерациональные;
- неравномерные нерациональные;
- равномерные рациональные;
- неравномерные рациональные.

Последний тип и представляет собой NURBS как наиболее общий случай В-сплайнов.
Теперь рассмотрим математическое описание NURBS. NURBS кривая и поверхность соответственно выражаются следующими двумя параметрическими уравнениями:
[ Cкачайте файл, чтобы посмотреть картинку ]
[ Cкачайте файл, чтобы посмотреть картинку ]
где Рi - управляющая точка, Wi - ассоциированный с ней вес и [ Cкачайте файл, чтобы посмотреть картинку ]- базовая функция, определенная рекурсивно следующим образом:
[ Cкачайте файл, чтобы посмотреть картинку ]
Из формул видно, что точка кривой (поверхности) является средневзвешенной управляющих точек, причем удельный вес каждой точки зависит от одного (двух – для поверхности) параметра.
Следует обратить внимание, что сплайны Безье – это NURBS, у которого веса всех управляющих точек равны 1 и который состоит из 1-го сплайнового сегмента.
Таким образом, NURBS имеет все преимущества Безье-сплайнов, а также следующие:
- возможность локального управления кривизной сплайна;
- наличие весов для управляющих точек, делающих сплайны еще более гибкими.
Единственный недостаток – это несколько более сложное математическое описание NURBS по сравнению с Безье сплайнами, однако порядок этого усложнения не высок.


10. СТРУКТУРА ТВЕРДОТЕЛЬНОЙ МОДЕЛИ

Выбор структуры, или топологии, твердотельной модели определяется способом дальнейшего использования синтезируемой модели. Для внешнего использования топология определяется форматом файла, но, как правило, это одна из реберных поверхностных модели. Для внутреннего использования у) наиболее удобна топология "крылатого" представления (winged-edge representation).
Структурными элементами гранично-заданных моделей являются вершины v, ребра e и грани f. Поскольку для представления поверхности мы будем использовать NURBS поверхности, то, как показывает практика целесообразно использовать обрезанные патчи как показано на рисунке.
[ Cкачайте файл, чтобы посмотреть картинку ]
Усеченный патч

Усекаемая часть патча задается цепочкой плоских кривых (c0-c7), заданный в его области определения (по параметрам s, t). Эти цепочки образуют циклы, направление обхода (по или против часовой стрелки) которых определяет какая часть патча остается, а какая отсекается. В некоторых системах указанные плоские кривые хранятся в двух видах: как алгебраическая и как параметрическая сплайновая кривая. Алгебраическая кривая определяет точное ее уравнение (прямая, дуга), а параметрическая – определяет аппроксимацию этой кривой для единообразия при выполнении операций с моделью. В данной работе аналогом алгебраической кривой является произвольная символьная функция библиотеки. Поэтому двойственность представления будет иметь смысл только для внутреннего использования.
Во многих системах кривые являются линиями пересечения патчей, а вершины – точками пересечения кривых. Так, например, на рисунке изображена твердотельная модель цилиндра. Патчи боковой его грани являются полными (без усечения), а верхняя и нижняя грани усеченны цепочками е8-е7-е6-c5 и е1-е2-е3-е4 соответственно.
[ Cкачайте файл, чтобы посмотреть картинку ]
Граничное представление твердотельной модели цилиндра

В табл. 1 и 2 для данной модели цилиндра приведены вершинное и "крылатое" представления.
Табл. 1
Твердотельная модель цилиндра в вершинном представлении

vertex
coordinates
edge
vertices
face
edges

v1
x1, y1, z1
e1
v1, v2
f1
e4, e9, e8, e10

v2
x2, y2, z2
e2
v2, v3
f2
e3, e12, e7, e9

v3
x3, y3, z3
e3
v3, v4
f3
e2, e11, e6, e12

v4
x4, y4, z4
e4
v1, v4
f4
e1, e10, e5, e11

v5
x5, y5, z5
e5
v6, v5
f5
e1, e2, e3, e4

v6
x6, y6, z6
e6
v7, v6
f6
e8, e7, e6, e5

v7
x7, y7, z7
e7
v8, v7
 
 

v8
x8, y8, z8
e8
v5, v8
 
 

 
 
e9
v4, v8
 
 

 
 
e10
v1, v5
 
 

 
 
e11
v2, v6
 
 

 
 
e12
v3, v7
 
 


Табл. 2
Твердотельная модель цилиндра в "крылатом" представлении

edge
vstart
vend
ncw
nccw
vertex
coordinates
face
first edge
sign

v1
v1
v2
e2
e10
v1
x1, y1, z1
f1
e8
-

v2
v2
v3
e3
e11
v2
x2, y2, z2
f2
e3
-

v3
v3
v4
e4
e12
v3
x3, y3, z3
f3
e2
-

v4
v1
v4
e1
e9
v4
x4, y4, z4
f4
e1
-

v5
v6
v5
e8
e11
v5
x5, y5, z5
f5
e1
+

v6
v7
v6
e5
e12
v6
x6, y6, z6
f6
e5
+

v7
v8
v7
e6
e9
v7
x7, y7, z7
 
 
 

v8
v5
v8
e7
e10
v8
x8, y8, z8
 
 
 

v9
v4
v8
e8
e3
 
 
 
 
 

v10
v1
v5
e5
e4
 
 
 
 
 

v11
v2
v6
e6
e1
 
 
 
 
 

v12
v3
v7
e7
e2
 
 
 
 
 



11. СИНТЕЗ ТВЕРДОГО ТЕЛА ПО ПРОЦЕДУРНОМУ ОПИСАНИЮ

В современных системах геометрического моделирования сформировались следующие способы синтеза твердотельных моделей:
за основу берется конкретный примитив (параллелепипед, цилиндр, шар);
из других твердотельных моделей (операции булевых сочетаний, модификация граней, фаски) и их частей (выдавливание, вращение грани);
из кривых с помощью процедурных методов.
Целесообразно использовать только последний способ. Наиболее распространенными процедурными методами синтеза являются:
выдавливание плоской кривой по направлению;
вращение плоской кривой вокруг оси;
лофтинг интерполяция поверхности между плоскими замкнутыми кривыми (профили, сечения, образующие);
протягивание плоской кривой (профиль, или образующая) вдоль плоской или пространственной кривой (путь, или направляющая).
Рассмотрим принципы синтеза твердотельных моделей на примере двух первых, наиболее простых методах.
В каждом случае на кривые, участвующие в синтезе, налагаются определенные ограничения во избежание получения топологически некорректных многосложных моделей.
Тело выдавливания, как видно из рисунка, образуется из двух усеченных плоских патчей (f1 и f2) и неусеченных патчей, составляющих боковую поверхность тела. Отсюда очевидны два необходимых условия:
образующий контур c (цепочка кривых) не должен иметь самопересечений;
образующий контур должен быть замкнут;
направление выдавливания d не должно быть параллельно плоскости образующего контура c.

[ Cкачайте файл, чтобы посмотреть картинку ]
Тело выдавливания

Тело вращения можно построить двумя способами: путем полного обращения образующей вокруг оси и неполного обращения. В первом случае боковая поверхность может быть представлена с помощью одного полного (неусеченного) патча и двух (верхний и нижний) усеченных патчей. Во втором случае добавляется еще два усеченных патча f3 и f4.
[ Cкачайте файл, чтобы посмотреть картинку ]
Тела вращения: а – полный оборот, б – неполный оборот

Поскольку при построении будут получены конические кривые (с1) и поверхности (f2), то в целях точности целесообразно их построения осуществлять по специальным алгоритмам с использованием весов NURBS.
Для соблюдения правильности топологии должны выполняться следующие условия:
- образующая не должна пересекать ось вращения;
- образующая не должна пересекать саму себя.
Пример использования произвольной параметрической поверхности для построения твердотельной модели проиллюстрирован на рисунке.
[ Cкачайте файл, чтобы посмотреть картинку ]
Твердое тело как параллелепипед, ограниченный параметрической поверхностью

Здесь твердотельная модель состоит из:
- неусеченной поверхности f1 как NURBS-аппроксимация графика функции двух переменных;
- плоской прямоугольной неусеченной грани f2;
- четырех боковых неусеченных граней f3-f6.




Основные формы представления 3D моделей

Каркасные

Набор ребер

Поверхностные
Набор ограничивающих поверхностей

Сплошные тела
набор базовых геометрических элементов

Использование преобразований

По заданным отношениям (частный)


По заданным отношениям (общий)



Методы построения 3D моделей



Рисунок 77Рисунок 78Root EntryEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation Native

Приложенные файлы

  • doc 8864404
    Размер файла: 379 kB Загрузок: 0

Добавить комментарий