ИСМ-06-2:

назад

5. а) Математический аппарат САПР (виды кривых, поверхностей)

Математический аппарат решает ряд задач. Это непосредственное представление кривых и поверхностей, пересчет координат при изменении параметров (это выполняет т.н. параметризатор), а также решение систем уравнений для нахождения пересечения поверхностей и кривых.

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

Уравнения кривых можно разделить на два основных типа [1]. К первому типу относятся параметрические уравнения, описывающие связь координат x, y и z точки кривой с параметром. Ко второму типу относят непараметрические уравнения, связывающие x, y и z некоторой функцией.

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

, при   

Здесь a0 , a1 , a2 , a3 — некоторые коэффициенты параметрического уравнения, то есть векторы-строки с компонентами x, y и z.

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



Координаты точек на кривой описываются вектором (x(t),y(t),z(t)), а три производные задают координаты соответствующего касательного вектора в точке. Например, для x:



Остается найти только 4 коэффициента (они находятся в зависимости от типа сплайна и начальных условий в матричной форме).

· Конические сечения — кривые или части кривых, получаемые сечением конуса плоскостью. В зависимости от положения и ориентации секущей плоскости по отношению к конусу кривая может быть окружностью, эллипсом, параболой или гиперболой.

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



Эти функции называют функциями сопряжения.

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

Если функцию сопряжения применить к вершинам многоугольника, получается уравнение кривой Безье:


, где Pi – радиус-вектор i-вершины. Вершины многоугольника называются задающими, как и сам многоугольник. Степень кривой Безье определяется количеством задающих точек.

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

· B-сплайн. Уравнение записывается в следующем виде:  , где 



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

· Неоднородный рациональный B-сплайн NURBS. Задающие точки рационального B-сплайна указываются в форме, то есть с использованием однородных координат. Функции сопряжения применяются именно к этим однородным координатам. Координаты точки на кривой NURBS получаются по формулам:



В векторном виде уравнение NURBS может быть записано следующим образом:

, где Pi – вектор (xi, yi, zi), объединяющий координаты i-й задающей точки в трехмерном пространстве, как для нерациональных B-сплайнов.

Интерполяционные кривые. Кривая проходит через заданные точки.


Представление поверхностей

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

Параметрическое уравнение сферы: ,
 где  

На сегодняшний день известны и имеют математическое описание различные способы представления поверхностей трехмерных объектов.

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

2) билинейная поверхность строится по четырем точкам и описывается линейными уравнениями с параметрами u и v, эти точки оказываются в углах построенной поверхности;

3) лоскут Куна (Сопряжение углов дает билинейную поверхность, сопряжение граничных кривых произвольной формы дает поверхность, называемую лоскутом Куна);

4) бикубический лоскут – это поверхность, определяемая полиномиальным уравнением третьего порядка по параметрам u и v;

5) поверхность Безье получается, если задающие точки кривой Безье заменить кривыми Безье (задающий многогранник);

6) B-сплайновая поверхность (аналогично поверхности Безье);

7) поверхность NURBS (перейдя к однородным координатам задающих точек, из уравнения B-сплайна получается уравнение NURBS-кривой);

8) интерполяционная поверхность (поверхность, проходящая через заданные точки);

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

Пересечение поверхностей


Рассматривая алгоритмы для расчетов кривых пересечения поверхностей, заданных параметрическими уравнениями, их можно разделить на два класса. Методы первого класса состоят в численном решении нелинейного уравнения:

(4),

где P(u,v) и Q(s,t) – это параметрические уравнения пересекающихся поверхностей. Это уравнение (4) распадается на три скалярных уравнения с четырьмя неизвестными. Решение системы требует присвоения произвольного значения одному из параметров. Недостаток метода: при некоторых условиях задаваемого параметра некоторые кривые могут быть потеряны полностью, а некоторые – частично.

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


[редактировать]

назад

© ism-06-2.ru