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

Презентация:



Advertisements
Похожие презентации
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
Advertisements

Алгоритмы растеризации Алгоритмы двумерного отсечения, заполнения многоугольника, устранение ступенчатости, масштабирование.
Алгоритмы растровой графики. Представление отрезка в растровой форме.
Урок информатики 9 физико-математический класс.
Задача Разбить предложение по словам. В предложении могут быть знаки «.», «!», «?» и «,»
Доступ к элементам массива Изменение элементов массива.
АЛГОРИТМ ВЕТВЛЕНИЯ ОПЕРАТОР ВЕТВЛЕНИЯ. Какая задача решается по этой программе? Program Z1: Var a,b,c: integer; Begin Write ( vv a,b:); Read (a,b); C:=(a+b)*(b-a);
Задача. Даны действительные числа A, B, C, D. Найти max(a,b,c), max(a,b,d), max(b,c,d). Написать программу решения задачи PROGRAM ex1; PROCEDURЕ Max (x,
Программирование «сверху вниз» Процедуры и функции пользователя в Pascal.
Рекурсия « Я оглянулся посмотреть, не оглянулась ли она, чтоб посмотреть, не оглянулся ли я...» М. Леонидов.
Обработка массивов Сортировка. Сортировка массивов «…создается впечатление, что можно построить целый курс программирования, выбирая примеры только из.
Алгоритмические структуры. Алгоритм Алгоритм - понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных.
Алгоритмические конструкции. Решить задачу при х=16, у=2.
Цикл с параметром Искандарова А.Р. учитель информатики МБОУ СОШ 18 г. Уфа.
класс-ПОВТОРЕНИЕ ОСНОВНЫХ ПОНЯТИЙ ТЕМЫ « ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ » 8 КЛАСС.
АлгоритмАлгоритм Свойства алгоритма. Алгоритм Алгоритм – последовательность действий, ведущая от известных данных к искомому результату. Алгоритм – это.
5.Дана матрица А и вектор Х соответствующих размерностей. Нечетные строки матрицы заменить элементами вектора Х. Результаты работы: n=4 m=
Язык программирования Pascal Процедуры и функции А. Жидков.
Рекурсивное программирование Рекурсия – это метод, сводящий общую задачу к некоторым задачам более узкого, простого типа Рекурсивный алгоритм – это алгоритм,
Циклы. Вычислить сумму ряда чисел Program sum; var a: integer; s: real; Begin a:=1; s:=0; while a<600 do begin a:=a+1; s:=s+1/a; end; writeln ( ' s=
Транксрипт:

Алгоритмы растеризации Алгоритмы Брезенхема рисования отрезка и окружности

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

Литература Д. Роджерс. Алгоритмические основы машинной графики. – М. Мир, 1989.

4-связность и 8-связность

Алгоритм Брезенхема рисования отрезка Отрезок от A(x a, y a ) до B(x b, y b ) 0 y b - y a x b - x a, k=(y b - y a ) / (x b - x a ) y = y a + k (x – x a ) procedure line(xa,ya,xb,yb:integer); var k,y : double; begin k:=(yb-ya)/(xb-xa); y:=ya; for i:=xa to xb do begin put(x,round(y)); y:=y+k end;

Алгоритм Брезенхема рисования отрезка dy/dx = (S+q)/(r+1) S = dy/dx (r+1) – q T = 1 – S = 1 - dy/dx (r+1) – q S – T = 2 dy/dx (r+1) – 2q -1 dx (S – T) = 2 dy (r+1) – 2q dx – dx d i+1 = d i +2 dy – 2 dx (y i -y i-1 )

Алгоритм Брезенхема рисования отрезка procedure line(xa,ya,xb,yb:integer); var dx,dy,inc1,inc2,d,x,y,xend : integer; begindx:=abs(x2-x1); dy:=abs(y2-y1); d:=2*dy-dx; inc1:= 2*dy; inc2:=2*(dy-dx); if x1>x2 then begin x:=x2; y:=y2; xend:=x1 end else begin x:=x1; y:=y1; xend:=x2 end; put(x,y); while x < xend do begin inc(x); if d < 0 then inc(d,inc1) else begin inc(y); inc(d,inc2); end; put(x,y) end;

Алгоритм Брезенхема рисования окружности procedure circle(x0,y0,r:integer); var d,d1,d2,x,y : integer; begin d:=0; y:=r; for x:=0 to round(r*sqrt(2.0)/2) do begin d1:=d+x+x+1; d2:=d1-y-y+1; if abs(d1) < abs(d2) then begin d:=d1; end else begin d:=d2; dec(y); end; put(x0+x,y0+y);put(x0+y,y0+x);put(x0-x,y0+y);put(x0+y,y0-x); put(x0+x,y0-y);put(x0-y,y0+x);put(x0-x,y0-y);put(x0-y,y0-x); end;