- •1.Основные направления компьютерной графики
- •3.Стандарты в кг. Классификация стандартов.
- •4.Графическая система gks.
- •5.Графические библиотеки в языках программирования. Графический конвейер.
- •6.Растровые изображения и их характеристики.
- •7.Кодирование цвета и палитра.
- •8.Геометрические особенности зрительного восприятия.
- •9.Ступенчатый эффект и дизеринг растрового изображения.
- •11.Генерация дуг окружности и эллипса. Алгоритмы заполнения площади.
- •12.Алгоритмы удаления невидимых линий и поверхностей. Основные понятия и определения.
- •13.Классификация алгоритмов удаления невидимых линий и поверхностей. Алгоритм плавающего горизонта.
- •14. Алгоритм Кэтмула
- •15. Алгоритм Вейлера-Азертона
- •16. Алгоритм Робертса
- •17. Алгоритм Варнока
- •18. Алгоритм художника
- •19. Модели освещения. Flat-закраска.
- •20. Модели отражения и преломления света.
- •21. Методы трассировки лучей.
- •22. Закраска методами Гуро и Фонга. Метод Гуро
- •Метод Фонга
- •23. Форматы файлов для хранения растровых изображений.
- •24. Аддитивная цветовая модель rgb.
- •25. Цветовая модель cmy.
- •26.Цветовые модели hsv и hls
- •27.Мировые и экранные координаты. Основные типы проекций.
- •28.Модели описания поверхностей. Аналитическая модель.
- •29.Модели описания поверхностей. Векторная полигональная модель.
- •30.Модели описания поверхностей. Воксельная модель.
- •31.Модели описания поверхностей. Равномерная сетка.
- •32.Модели описания поверхностей. Неравномерная сетка. Изолинии.
- •33.Компьютерная графика в гис.
- •34.Алгоритмы сжатия изображений. Классификация приложений и требования
- •35.Алгоритмы сжатия изображений без потерь.
- •36.Алгоритмы сжатия изображений с потерями. Алгоритм jpeg. Конвейер
- •37.Алгоритмы сжатиия изображений с потерями. Фрактальный алгоритм.
- •38.Алгоритмы сжатия изображений с потерями. Алгоритм jpeg 2000. Конвейер
17. Алгоритм Варнока
Данный алгоритм работает в пространстве образа (изображ). Алгоритм анализирует область на экране на наличие в ней видимых элементов. Если в окне нет изображения, то оно просто закрашивается цветом фона. Если же в окне есть элемент, то проверяется, достаточно ли он прост для визуализации. Если объект сложный, то окно разбивается на более мелкие для каждого из которых вып-ся тест на отсутствие или/и простоту изображения.
Рекурсивный процесс разбиения может продолжаться до тех пор пока не достигнут предел разрешения экрана. В данном алгоритме в пространстве изобр.рассм-ся окно и решается вопрос о том пусто ли оно или его содержимое достаточно простое для визуализации. Если это не так, то окно разбивается на фрагменты до тех пор пока содержание фрагмента не станет достаточно простым для требуемого предела разрешения. В посл. случае информация сод-ся в окне усредняется и рез-т изображения с одинаковой интенсивностью или цветом.
В данном алгоритме выд-ся 4 случая взаимного расположения окна и многоуг.:
1.многоуг. явл. внешн. если он целиком нах-ся вне окна
2. многоуг. явл. внутр. если он целиком внутри окна
3. многоуг явл. пересекающим если он пересекает границу окна
4. многоуг. явл. охватывающим, если окно целиком нах-ся внутри него
18. Алгоритм художника
Алгоритм художника предназначен для изображения произвольных поверхностей и выводит на экран все ячейки целиком по мере их приближения к наблюдателю. Проекции ближних граней могут частично или полностью наложиться на ранее построенные проекции дальних граней подобно тому, как художник наносит на холст один мазок поверх ранее нанесенного мазка, тем самым скрывая последний от зрителя.
Метод основан на вычислении удаленности (глубины) di центров ячеек ci (в разных вариантах алгоритма используются и другие опорные точки ячеек) от наблюдателя, сортировке и выводе ячеек в порядке уменьшения элементов вектора d. При наблюдателе, находящемся в конечной точке S, глубина точки ci равна расстоянию
di = | ci - S |,
а в вычислительном аспекте более эффективно использовать квадрат расстояния как скалярное произведение:
di2 = (ci - S) ◦ (ci - S).
В случае наблюдателя, бесконечно удаленного в направлении вектора S, расстояния от него до всех точек также бесконечны. Впрочем, для сортировки можно использовать и относительные глубины, отсчитываемые вдоль любой оси d, противоположной направлению вектора S. Запишем проекцию точки ci на вектор S:
Увеличение значения ti означает приближение точки ci к наблюдателю. Следовательно, в качестве эквивалента глубины, который должен уменьшаться с ростом ti, можно принять легко вычислимое скалярное произведение
d i = -ci ◦ S.
Алгоритм художника отличается высоким быстродействием, но, к сожалению, имеет серьезный недостаток: ячейки каркаса должны быть примерно одинакового и достаточно малого размера по сравнению с габаритами поверхности. При определенном ракурсе разновеликие ячейки могут быть выведены на экран в неверном порядке.
Общим недостатком алгоритма Робертса и алгоритма художника, которые выводят грани целиком, является невозможность правильного изображения двух пересекающихся ячеек, каждая из которых видна лишь частично.