Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры 1 шпоры.docx
Скачиваний:
21
Добавлен:
22.09.2019
Размер:
1.52 Mб
Скачать

3.Двумерные алгоритмы Понятие о рекурсии. Понятие о фракталах. Сглаживание кривых.

Рекурсия:

В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия). Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.

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

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

СГЛАЖИВАНИЕ КРИВЫХ

В автоматизированном проектировании и управлении станками часто требуется построить гладкую кривую по набору заданных точек. Ограничимся пока анализом плоских кривых. Из нескольких возможных способов построения гладких кривых выберем форму В-сплайна. Из з аданной последовательности точек выбираются две соседние точки и между ними строится кривая кубического полинома на основе позиций четырех точек – двух уже упомянутых и двух соседних с ними точек. В-сплайн обеспечивает получение более гладких кривых, чем другие способы сглаживания за счет того, что получаемые кривые не проходят точно через заданные точки. Математическая гладкость кривых выражается в терминах непрерывности параметрических представлений  x(t) и y(t)  и их производных. К типа В-сплайна обладают свойством непрерывности даже вторых производных  x’’(t) и y’’(t) в точке стыковки двух соседних сегментов кривой. На рисунке показано, как выглядят кривые , если нулевая, первая или вторая производная не непрерывны в некоторой точке .

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

  Рассмотрим этот метод в работе. Будем использовать параметрическое представление кривых. Любая точка части кривой между двумя заданными последовательными точками P и Q будет иметь координаты x(t) и y(t), где t увеличивается от 0 до 1, если отслеживается часть кривой от точки P до точки Q. Можно считать, что t – это время. Если имеются заданные точки

 P0 (x0, y0),P1(x1 y1),…,Pn(xn yn),

То часть кривой В-сплайна между двумя последовательными точками Pi  и Pi+1 получается путем вычисления значений функций x(t) и y(t) для изменения t  от 0 до 1

    x(t) = {(a3t + a2) t + a1}t +a0

     y(t) = {(b3t + b2) t + b1}t +b0

Эти уравнения содержат следующие коэффициенты:

a3 = (- xi-1 + 3 xi – 3 xi+1 + xi+2)/6

a2 = (xi-1 – 2 xi+ xi+1)/2

a1 = (- xi-1 + xi+1)/2

a0 = (xi-1 + 4 xi + xi+1)/ 6,

  а коэффициенты b1, b2, b3, b4 вычисляются по значениям yi-1, yi, yi+1/ yi+2 аналогичным образом..

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