Алгоритм Брезенхема

Использование алгоритма Брезенхема растровыми устройствами с ЭЛТ. Выбор оптимальных растровых координат для представления отрезка. Изучение основной идеи алгоритма Брезенхема. Вычисление погрешности при представлении отрезка дискретными пикселами.

Рубрика Математика
Вид реферат
Язык русский
Дата добавления 19.05.2014
Размер файла 650,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство высшего образования РФ

ФГАОУ ВПО «Северо-Восточный Федеральный университет им. М.К. Амосова»

Горный факультет

Кафедра ОГР

Реферат

Алгоритм Брезенхема

Выполнил:

ст. гр. ОГР-11

Николаев В.В.

Проверил:

Дмитриев А.А.

Якутск 2014 г.

1. Алгоритм Brezenhema

алгоритм брезенхем дискретный пиксел

Хотя алгоритм Брезенхема был первоначально разработан для цифровых графопостроителей, однако он в той же степени подходит для использования растровыми устройствами с ЭЛТ. Алгоритм выбирает оптимальные растровые координаты для представления отрезка. В процессе работы одна из координат - либо x, либо y (в зависимости от углового коэффициента) - изменяется на единицу. Изменение другой координаты (на 0 или 1) в зависимости от расстояния между действительным положением отрезка и ближайших координат сетки. Такое расстояние мы назовем погрешностью.

Алгоритм построен так, что нужно проверить лишь знак этой погрешности. На рис. 1 это иллюстрируется для отрезка в первом октанте, т.е. для отрезка с угловым коэффициентом, лежащим в диапазоне от 0 до 1. Из рисунка можно заметить, если угловой коэффициент отрезка с точки (0,0) больше, чем 1/2, то пересечение с прямой x = 1 будет расположен ближе к прямой y = 1, чем к прямой y = 0. Следовательно, точка растра (1,1) лучше аппроксимирует ход отрезка, чем точка (1,0). Если угловой коэффициент меньше 1/2, то наоборот, для углового коэффициента, равного 1/2, нет лучшего выбора. В данном случае алгоритм выбирает точку (1,1).

Рис. 1. Основная идея алгоритма Брезенхема

Но не все отрезки проходят через точки растра. Подобная ситуация иллюстрируется рис. 2, где отрезок с тангенсом угла наклона 3/8 сначала проходит через точку растра (0,0) и последовательно пересекает три пиксела. Также иллюстрируется вычисления погрешности при представлении отрезка дискретными пикселами.

Рис. 2. График погрешности в алгоритме Брезенхема

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

е = е + м

где m - угловой коэффициент. В нашем случае при начальном значении погрешности Ѕ

е = -1 / 2 +3 / 8 = -1 / 8

Так как е отрицательное, отрезок пройдет ниже середины пиксела. Итак, пиксел на том же горизонтальном уровне лучше аппроксимирует положение отрезка, поэтому в не увеличивается. Аналогично вычисляем погрешность e = 1/8 +3 / 8 = 1/4 в следующей точке растра (2,0). Теперь е положительное, значит, отрезок пройдет выше средней точки. Растровый элемент (2,1) с последующей по величине координатой в лучшее аппроксимирует положение отрезка. Итак, в увеличивается на 1. Прежде чем рассматривать следующий пиксел, необходимо откорректировать ошибку вычитанием из нее 1. Имеем e = 1/4-1 = -3 / 4. Заметим, что пересечение вертикальной прямой x = 2 с заданным отрезком лежит на 1/4 ниже прямой у = 1. Если же перенести отрезок 1/2 вниз, мы получим именно величину 3/4. Продолжение вычислений для следующего пиксела дает e = 3/4 +3 / 8 = -3 / 8.

Так как е отрицательное, то y не увеличивается. Из всего сказанного следует, что погрешность - это интервал, отсекается по оси y рассмотренным отрезком в каждом растровом элементе (относительно -1 / 2).

Приведем алгоритм Брезенхема для первого октанта, т.е. для случая 0 Ј Dy Ј Dx.

Алгоритм Брезенхема разложения в растр отрезка для первого октанта предполагается, что концы отрезка (x1, y1) и (x2, y2) не совпадают.

Integer - функция преобразования в целое

х, у, Dx, Dy - целые

е - настоящее

инициализация переменных

х = x1

у = y 1

Dx = x2-x1

Dy = y2-y1

Инициализация с поправкой на половину пиксела

е = Dy/Dx-1/2

начало основного цикла

для г = 1, чтобы Dx

участок (х, у)

в то время как (е => 0)

у = у +1

е = е-1

конец в то время как

х = х +1

е = е + Dy / Dx

Затем я

отделка

Блок-схема алгоритма на рис. 3. Пример приведен ниже.

Пример 1. Алгоритм Брезенхема.

Рассмотрим отрезок, проведенный из точки (0,0) в точку (5,5). Расписание отрезка в растр по алгоритму Брезенхема приводит к такому результату:

начальные установки

х = 0

у = 0

Dx = 5

Два = 5

= 1-1/2 = 1/2

Результаты работы пошагового цикла

я

Участок

и

х

и

1/2

0

0

1

(0,0)

-1 / 2

0

1

1/2

1

1

2

(1,1)

-1 / 2

1

2

1/2

2

2

3

(2,2)

-1 / 2

2

3

1/2

3

3

4

(3,3)

-1 / 2

3

4

1/2

4

4

5

(4,4)

-1 / 2

5

5

1/2

5

5

Рис. 3. Алгоритмы Блок-схема Brezenhema

Результат показан на рис. 4 совпадает с ожидаемым. Заметим, что точка растра с координатами (5,5) не активизирована. Эту точку можно активировать путем изменения цикла for-next на 0 to Dx. Активация точки (0,0) можно устранить, если поставить оператор Plot непосредственно перед строкой next i.

Рис. 4. Результат работы алгоритма Брезенхема в первом октанте

2. Общий алгоритм Брезенхема

Чтобы реализация алгоритма Брезенхема была полной необходимо рассмотреть отрезки во всех октантах. Модификацию легко сделать, учитывая в алгоритме номер квадранта, в котором лежит отрезок и его угловой коэффициент. Когда абсолютная величина углового коэффициента больше 1, в постоянно меняется на единицу, а критерий погрешности Брезенхема используется для принятия решения об изменении величины x. Выбор постоянно изменяемой координаты (на +1 или -1) зависит от квадранта (рис. 5). Общий алгоритм может быть оформлен в следующем виде:

Обобщенный целочисленный алгоритм Брезенхема квадрантов предполагается, что концы отрезка (x1, y1) и (x2, y2) не совпадают все переменные считаются целыми Sign - функция, возвращающая -1, 0, 1 для отрицательного, нулевого и положительного аргумента соответственно инициализация переменных

х = x1

у = y 1

Dx = абс (x2-x1)

Dy = абс (у2-у1)

s1 = Вход (x2-x1)

s2 = Вход (у2-у1)

обмен значений Dx и Dy в зависимости от углового коэффициента наклона отрезка

если Dy <Dx затем

Temp = Dx

Dx = Dy

Dy = Temp

Обмен = 1

еще

Обмен = 0

конец, если

инициализация e с поправкой на половину пиксела

е = 2 * Dy-DX

основной цикл

для г = 1, чтобы Dx

Земля (х, у)

в то время как (е => 0)

если Обмен = 1, то

х = х + s1

еще

у = у + s2

конец, если

е = е-2 * DX

конец в то время как

если Обмін = 1, то

у = у + s2

еще

х = х + s1

конец, если

е = е +2 * Dy

Затем я

отделка

Рис. 5. Рассмотрение случаев для обобщенного алгоритма Брезенхема

Для иллюстрации рассмотрим отрезок с точки (0, 0) в точку (-8, -4).

начальные установки

х = 0

у = 0

Dx = 8

Два = 4

s1 = -1

s2 = -1

Обмен = 0

е = 0

Результаты работы пошагового цикла

я

Участок

это

х

и

0

0

0

1

(0,0)

-16

0

-1

-8

-1

-1

2

(-1, - 1)

0

-2

-1

3

(-2, - 1)

-16

-2

-2

-8

-3

-2

4

(-3,2)

0

-4

-2

5

(-4,2)

-16

-4

-3

-8

-5

-3

6

(-5, - 3)

0

-6

-3

7

(-6, - 3)

-16

-6

-4

-8

-7

-4

8

(-7, - 4)

0

-8

-4

Рис. 6. Результат работы обобщенного алгоритма Брезенхема в третьем квадранте

На рис. 6 показан результат. Сравнивая рис. 3 видим, что результаты работы двух алгоритмов отличаются.

3. Алгоритм Брезенхема для генерации круга

В растр нужно разлагать не только линейные, но и другие, более сложные функции. Разложению конических сечений, т.е. окружностей, эллипсов, парабол, гипербол, было посвящено значительное число работ. Наибольшее внимание, разумеется, уделено кругу. Один из наиболее эффективных и простых для понимания алгоритмов генерации окружности принадлежит Брезенхему. Для начала заметим, что необходимо сгенерировать только одну восьмую часть окружности. Другие его части могут быть получены последовательными отражениями, как это показано на рис. 5.1. Если сгенерированный первый октант (от 0 до 45 ° против часовой стрелки), то второй октант можно получить зеркальным отражением относительно прямой y = х, что дает в совокупности первый квадрант. Первый квадрант отражается относительно прямой х = 0 для получения соответствующей части окружности во втором квадранте. Верхнее полуокружность отражается относительно прямой y = 0 для завершения построения. На рис. 7 приведены двумерные матрицы соответствующих преобразований.

Рис. 7. Генерация полного круга с дуги в первом октанте

Для вывода алгоритма рассмотрим первую четверть окружности с центром в начале координат. Заметим, что если работа алгоритма начинается в точке х = 0, у = R, то при генерации окружности по часовой стрелке в первом квадранте в является монотонно убывающей функцией аргумента х. Аналогично, если исходной точкой является у = 0, х = R, то при генерации окружности против часовой стрелки х будет монотонно убывающей функцией аргумента у. В нашем случае выбирается генерация по часовой стрелке с началом в точке х = 0, у = R. Предполагается, что центр круга и начальная точка находятся точно в точках растра.

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

мH = | (хя +1) 2 + (уя ) 2 -R2 |

мD = | (хя +1) 2 + (уя -1) 2 -R2 |

мV = | (хя ) 2 + (уя -1) 2 -R2 |

Разница между квадратами расстояний от центра окружности до диагонального пиксела (Xи +1, вi -1) и от центра до точки на окружности R2 равна

Dя = (хя +1) 2 + (уя -1)2 -R2

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

При Dи <0 диагональная точка (Xи +1, вi - 1) находится внутри реального круга. Ясно, что в этой ситуации следует выбрать либо пиксел (Xи +1, вi) , т.е. MH, или пиксел (Xи +1, вi - 1), т.е. MD. Для этого сначала рассмотрим случай 1 и проверим разность квадратов расстояний от окружности до пикселов в горизонтальном и диагональном направлениях:

г = | (хя +1) 2 + (уя )2 -R2 | - | (хя +1)2 + (уя -1)2 -R2 |

При d <0 расстояние от окружности до диагонального пиксела больше, чем до горизонтального. Напротив, если d> 0, расстояние до горизонтального пиксела больше. Таким образом,

при d <= 0 выбираем MH (Xи +1, вi)

при d> 0 выбираем MD (Xи +1, вi -1)

При d = 0, когда расстояние от круга до обоих пикселов одинакова, выбираем горизонтальный шаг.

Количество вычислений, необходимых для оценки величины d, можно сократить, если заметить, что в случае 1

I +1)2 + (уI )2 -R2 > = 0

я +1) 2 + (уя -1)2 -R2 <0

потому что диагональный пиксел (Xи +1, вi - 1) всегда лежит внутри круга, а горизонтальный (Xи +1, вi ) - вне его. Таким образом, d можно вычислить по формуле

D = (хI +1) 2 + (уI ) 2 -R2 + (хI +1)2 + (уI -1)2 -R2

Дополнение до полного квадрата члена (Yи)2 с помощью сложения и вычитания - 2Yи + 1 дает

г = 2 [(хя +1)2 + (уя -1)2 -R2] +2уя - 1

В квадратных скобках стоит по определению Dи и его подстановка

г = 2 (Dя + уя) - 1

значительно упрощает выражение.

Рассмотрим случай 2, заметим, что здесь должен быть избранным горизонтальный пиксел (Xи +1, вi), так как в является монотонно убывающей функцией. Проверка компонентов d показывает, что

I +1)2 + (уI) 2 -R2 <0

я +1)2 + (уя -1)2 -R2 <0

поскольку в случае 2 горизонтальный (Xи +1, вi ) и диагональный (Xи +1, вi -1) пикселы лежат внутри круга. Итак, d <0, и при использовании того же самого критерия, что и в случае 1, выбирается пиксел (Xи+1, вi).

Если Dи > 0, то диагональная точка (Xи +1, вi -1) находится вне круга, то есть это случаи 3 и 4. В данной ситуации ясно, что нужно выбрать пиксел (Xи +1, вi -1), или (Xи, вi -1). Аналогично рассмотрения предыдущего случая критерий выбора можно получить, рассматривая сначала случай 3 и проверяя разность между квадратами расстояний от окружности до диагонального M D и вертикального M V пикселей, то есть

д ' = | (хя +1)2 + (уя -1)2 -R2 | - | (хя)2 + (уя -1)2 -R2 |.

При d' < 0 расстояние от окружности до вертикального пиксела (Xи, вi -1) больше и следует выбрать диагональный шаг к пиксела (Xи +1, вi -1). Напротив, в случае d' > 0 расстояние от окружности до диагонального пиксела больше и следует выбрать вертикальное движение к пиксела (Xи, вi -1). Таким образом, при d' <= 0 выбираем MD (Xи +1, вi -1), при d' > 0 выбираем MV (Xи, вi -1).

Здесь для случая d ' = 0, т.е. когда расстояния равны, выбран диагональный шаг.

Проверка компонентов d ' показывает, что

я)2 + (уя -1)2 -R2 > = 0

я +1)2 + (уя -1)2 -R2 <0

поскольку для случая 3 диагональный пиксел (Xи +1, вi -1) находится вне круга, тогда как вертикальный пиксел (Xи, вi -1) лежит внутри круга. Это позволяет записать d ' в виде

д ' = (хя +1)2 + (уя -1)2 -R2 + (хя)2 + (уя -1)2 -R2

Дополнение до полного квадрата члена (Xи)2 с помощью добавления и вычитания 2xи +1 дает

д ' = 2 [(хя +1)2 + (уя -1)2 -R2 ]-2xя -1

Использование определения D и приводит выражение к виду

д' = 2 (Dя - хя ) - 1

Теперь, рассматривая случай 4, снова заметим, что следует выбрать вертикальный пиксел (Xи, вi-1), так как y является монотонно убывающей функцией от х.

Проверка компонентов d' для случая 4 показывает, что

я +1)2 + (уя -1)2 -R2 > 0

я)2 + (уя -1)2 -R2 > 0

Поскольку оба пиксела находятся вне круга. Итак, d' > 0 и при использовании критерия, разработанного для случая 3, происходит верный выбор MV.

Осталось проверить только случай 5, который встречается, когда диагональный пиксел (Xи +1, вi -1) лежит на окружности, то есть Dи = 0. Проверка компонентов d показывает, что

я +1) 2 + (уя)2 -R2 > 0

я 1)2 + (уя -1)2 -R2 = 0

Итак, d> 0 и выбирается диагональный пиксел (Xи +1, вi -1). Аналогичным образом оцениваем компоненты d':

я 1)2 + (уя -1)2 -R2 = 0

я +1)2 + (уя -1)2 -R2 <0

и d' <0, что является условием выбора правильного диагонального шага к (Xи +1, вi -1). Таким образом, случай Dи = 0 подлежит тому же критерию, что и случай Dи <0 или Dи > 0. Подведем итог полученных результатов:

Dя <0

d <= 0 вибираем пиксел (Xи +1, вi ) - MH

d > 0 выбираем пиксел (Xи +1, вi -1) - MD

Dя > 0

d' <= 0 выбираем пиксел (Xи +1, вi -1) - MD

d' > 0 выбираем пиксел (Xи, вi -1) - MV

Dи = 0 выбираем пиксел (Xи +1, вi -1) - MD

Легко разработать простые рекуррентные соотношения для реализации пошагового алгоритма. Сначала рассмотрим горизонтальный шаг M H к пиксела (X и +1, в i). Обозначим это новое положение пиксела как (i +1). Тогда координаты нового пиксела и значение D и уровне

хя +1 = хя +1

уя +1 = уя

Dя +1 = (хя +1 +1)2 + (уI +1 -1)2 -R2 = DIя +1 +1

Аналогично координаты нового пиксела и значение Dи для шага MD к пиксела (Xи +1, вi -1) таковы:

хя +1 = хя +1

уя +1 = уя -1

Dя +1 = Dя +2 хя +1 -2yя +1 +2

То же самое для шага MV до (Xи, вi -1)

хя +1 = хя

уя +1 = уя -1

Dя 1 = Dя -2yя +1 +1

Реализация алгоритма Брезенхема на псевдокоде для круга приводится ниже.

Пошаговый алгоритм Брезенхема для генерации окружности в первом квадранте все переменные - целые инициализация переменных

хя = 0

уя = R

Dя = 2 (1-R)

Предел = 0

1 земля (хя, уя)

если уя <= Межа затем 4

Выделение случая 1 или 2, 4 или 5, или 3

если Dя < 0 затем 2

если Dя > 0, то 3

если Dя = 0, то 20

определение случая 1 или 2

2d = 2Dя 2 уI -1

если г <= 0, то 10

если D> 0, то 20

определение случая 4 или 5

3d = 2Dя 2 хI - 1

если г <= 0, то 20

если г > 0, то 30

выполнения шагов

шаг до m

10хя = хя +1

Dя = Dя 2 хI 1

gо 1

шаг m

20х я = хя +1

уя = уя +1

Dя = Dя 2 хя -2уя +2

gо 1

4 отделка

Переменная границы устанавливается в ноль для окончания работы алгоритма на горизонтальной оси, в результате генерируется круг в первом квадранте. Если необходим только один из октантов, то второй октант можно получить с помощью установки Предел = Integer (R / sqrt (2)), а первый - за счет отражения второго октанта относительно прямой у = х (рис. 6). Блок-схема алгоритма показана на рис. 8.

Рис. 8. Блок-схема пошагового алгоритма Брезенхема для генерации окружности в первом квадранте

Рассмотрим окружность радиусом 8 с центром в начале координат. Генерируется только первый квадрант.

х = 0

у = 8

2 (1-8) = -14

Предел = 0

Пошаговое выполнение основного цикла

1 земля (0,8)

yi> Предел (продолжать)

Ди <0 перейти к этапу 2

2D = 2 (-14) +2 (8) - 1 = -13 <0 К 10

10x = 0 +1 = 1

Ди = -14 +2 +1 = -11

перейдите к 1

1 земля (1,8)

yi> Предел (продолжать)

Ди <0 перейти к этапу 2

2D = 2 (-11) +2 (8) - 1 = -7 <0 К 10

10x = 1 +1 = 1

= -11 До +2 (2) +1 = -6

перейдите к 1

1 земля (2,8)

Результаты всех последовательных проходов алгоритма сведены в таблицу. Список точек выбранных алгоритмов состоит из (0,8), (1,8), (2,8), (3,7), (4,7), (5,6), (6,5), (7 , 4), (7,3), (8,2), (8,1), (8,0).

Участок

Из

г

д '

х

и

-14

0

8

(0,8)

-11

-13

0

8

(1,8)

-6

-7

2

8

(2,8)

-12

3

3

7

(3,7)

-3

11

4

7

(4,7)

1

5

6

5

(6,5)

9

-11

7

4

(7,4)

18

-7

8

2

(8,2)

17

19

8

1

(8,1)

18

17

8

0

(8,0)

Результаты показаны на рис. 9 вместе с реальным кругом. Алгоритм легко обобщается для других квадрантов или дуг окружностей.

Рис. 9. Результаты работы пошагового алгоритма Брезенхема генерации круга

Размещено на Allbest.ru

...

Подобные документы

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

    реферат [30,0 K], добавлен 28.10.2010

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

    курсовая работа [573,7 K], добавлен 27.08.2012

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

    творческая работа [936,4 K], добавлен 04.09.2010

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

    презентация [71,5 K], добавлен 02.12.2010

  • Остовное дерево связного неориентированного графа. Алгоритм создания остовного дерева, его нахождение. Сущность и главные особенности алгоритма Крускала. Порядок построения алгоритма Прима, вершина наименьшего веса. Промежуточная структура данных.

    презентация [140,8 K], добавлен 16.09.2013

  • Приближенные значения корней. Метод дихотомии (или деление отрезка пополам), простой итерации и Ньютона. Метод деления отрезка пополам для решения уравнения. Исследование сходимости метода Ньютона. Построение нескольких последовательных приближений.

    лабораторная работа [151,3 K], добавлен 15.07.2009

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

    курсовая работа [362,9 K], добавлен 24.11.2010

  • Основные правила расчета значений дифференциального уравнения. Изучение выполнения оценки погрешности вычислений, осуществления аппроксимации решений. Разработка алгоритма и написание соответствующей программы. Построение интерполяционного многочлена.

    курсовая работа [212,6 K], добавлен 11.12.2013

  • Методы решения задачи коммивояжера. Математическая модель задачи коммивояжера. Алгоритм Литтла для нахождения минимального гамильтонова контура для графа с n вершинами. Решение задачи коммивояжера с помощью алгоритма Крускала и "деревянного" алгоритма.

    курсовая работа [118,7 K], добавлен 30.04.2011

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

    презентация [222,5 K], добавлен 15.09.2010

  • Теоретические основы метода отсечения, его назначение и функции в решении задач целочисленного линейного программирования. Сущность и практическая реализация первого и второго алгоритма Гомори. Применение алгоритма Дальтона, Ллевелина и Данцига.

    курсовая работа [208,1 K], добавлен 12.10.2009

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

    реферат [361,6 K], добавлен 07.05.2009

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

    контрольная работа [404,7 K], добавлен 04.05.2015

  • Расширенный алгоритм Евклида, его использование для нахождения наибольшего общего делителя натуральных чисел посредством остатков от деления. Математическая проблема календаря. Евклидовы кольца - аналоги чисел Фибоначчи в кольце многочленов, их свойства.

    реферат [571,1 K], добавлен 25.09.2009

  • Форма для ввода целевой функции и ограничений. Характеристика симплекс-метода. Процесс решения задачи линейного программирования. Математическое описание алгоритма симплекс-метода. Решение задачи ручным способом. Описание схемы алгоритма программы.

    контрольная работа [66,3 K], добавлен 06.04.2012

  • Минимальное остовное дерево связного взвешенного графа и его нахождение с помощью алгоритмов. Описание алгоритма Краскала, возможность строить дерево одновременно для нескольких компонент связности. Пример работы алгоритма Краскала, код программы.

    курсовая работа [192,5 K], добавлен 27.03.2011

  • Теоретико-числовая база построения СОК. Теорема о делении с остатком. Алгоритм Евклида. Китайская теорема об остатках и её роль в представлении чисел в СОК. Модели модулярного представления и параллельной обработки информации. Модульные операции.

    дипломная работа [678,3 K], добавлен 24.02.2010

  • Оптимальная настройка параметров "алгоритма отжига" при решении задачи коммивояжера. Влияние начальной температуры, числа поворотов при одной температуре и коэффициента N на результат. Сравнение и определение лучшей функции для расчётов задачи.

    контрольная работа [329,9 K], добавлен 20.11.2011

  • Математическое обоснование алгоритма вычисления интеграла. Принцип работы метода Монте–Карло. Применение данного метода для вычисления n–мерного интеграла. Алгоритм расчета интеграла. Генератор псевдослучайных чисел применительно к методу Монте–Карло.

    курсовая работа [100,4 K], добавлен 12.05.2009

  • Основные понятия теории графов. Матричные способы задания графов. Выбор алгоритма Форда–Бэллмана для решения задачи поиска минимальных путей (маршрутов) в любую достижимую вершину нагруженного орграфа. Способы выделения пути с наименьшим числом дуг.

    курсовая работа [109,1 K], добавлен 22.01.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.