Скачать презентацию Тема Визуализация графической информации растровая графика 1 Скачать презентацию Тема Визуализация графической информации растровая графика 1

Растровая графика.pptx

  • Количество слайдов: 30

Тема: Визуализация графической информации (растровая графика) Тема: Визуализация графической информации (растровая графика)

1 Способы представления изображений Изображение можно представить в двух видах: • векторном • растровом 1 Способы представления изображений Изображение можно представить в двух видах: • векторном • растровом Векторное основано на использовании геометрических примитивов (точки, линии, сплайны и многоугольники) Растровое изображение основано на использовании сетки пикселов. Каждый пиксел характеризуют своим цветом. Преимущества векторного представления: • векторное изображение можно масштабировать без серьезных искажений; • размер описания сцены зависит только от сложности объекта; • можно задать толщину линии постоянной независимо от реального размера контура при увеличении или уменьшении объекта. Вывод векторного представления объекта на экран (или другой плоский носитель) сопровождается предварительной растеризацией линий векторного объекта.

2 Определения Растровая графика – это технология и алгоритмы получения изображений (растровых объектов). Растр 2 Определения Растровая графика – это технология и алгоритмы получения изображений (растровых объектов). Растр – изображение, построенное из отдельных точек - пикселов, которые расположены регулярно на экране. Растр – совокупность цветов и оттенков в виде прямоугольной матрицы. Растровое изображение представляют двумерным массивом точек. Цвет и яркость каждой точки растра задают отдельной матрицей. Пиксел – (элемент изображения, англ. ) – точка на экране, физически – неделимый объект прямоугольной или круглой формы, характеризуется цветом и координатами положения

3 Понятие связности Связность – возможность соединения двух соседних пикселов растровой линией в виде 3 Понятие связности Связность – возможность соединения двух соседних пикселов растровой линией в виде последовательного набора пикселей. • Четырехсвязность: пикселы у которых координаты по «x» и по «y» в сумме отличаются на 1, т. е. верно соотношение: |x 1 – x 2| + |y 1 – y 2| ≤ 1; • Восьмисвязность: пикселы у которых координаты по «x» или по «y» отличаются не более чем на 1, т. е. для них верно соотношение: |x 1 – x 2| ≤ 1, |y 1 – y 2| ≤ 1. • Четырехсвязность более сильное понятие. Любой 4 -хсвязный объект будет и 8 -исвязным (но не наоборот) четырехсвязная линия восьмисвязная линия

4. Примитивы растровой графики и представление объекта на экране • Точки • Линии • 4. Примитивы растровой графики и представление объекта на экране • Точки • Линии • Прямоугольники (со сторонами, параллельными границам экрана) • Многоугольники • Шрифты • Заливка областей • Плоское отсечение

5 Классификация растровых алгоритмов 5 Классификация растровых алгоритмов

6 Разложение в растр отрезков прямых 6 Разложение в растр отрезков прямых

7 Экранное изображение линий 7 Экранное изображение линий

8 Line (Линия) y (x 2, y 2) (x 1, y 1) x 8 Line (Линия) y (x 2, y 2) (x 1, y 1) x

9 Line Digital Differential Analyzer (DDA) : – численный дифференциальный анализ построения линии Slope 9 Line Digital Differential Analyzer (DDA) : – численный дифференциальный анализ построения линии Slope – наклон k xi+1 = xi + 1 yi+1 = yi + k y 2 - y 1 = dy slope (x, y) x 2 – x 1 = dx

10 Блок схема алгоритма DDA 10 Блок схема алгоритма DDA

11 Текст программы работы DDA 11 Текст программы работы DDA

12. Line Алгоритм Брезенхема (й шаг алгоритма) : iy = (dy/dx)∙x Ti = (r+1, 12. Line Алгоритм Брезенхема (й шаг алгоритма) : iy = (dy/dx)∙x Ti = (r+1, q+1) Ti Si Si = (r+1, q) di ≥ 0 – выбрать Ti ; di < 0 – выбрать Si

13 Line Алгоритм Брезенхема (й шаг алгоритма) : i- dy S T X q 13 Line Алгоритм Брезенхема (й шаг алгоритма) : i- dy S T X q Pi-1 r Y r+1 di ≥ 0 – выбрать Ti ; di < 0 – выбрать Si

14 Line Алгоритм Брезенхема (й шаг алгоритма) : i. Рекуррентная итерационная формула нахождения очередного 14 Line Алгоритм Брезенхема (й шаг алгоритма) : i. Рекуррентная итерационная формула нахождения очередного пикселя для закраски Начальное значение di = d 1 ; (i=1, (x 0; y 0) = (0, 0) d 1 = 2 dy – dx, di < 0 Выбирается ниже прямой di ≥ 0 точка Si Выбирается точка Ti выше или на прямой xi = xi-1 + 1 yi = yi-1 +1 di+1 = di + 2 dy di+1 = di + 2 (dy – dx) -

15 Сircle Растеризация окружности : y 3 R 2 4 1 5 Окружность представляют 15 Сircle Растеризация окружности : y 3 R 2 4 1 5 Окружность представляют как четверть или как октант (1/8 окружности) x Окружность в декартовой системе координат 8 6 7 Окружность в полярной системе координат, иначе – параметрическое задание Алгоритмы на математическом представлении неэффективны: • сложные вычисления • неравномерное распределение пикселей по окружности • использование вещественных чисел

16 Сircle Растеризация окружности : Для 2 октанта, задавая y, определяют x и ставят 16 Сircle Растеризация окружности : Для 2 октанта, задавая y, определяют x и ставят точку: Точки по окружности распределены не равномерно, алгоритм медленный Алгоритм по параметру θ с заданным шагом дает равномерное распределение точек, но также медленный

17 Circle Алгоритм Брезенхема (метод срединной точки) : 17 Circle Алгоритм Брезенхема (метод срединной точки) :

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

19. Типы пространств и системы координат их В зависимости от решаемой задачи наиболее часто 19. Типы пространств и системы координат их В зависимости от решаемой задачи наиболее часто применяют 4 типа: 1. Пространство объекта – пространство для создания модели объекта. В пространстве задают локальную систему координат ЛСК. 2. Мировое пространство это пространство для размещения объектов на сцене, выполнения аффинных и других преобразований. В нем подбирают освещение сцены, создают анимационные эффекты и др. Все такие действия выполняют в мировой системе координат – МСК. 3. Видовое пространство это пространство наблюдения сцены, ограниченное видовой камерой, т. е. пространство, доступное для просмотра некоторой части сцены и ее фиксация посредством системы координат камеры - СКК. 4. Экранное пространство это пространство в виде плоскости экрана или другого носителя изображения, на котором осуществляют визуализацию сцены или части сцены в виде плоских проекций. Отображение всех объектов осуществляют в экранной системе координат ЭСК или СКэ. 5. Специальные, например, параметрические пространства и соответственно сопровождающие их системы координат. Пример такого пространства – пространство для создания NURBS–объектов: сплайновых поверхностей

20. Отсечение отрезка D С Окно экрана ограничено отрезками АВ, ВС, СD, и DА 20. Отсечение отрезка D С Окно экрана ограничено отрезками АВ, ВС, СD, и DА Координаты Р 1 и Q 1 заранее не известны Необходимо отсечь отрезки P 1 R и Q 1 R B A Решение «в лоб» Наклон отрезка k: ; Аналогично находят координаты точки Q 1

21. Побитовые бинарные операции Битовые операции применяют в языках программирования и цифровой технике, а 21. Побитовые бинарные операции Битовые операции применяют в языках программирования и цифровой технике, а изучают в дискретной математике. Битовая операция в программировании - это логические побитовые операции над цепочками битовые сдвиги. Бинарная операция — это математическая операция, принимающая два аргумента и возвращающая один результат Логические побитовые операции: 1. Побитовое отрицание (NOT) Побитовое отрицание (или побитовое НЕ, или дополнение) — это унарная (одноместная) операция, действие которой эквивалентно применению логического отрицания к каждому биту двоичного представления операнда. Другими словами, на той позиции, где в двоичном представлении операнда был 0, в результате будет 1, и, наоборот, где была 1, там будет 0. Например: НЕ 01 результат - 10

22. Побитовые бинарные операции (1) 2. Побитовое И (AND) Побитовое И — это бинарная 22. Побитовые бинарные операции (1) 2. Побитовое И (AND) Побитовое И — это бинарная операция, действие которой эквивалентно применению логического И к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0. Пример: 0011 И 0101 результат - 0001 3. Побитовое ИЛИ (OR) Побитовое ИЛИ — это бинарная операция, действие которой эквивалентно применению логического ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 0, двоичный разряд результата равен 0; если же хотя бы один бит из пары равен 1, двоичный разряд результата равен 1. Пример: ИЛИ 0011 0101 результат - 0111

23. Побитовые бинарные операции (2) 4. Побитовое исключающее ИЛИ (XOR) Побитовое исключающее ИЛИ — 23. Побитовые бинарные операции (2) 4. Побитовое исключающее ИЛИ (XOR) Побитовое исключающее ИЛИ — это бинарная операция, действие которой эквивалентно применению логического исключающего ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если соответствующие биты операндов различны, то двоичный разряд результата равен 1; если же биты совпадают, то двоичный разряд результата равен 0. Пример: Искл. ИЛИ 0011 0101 результат - 0110 Примечание: В компьютерной графике «исключающее ИЛИ» применяют часто при выводе спрайтов на картинку — повторное её применение убирает спрайт с картинки. Спрайт (англ. Sprite — фея; эльф) — графический объект: в компьютерной графике чаще всего — растровое изображение, свободно перемещающееся по экрану. Наблюдение спрайта под несоответствующим углом приводит к разрушению иллюзии объема. Легче всего воспринимать спрайт как перемещающуюся в пространстве проекцию какого-то объёмного тела так, что бы разница их была незаметна.

24. Бинарное кодирование области вывода (к алгоритму Коэна-Сазерленда) Пространство разбивается на 9 областей 1001 24. Бинарное кодирование области вывода (к алгоритму Коэна-Сазерленда) Пространство разбивается на 9 областей 1001 1000 1010 область 0001 0000 Xmin, лев. 0100 b 1 b 2 b 3 b 4 0110 Xmax, прав. Возможны 9 комбинаций: точка левее окна - x < xmin 0010 вывода 0101 Ymax, верх 4 -х битный КОД правее окна - x > xmax Ymin, низ ниже окна – y < ymin = 1 выше окна – y > ymax Иначе биту присваивается нулевое значение Машинный анализ кодов дает три возможные результата: 1. Отрезок выводится целиком: коды P 1 и P 2 концов отрезка равны 0000 – (Код Р 1) ИЛИ (Код Р 2) = 0000. Здесь ИЛИ – бинарная операция. 2. Отрезок отбрасывается без вычислений: оба конца отрезка находятся выше, ниже, правее или левее окна вывода. Соответствующие биты в кодах равны 1: (Код P 1) И (Код P 2) =. . . Здесь символ И – бинарная операция логического умножения. 3. Отрезок нельзя принять и нельзя отбросить. Результат бинарной операции ИЛИ равен 0000: Потребуется определить ту его часть, которая находиться за границей окна и отсечь ее, либо отсекать по частям до тех пор, пока коды концов не укажут на один из тривиальных случаев (см. п. 2) нахождения отрезка целиком за пределами окна.

25 Возможное положение отрезка относительно окна вывода (к алгоритму Коэна-Сазерленда) Q F L M 25 Возможное положение отрезка относительно окна вывода (к алгоритму Коэна-Сазерленда) Q F L M B P C E Сомнительные отрезки – отрезки EF, QP и CD А D

26 Отсечение отрезка прямоугольным окном вывода ( 1 часть алгоритма Коэна-Сазерленда: анализ ситуации) Y 26 Отсечение отрезка прямоугольным окном вывода ( 1 часть алгоритма Коэна-Сазерленда: анализ ситуации) Y D B F ymax C A H L G ymin E K Xmin X Xmax Отрезок К 1 K 1&K 2 Видимость AB Анализ положения отрезков K 2 1001 1000 невидим CD 0000 0101 0000 неясно EF 0010 0001 0000 неясно GH 0000 видим KL 0010 0100 0000 неясно

27 Отсечение отрезка прямоугольным окном вывода (2 часть алгоритма Коэна-Сазерленда) P 2 D C 27 Отсечение отрезка прямоугольным окном вывода (2 часть алгоритма Коэна-Сазерленда) P 2 D C Q T S A Конечные точки отрезка последовательно перемещают в направлении до граничных линий окна точка Р 1 лежит левее ребра AD и ниже ребра AB окна вывода B точка Р 2 лежит правее ребра BC и выше ребра CD окна вывода R P 1 Расположение отрезка Р 1 -Р 2 не соответствует условиям полной видимости или невидимости отрезок Cod нач. точки Cod конечн. точки Бинарная операция Требуемое действие Р 1 - Р 2 1010 0101 И = 0000 Доп. проверка P 1 - R 1010 0010 И = 0010 отсечь R-S 0010 Не требуется отсечь P 2 - Q 0101 0100 И = 0100 отсечь Q-T 0100 И = 0100 отсечь S -T 0000 И = 0000 рисовать

28 Отсечение отрезка прямоугольным окном вывода п алгоритму Коэна-Сазерленда) 28 Отсечение отрезка прямоугольным окном вывода п алгоритму Коэна-Сазерленда)

29 Определение положения отрезка по отношению к окн вывода (по алгоритму Коэна-Сазерленда) 1000 0100 29 Определение положения отрезка по отношению к окн вывода (по алгоритму Коэна-Сазерленда) 1000 0100 T 1010 S 0010 Р 2 0110 Тривиальная невидимость Cod нач. точки Cod конечн. точки Бинарная операция Требуемое действие Р 1 - Р 2 1010 0100 И = 0000 Доп. проверка 1010 0010 И = 0010 отсечь P 2 - T Р 1 отрезок P 1 - Q Q 0100 0110 И = 0100 отсечь T-S 0110 0010 И = 0010 отсечь Q-S 0010 И = 0010 игнорировать