- •3. История развития комп графики
- •7, Системы координат
- •8. Устройства ввода
- •Диалоговые
- •Полуавтоматически (дигитайзер,
- •12. Системы кодирования цвета.
- •13. Устройства вывода
- •16. Алгоритм вывода окружности
- •17. Удаление невидимых линий и поверхностей
- •Алгоритм Для каждого окна:
- •18. Показ с удалением невидимых точек. Классификация методов
- •19. Метод z-буфера
- •20. Алгоритмы построчного сканирования
- •2. Интервальный алгоритм построчного сканирования.
- •21. Алгоритм художника
- •22. Flat – закраска
- •23. Метод Гуро
- •Метод Фонга
- •25. Построение поверхностей
- •27. Отсечение нелицевых граней
- •29. Параметрические уравнения линий.
- •30 . Кривые Безье
- •31. Форматы файлов растровой графики.
- •32. Аддитивная цветовая модель rgb
- •33. Субтрактивная цветовая модель cmy
- •34. Аффинные преобразования координат на плоскости:
- •35. Проекции
- •Параллельные проекции Перпендикулярное проецирование на картинную плоскость Косоугольное проецирование на картинную плоскость
- •36. Аналитическая модель поверхности
- •37. Векторная полигональная модель
- •38. Воксельная модель
- •39. Равномерная сетка
- •40. Неравномерная сетка. Изолинии
- •41. Визуализация трехмерных изображений Проецирование трехмерных объектов на картинную плоскость
- •Уровни визуализации
- •Каркасная визуализация
- •42 . Расчет нормали к объекту
19. Метод z-буфера
Основывается на использовании дополнительного массива, буфера в памяти, в котором сохраняются координаты точек Z для каждого пиксела растра. Координата Z соответствует расстоянию точек пространственных объектов до плоскости проецирования. Например, она может быть экранной координатой Z в системе экранных координат (X, Y, Z), если ось Z перпендикулярна плоскости экрана.
Рассмотрим алгоритм рисования объектов по этому методу.
Пусть чем ближе точка в пространстве к плоскости проецирования, тем больше значение Z:
● сначала Z-буфер заполняется минимальными значениями;
● затем начинается вывод всех объектов, причем порядок вывода объектов не имеет значения – для каждого объекта выводятся все его пикселы в любом порядке;
● во время вывода каждого пиксела по его координатам (X, Y) находится текущее значение Z в Z-буфере;
● если рисуемый пиксел имеет большее значение Z, чем значение в Z-буфере, то, следовательно, эта точка ближе к наблюдателю. В этом случае пиксел действительно рисуется, а его Z-координата записывается в Z-буфер.
Таким образом, после рисования всех пикселов всех объектов растровое изображение будет состоять из пикселов, которые соответствуют точкам объектов с самыми большими значениями координат Z, т.е. видимые точки ближе всех к зрителю.
Этот метод прост и эффективен благодаря тому, что не требует сортировки объектов или их точек. При рисовании объектов, которые описываются многогранниками или полигональными сетками, манипуляции со значениями Z-буфера легко совместить с выводом пикселов заполнения полигонов плоских граней.
В настоящее время метод Z-буфера используется во многих графических 3d-акселераторах, которые аппаратно реализуют этот метод. Оптимально, если акселератор имеет собственную память для Z-буфера, доступ к которой осуществляется быстрее, чем к оперативной памяти компьютера. Возможности аппаратной реализации используются разработчиками и пользователями компьютерной анимации, позволяя достичь большой скорости прорисовки кадров.
20. Алгоритмы построчного сканирования
Оперируют в пространстве изображения.
Алгоритм построчного сканирования с z-буфером.
Объем памяти для строки буфера кадра 1х1024х3Б для z-буфера 1х1024х20/zбит.
Инициализация:фон для текущей обрабатываемой строки буфера иz min ( -) для строкиz-буфера. Определяется пересечение строк с проекцией наxyс каждого многоугольника,т.е. возникает пара пересечений.
Для каждого пикселя между этими пересечениями (концами пары)
Сравнение с zв буфере.
Если глубина > z-буфера, то точка отрезка видима,занесение в
кадр и корректировка z-буфера в этой позиции.
Для повышения эффективности можно использовать список
активных многоугольников.
2. Интервальный алгоритм построчного сканирования.
x x x
В
случае протыкания многоугольников
друг в друга необходимо вычислять и
точки пересечения
z z
z
x x
bb
d Другой
интервальный метод – разбиение отрезка
пополам
a
c
z
z