- •Визуальное представление информации.
- •Взаимосвязь компьютерной геометрии и графики.
- •История развития компьютерной графики.
- •Анализ, синтез и обработка изображений.
- •Виртуальные графические устройства (cgi).
- •Устройства графического ввода. Режимы ввода. Графический пользовательский интерфейс (gui).
- •Устройства вывода изображений. Дисплеи. Качество изображения. Классификация устройств вывода
- •3. По технологическим способам вывода (свечение люминофора, вычерчивание пишущим узлом, перенос красителя и т.П.). Растровые дисплеи
- •Дисплеи на запоминающей трубке
- •0.10.2 Дисплеи с плазменный панелью
- •0.10.3 Дисплеи с жидкокристаллическим индикатором
- •Виртуальные поверхности отображения. Кадровый буфер и таблица цветности.
- •Особенности преобразования вектор - растр. Алгоритмы прочерчивания отрезков прямых.
- •Генерация дуг окружности и эллипса. Алгоритмы заполнения площади. Графические контроллеры. Графические процессоры. Видеокарты в персональном компьютере.
- •Алгоритмы удаления невидимых линий и поверхностей. Основные понятия и определения.
- •Классификация алгоритмов удаления невидимых линий и поверхностей. Алгоритм плавающего горизонта.
- •Алгоритм использующий z-буфер.
- •Алгоритм построчного сканирования.
- •Алгоритм “художника”.
- •Модели освещения. Flat-закраска.
- •Закраска методами Гуро и Фонга.
- •Геометрическое моделирование и интерактивная машинная графика. История развития моделирования поверхностей.
- •Аналитические способы задания поверхностей.
- •Преимущества параметрического способа задания кривых и поверхностей.
- •Отсечение нелицевых граней.
- •Однородные координаты и их особенности.
- •Поворот вокруг фиксированной точки
- •Параметрическое описание кривых.
- •Кубические кривые в форме Безье.
- •Формат файлов для хранения растровых изображений
- •Аддитивная цветовая модель rgb
- •Цветовая модель cmy
- •Аффинные преобразования на плоскости
- •2. Растяжение-сжатие осей координат.
- •3. Поворот.
- •Проекции. Основные типы
- •Модели описания поверхностей. Аналитическая модель
- •Модели описания поверхностей. Векторная полигональная модель
- •Модели описания поверхностей. Воксельная модель
- •Модели описания поверхностей. Равномерная сетка
- •Модели описания поверхностей. Неравномерная сетка. Изолинии.
- •Визуализация объёмных изображений. Каркасная визуализация
- •Алгебра векторов. Вычисление нормалей
Классификация алгоритмов удаления невидимых линий и поверхностей. Алгоритм плавающего горизонта.
Методы удаления невидимых частей сцены можно классифицировать:
По выбору удаляемых частей: удаление невидимых линий, ребер, поверхностей, объемов.
По порядку обработки элементов сцены: удаление в произвольном порядке и в порядке, определяемом процессом визуализации.
По системе координат:
алгоритмы работающие в пространстве объектов, когда каждая из N граней объекта сравнивается с остальными N-1 гранями (объем вычислений растет как N2),
алгоритмы работающие в пространстве изображения, когда для каждого пиксела изображения определяется какая из N граней объекта видна (при разрешении экрана M×M объем вычислений растет как M2 ×N).
Метод плавающего горизонта. При методе плавающего горизонта грани выводятся в последовательности от ближайших к самым дальним. На каждом шаге границы граней образовывают две ломаные линии — верхний горизонт и нижний горизонт. Во время вывода каждой новой грани рисуется только то, что выше верхнего горизонта, и то, что ниже нижнего горизонта. Соответственно, каждая новая грань поднимает верхний и опускает нижний горизонты. Этот метод часто используют для показа поверхностей, которые описываются функциями z =f(х,у).
Алгоритм использующий z-буфер.
Метод основывается на использовании дополнительного массива, буфера в памяти, в котором сохраняются координаты Z для каждого пиксела растра. Координата Z отвечает расстоянию точек пространственных объектов до плоскости проецирования. Например, она может быть экранной координатой Z в системе экранных координат (X, Y,Z), если Z перпендикулярна плоскости экрана.
Рассмотрим алгоритм рисования объектов согласно этому методу. Пусть, чем ближе точка в пространстве к плоскости проецирования, тем больше значение Z. Тогда сначала Z-буфер заполняется минимальными значениями. Потом начинается вывод всех объектов. Причем не имеет значение порядок вывода объектов. Для каждого объекта выводятся все его пикселы в любом порядке. Во время вывода каждого пиксела по его координатам (X, Y) находится текущее значение Z в Z-буфере. Если рисуемый пиксел имеет большее значение Z, чем значение в Z-буфере, то это означает, что эта точка ближе к объекту. В этом случае пиксел действительно рисуется, а его Z-координата записывается в Z-буфер. Таким образом, после рисования всех пикселов всех объектов растровое изображение будет состоять из пикселов, которые соот ветствуют точкам объектов с самыми большими значениями координат Z, то есть видимые точки — ближе всех к нам.
Этот метод прост и эффективен благодаря тому, что не нужно ни сортировать объекты, ни сортировать их точки. При рисовании объектов, которые описываются многогранниками или полигональными сетками, манипуляции со значениями Z-буфера легко совместить с выводом пикселов заполнения полигонов плоских граней.
В настоящее время метод Z-буфера используется во многих графических 3d-акселераторах, которые аппаратно реализуют этот метод. Наиболее целесообразно, когда акселератор имеет собственную память для Z-буфера, доступ к которой осуществляется быстрее, чем к оперативной памяти компьютера. Возможности аппаратной реализации используются разработчиками и пользователями компьютерной анимации, позволяя достичь большой скорости прорисовки кадров.
Этот алгоритм используется в библиотеке OpenGL для решения задачи загораживания при работе с невыпуклыми объектами.