- •Введение
- •1. Машинная графика и обработка изображения с помощью эвм
- •2. Типы графических устройств
- •2.1. Графические дисплеи на запоминающей трубке
- •2.2. Векторные графические дисплеи с регенерацией изображения
- •2.3. Растровые графические дисплеи с регенерацией изображения
- •2.4. Диалоговые устройства
- •3. Основы растровой графики
- •3.1. Алгоритмы вычерчивания отрезков
- •3.2. Цифровой дифференциальный анализатор
- •3.3. Алгоритм Брезенхема
- •3.4. Целочисленный алгоритм Брезенхема
- •3.5. Общий алгоритм Брезенхема
- •3.6. Алгоритм Брезенхема для генерации окружности
- •4. Растровая развертка изображения
- •4.1. Растровая развертка в реальном времени
- •4.2. Групповое кодирование
- •4.3. Клеточное кодирование
- •4.4. Буферы кадра
- •4.5. Изображение отрезков
- •4.6. Изображение литер
- •4.7. Растровая развертка сплошных областей и заполнение многоугольников
- •1 X 8 – внутри многоугольника;
- •1 Х 4 – внутри многоугольника;
- •6 Х 8 – внутри многоугольника;
- •4.8. Простой алгоритм с упорядоченным списком ребер
- •4.9. Алгоритм заполнения по ребрам
- •4.10. Алгоритм со списком ребер и флагом
- •4.11. Алгоритм заполнения с затравкой
- •4.12. Построчный алгоритм заполнения с затравкой
- •4.13. Основные методы устранения ступенчатости
- •4.14. Аппроксимация полутонами
- •5. Отсечение
- •5.1. Двумерное отсечение
- •5.2. Алгоритм отсечения Сазерленда-Коэна
- •5.3. Алгоритм разбиения средней точкой
- •5.4. Обобщение: отсечение двумерного отрезка выпуклым окном
- •5.5. Алгоритм Кируса–Бека
- •5.6. Внутреннее и внешнее отсечение
- •5.7. Определение факта выпуклости многоугольника
- •5.8. Разбиение невыпуклых многоугольников
- •5.9. Трехмерное отсечение
- •5.10. Определение выпуклости трехмерного тела
- •5.11. Отсечение невыпуклых тел
- •5.12. Отсечение многоугольников
- •5.13. Последовательное отсечение многоугольника – алгоритм Сазерленда – Ходжмена
- •5.14. Невыпуклые отсекающие области – алгоритм
- •5.15. Литеры
- •6. Удаление невидимых линий и поверхностей
- •6.1. Алгоритм плавающего горизонта
- •6.2. Алгоритм Робертса
- •6.3. Алгоритм Варнока
- •6.4. Алгоритм Вейлера–Азертона
- •6.5. Алгоритм, использующий z-буфер
- •6.6. Алгоритмы, использующие список приоритетов
- •6.7. Алгоритм построчного сканирования
- •6.8. Алгоритм построчного сканирования, использующий
- •Библиографический список рекомендуемой литературы
- •Оглавление
- •1. Машинная графика и обработка изображения с помощью эвм….……..3
2.3. Растровые графические дисплеи с регенерацией изображения
Как и дисплеи на ЗЭЛТ, так и дисплеи с произвольным сканированием являются устройствами рисования отрезков, т.е. отрезок прямой может быть нарисован непосредственно из любой адресуемой точки в любую другую. Графическое устройство на растровой ЭЛТ работает по-другому. Растровое устройство можно рассматривать как матрицу дискретных ячеек (точек), каждая из которых может быть подсвечена. Таким образом, оно является точечно рисующим устройством. А значит невозможно непосредственно нарисовать отрезок прямой из одной адресной точки или пикселя в матрице в другую адресуемую точку или пиксель. Отрезок можно лишь аппроксимировать последовательностями точек (пикселов), близко лежащих к реальной траектории отрезка.
Чаще всего для графических устройств с растровой ЭЛТ используют буфер кадра. Буфер кадра представляет собой большой непрерывный участок памяти компьютера. Для каждой точки, или пикселя, в растре отводится как минимум один бит памяти. Эта память называется битовой плоскостью. Для квадратного растра размером 512512 требуется 218 (29=512; 218= 512 512), или 262144 бита памяти в одной битовой плоскости. Изображение в буфере кадра строится побитно. Из-за того, что бит памяти имеет только два состояния (двоичное 0 или 1), имея одну битовую плоскость, можно получить лишь черно-белое изображение. Битовая плоскость является цифровым устройством, тогда как растровая ЭЛТ - аналоговое устройство, для работы которого требуется электрическое напряжение. Поэтому при считывании информации из буфера кадра и ее выводе на графическое устройство с растровой ЭЛТ, должно происходить преобразование из цифрового представления в аналоговый сигнал. Такое преобразование выполняет цифро-аналоговый преобразователь (ЦАП). Каждый пиксель буфера кадра должен быть считан и преобразован, прежде чем он будет отображен на растровой ЭЛТ.
Цвета или полутона серого цвета могут быть введены в буфер кадра путем использования дополнительных битовых плоскостей. Предположим, что имеется N битовых плоскостей для градации серого цвета. Интенсивность каждого пикселя на ЭЛТ управляется содержимым соответствующих пикселов в каждой из N-битовых плоскостей. В соответствующую позицию регистра загружается бинарная величина (0 или 1) из каждой битовой плоскости. Двоичное число, получившееся в результате, интерпретируется как уровень интенсивности между 0 и 2N –1. С помощью ЦАП это число преобразуется в напряжение между 0 (темный экран) и 2N –1 (максимальная интенсивность свечения). Всего можно получить 2N уровней интенсивности. Для каждой битовой плоскости требуется полный объем памяти при данном разрешении растра: например, буфер кадра с тремя битовыми плоскостями для растра 512 512 занимает 786432 (3512512) битов памяти.
Поскольку существует три основных цвета (красный, зеленый, синий), используемых в видеотехнике, можно реализовать простой цветной буфер с тремя битовыми плоскостями, по одной для каждого из основных цветов. Каждая битовая плоскость управляет индивидуальной электронной пушкой для каждого из трех основных цветов. Три основных цвета, комбинируясь на ЭЛТ, дают восемь цветов. Эти цвета и соответствующие им двоичные коды приведены в табл. 1.
Таблица 1
Коды цветов цветного буфера
Красный (R) |
Зеленый (G) |
Синий (B) |
|
0 |
0 |
0 |
Черный |
1 |
0 |
0 |
Красный |
0 |
1 |
0 |
Зеленый |
0 |
0 |
1 |
Синий |
1 |
1 |
0 |
Желтый |
0 |
1 |
1 |
Голубой |
1 |
0 |
1 |
Пурпурный |
1 |
1 |
1 |
Белый |
Для каждой из трех цветовых пушек могут использоваться дополнительные битовые плоскости. Цветной буфер кадра с 8 битовыми плоскостями на каждый цвет, т.е. буфер кадра с 24 битовыми плоскостями, где каждая группа битовых плоскостей управляется 8–разрядным ЦАП, используется для генерации 256 (28) оттенков или интенсивностей красного, зеленого или синего цвета. Их можно скомбинировать в 16777216 [(28)3=224] возможных цветов. Это "полноцветный" буфер кадра.
Из-за большого количества пикселов в растровых графических устройствах трудно достичь производительности, необходимой для работы в реальном времени, а также приемлемой скорости регенерации, или смены, кадра. Работа в реальном времени с растровыми графическими устройствами осуществляется путем одновременного доступа к группам по 16, 32, 64 и более пикселов. Хотя производительности, необходимой для работы в реальном масштабе времени с приемлемыми скоростями регенерации, на растровых устройствах достичь труднее, чем на векторных дисплеях с регенерацией, на них легче отображать сплошные фигуры с плавными переходами цветов.