Данная, вторая часть курса лекций посвящена рассмотрению основных
алгоритмов машинной графики.
В разделе 1 рассматриваются алгоритмы выполнения преобразований в
двумерных, трехмерных и однородных координатах; параллельные,
перспективные и стереопроекции; плоские преобразования растровых картин.
В разделе 2 рассматриваются три алгоритма генерации векторов -
обычного и несимметричного ЦДА и Брезенхема. Там же рассмотрены способы
борьбы с лестничным эффектом, вызванным различимыми размерами пикселов
на экране. Один из способов основан на модификации алгоритма Брезенхема.
Другой, общий способ базируется на использовании низкочастотной
фильтрации. Этот способ, естественно, применим для произвольных
изображений.
В разделе 3 приводится алгоритм генерации окружностей.
В разделе 4 рассмотрены различные алгоритмы заполнения многоугольника,
заданного координатами его вершин. Там же рассмотрен наиболее быстрый
алгоритм сортировки - алгоритм распределяющего подсчета.
В разделе 5 рассмотрены алгоритмы заливки с затравкой произвольной
области, заданной либо значением граничных пикселов, либо значением
пикселов внутренней части области.
Раздел 6 посвящен различным алгоритмам отсечения отрезка
(Коэна-Сазерленда, Собкова-Поспишила-Янга, Лианга-Барски и Кируса-Бека)
применительно к двух, трех и четырехмерным координатам.
В разделе 7 рассмотрены алгоритмы отсечения многоугольника.
В разделе 8 рассмотрены различные варианты организации данных.
В разделе 9 рассматривается геометрическое моделирование объектов и сцен.
Раздел 10 посвящен рассмотрению алгоритмов удаления скрытых линий и поверхностей.
В разделе 11 рассмотрены методы и алгоритмы реалистичного представления сцен.
В приложениях помещены процедуры на языке С, реализующие большую
часть рассмотренные алгоритмы, а также тестовые программы для большинства
процедур. Основной целью при написании процедур было
достижение наглядности, поэтому есть возможности их оптимизации.
|
![]() |