
- •Понятие машинной графики. Задачи. Основные понятия и определения.
- •2. Виды машинной графики. Растровая графика. Векторная графика. Достоинства и недостатки.
- •3. Разрешение изображения и его размер.
- •4. Основы теории цвета. Цвет в машинной графике.
- •5.Аддитивная цветовая модель rgb.
- •6. Субтрактивная цветовая модель cmyk.
- •7. Преобразование между моделями rgb и cmyk.
- •8. Цветовая модель hsb(V).
- •9. Цветовая модель Lab.
- •10. Кодирование цвета. Палитра. Индексные палитры. Фиксированная палитра. Безопасная палитра.
- •11.Алгоритмы вывода графических примитивов. Прямое вычисление координат.
- •12. Инкрементные алгоритмы. Алгоритм Брезенхэма вывода прямой линии.
- •13. Алгоритмы вывода окружности.
- •14. Алгоритмы вывода эллипса.
- •15. Методы улучшения растровых изображений: антиэлайзинг и дизеринг.
- •16. Задача графического вывода фигур. Простейший алгоритм закрашивания.
- •17. Волновой алгоритм закрашивания. Алгоритм закрашивания линиями.
- •18. Алгоритмы заполнения, использующие математическое описание контура. Заполнение прямоугольника и круга.
- •19. Алгоритмы заполнения, использующие математическое описание контура. Заполнение полигона.
- •20. Технические средства машинной графики. Классификация. Основные характеристики.
13. Алгоритмы вывода окружности.
Для вывода
контура круга можно использовать
соотношение между координатами X и Y для
точек окружности
и
построить алгоритм прямого вычисления
координат. Однако в этом случае необходимо
вычислять квадратный корень (как элемент
бесконечной последовательности
приближений).
Алгоритм
изображения окружности несколько
сложнее, чем построение отрезка. Мы
рассмотрим его для случая окружности
радиуса r с центром в
начале координат. При построении
растровой развертки окружности можно
воспользоваться её симметрией относительно
координатных осей и прямых
.
Необходимо сгенерировать лишь одну
восьмую часть окружности, а остальные
её части можно получить путём отображений
симметрии. За основу можно взять часть
окружности от 0 до 45° в направлении по
часовой стрелке с исходной точкой
построения (r;
0). В этом случае координата окружности
является монотонно убывающей функцией
координаты r.
14. Алгоритмы вывода эллипса.
В каждой
точке
эллипса
существует вектор нормали, задаваемый
градиентом функции
.
Дугу разобьем на две части: первая - с
углом между нормалью и горизонтальной
осью больше 45° (тангенс больше 1) и вторая
- с углом, меньшим 45°.
Движение
вдоль дуги будем осуществлять в
направлении по часовой стрелке, начиная
с точки
.
Вдоль всей дуги координата является
монотонно убывающей функцией от
,
но в первой части она убывает медленнее,
чем растет аргумент, а во второй - быстрее.
Поэтому при построении растрового
образа в первой части будем увеличивать
на
единицу и искать соответствующее
значение
,
а во второй - сначала уменьшать
значение
на
единицу и определять соответствующее
значение
.
Направление нормали соответствует вектору
Отсюда
находим тангенс угла наклона вектора
нормали:
.
Приравнивая его единице, получаем, что
координаты точки деления дуги на
вышеуказанные части удовлетворяют
равенству
.
Поэтому критерием того, что мы переходим
ко второй области в целочисленных
координатах, будет соотношение
,
или, переходя к целочисленным операциям,
.
15. Методы улучшения растровых изображений: антиэлайзинг и дизеринг.
Устранение ступенчатости (антиэлайзинг)
При построении растрового образа линий мы сталкиваемся с эффектом ступенчатости, связанным с дискретизацией непрерывного объекта. Искажение идеального образа происходит потому, что из всего множества точек мы выбираем только те, которые оказываются ближе всего к центру элемента растра, и инициализируем этот элемент.
Для предотвращения сильных искажений в этом случае можно, во-первых, повышать разрешение растра, что позволяет отображать всё более мелкие детали объектов. Но у этого подхода есть свои чисто физические ограничения. Второй подход заключается в том, что растр рассчитывается с более высоким разрешением, а изображается с более низким - путем усреднения атрибутов пикселей первого более детального растра с определенными весами. Если веса одинаковы, то мы получаем равномерное усреднение. Лучших результатов можно достигнуть, если использовать разные веса у пикселей первого растра. На рисунке показано распределение весов при детализации пикселя экранного растра.
Распределение весов при увеличении разрешения в 16 раз
Другой метод устранения ступенчатости состоит в том, чтобы рассматривать пиксель не как точку, а как некоторую конечную область. Если рисунок черно-белый, то устранить эффект ступенчатости растра практически невозможно. Но при наличии оттенков полутонов можно задать интенсивность цвета пикселя в зависимости от площади его пересечения с областью.
Дизеринг
В компьютерной графике дизеринг используется для создания иллюзии глубины цвета для изображений с относительно небольшим количеством цветов в палитре. Отсутствующие цвета составляются из имеющихся путем их «перемешивания» (например, если необходимо получить отсутствующий в палитре фиолетовый цвет, его можно получить, разместив красные и синие пиксели в шахматном порядке).
При оптимизации изображений путем уменьшения количества цветов, применение дизеринга приводит к визуальному улучшению изображения.