ИСМ-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