- •Часть I
- •Оглавление
- •Общее введение в компьютерную графику Предмет и область применения компьютерной графики
- •1. Отображение информации
- •2. Проектирование
- •3. Моделирование
- •4. Графический пользовательский интерфейс
- •Краткая история
- •Технические средства поддержки компьютерной графики
- •Вопросы и упражнения
- •Цвет в компьютерной графике о природе света и цвета
- •Цветовой график мко
- •Цветовые модели rgb и cmy
- •Цветовые модели hsv и hls
- •Пространство cie Luv
- •Вопросы и упражнения
- •Геометрические преобразования Системы координат и векторы
- •Уравнения прямой и плоскости
- •Аналитическое представление кривых и поверхностей
- •Пересечение луча с плоскостью и сферой
- •Интерполяция функций одной и двух переменных
- •Матрицы
- •Геометрические преобразования (перенос, масштабирование, вращение)
- •Переход в другую систему координат
- •Задача вращения относительно произвольной оси
- •Вопросы и упражнения
- •Представление геометрической информации Геометрические примитивы
- •Системы координат: мировая, объектная, наблюдателя и экранная
- •Однородные координаты. Задание геометрических преобразований в однородных координатах с помощью матриц
- •Вопросы и упражнения
- •Отсечение (клиппирование) геометрических примитивов
- •Алгоритм Сазерленда — Коэна отсечения прямоугольной областью
- •Отсечение выпуклым многоугольником
- •Клиппирование многоугольников
- •Вопросы и упражнения
- •Удаление невидимых поверхностей и линий
- •Удаление нелицевых граней многогранника Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера — Азертона
- •Метод z-буфера
- •Методы приоритетов (художника, плавающего горизонта)
- •Алгоритмы построчного сканирования для криволинейных поверхностей
- •Метод двоичного разбиения пространства
- •Метод трассировки лучей
- •Вопросы и упражнения
- •Проецирование пространственных сцен Основные типы проекций
- •Параллельные проекции
- •Центральные проекции
- •Математический аппарат
- •Ортогональные проекции
- •Косоугольные проекции
- •Центральные проекции
- •Специальные картографические проекции. Экзотические проекции земной сферы
- •Стереографическая проекция
- •Гномоническая проекция
- •Ортографическая проекция
- •Проекции на цилиндр
- •Проекция Меркатора
- •Проекции на многогранник
- •Необычные проекции
- •Вопросы и упражнения
- •Растровое преобразование графических примитивов
- •Алгоритм Брезенхема растровой дискретизации отрезка
- •Алгоритмы Брезенхема растровой дискретизации окружности и эллипса
- •Алгоритмы заполнения областей
- •Вопросы и упражнения
- •Закрашивание. Рендеринг полигональных моделей
- •Простая модель освещения
- •Закраска граней Плоское закрашивание
- •Закраска методом Гуро
- •Закраска методом Фонга
- •Более сложные модели освещения
- •Устранение ступенчатости (антиэлайзинг)
- •Вопросы и упражнения
- •Визуализация пространственных реалистических сцен Свето-теневой анализ
- •Метод излучательности
- •Глобальная модель освещения с трассировкой лучей
- •Текстуры
- •Вопросы и упражнения
- •Список литературы
Центральные проекции
Когда пучок проекторов исходит из заданного центра проекции, то параллельные отрезки на плоскости проекции уже не будут параллельными, за исключением случая, когда они лежат в плоскости, параллельной проекционной. При проецировании нескольких параллельных прямых их проекции пересекаются в так называемой точке схода. Если совокупность прямых параллельна одной из координатных осей, то их точка схода называется главной. Таких точек может быть не больше трех. Например, если проекционная плоскость перпендикулярна оси OZ, то лишь на этой оси будет лежать главная точка схода, поскольку прямые, параллельные как оси OX, так и OY, параллельны также и проекционной плоскости и поэтому не имеют точки схода.
Центральные проекции классифицируются в зависимости от числа главных точек схода, которыми они обладают, а следовательно, и от числа координатных осей, которые пересекает проекционная плоскость. На рис. 7.6 приведены три различные одноточечные проекции куба, причем две из них имеют одну точку схода, а третья — две точки.
Рис. 7.6. Одноточечные и двухточечная проекции
Двухточечная центральная проекция широко применяется в архитектурном, инженерном и промышленном проектировании и в рекламных изображениях, в которых вертикальные прямые проецируются как параллельные и, следовательно, не сходятся. Трехточечные центральные проекции почти совсем не используются, во-первых, потому, что их трудно конструировать, а во-вторых, из-за того, что они добавляют мало нового с точки зрения реалистичности по сравнению с двухточечной проекцией.
Математический аппарат
Для выполнения проективных преобразований будем использовать однородные координаты и матрицы преобразований, рассмотренные ранее в главе 4. Проекция выполняется в системе координат наблюдателя.
Ортогональные проекции
Сначала рассмотрим математическое описание параллельных проекций как более простых. Случай, когда картинная плоскость перпендикулярна оси OZ, и задается уравнением (т. е. ортографическая проекция) фактически уже рассматривался в главе 4, глее был приведен вид матриц проектирования на координатные плоскости.
Случай аксонометрической проекции сводится к последовательности преобразований, подобно тому, как осуществлялся поворот в пространстве относительно произвольной оси. Пусть плоскость задается единичным вектором нормали и расстоянием от начала координат . Каноническое уравнение плоскости таким образом имеет вид
.
Вектор, направленный по нормали от начала координат до пересечения с плоскостью есть
.
Координаты вектора единичной нормали являются ее направляющими косинусами.
Проектирование в пространстве однородных координат осуществляется следующей последовательностью шагов.
— Сдвиг на вектор с помощью матрицы
.
— Поворот, совмещающий направление нормали с направлением оси OZ. Как было показано в главе 4 этот поворот можно реализовать в виде двух поворотов: первый (относительно оси OZ) переводит нормаль в плоскость YOZ, а затем у— поворот относительно оси OY до совмещения нормали с осью OZ. Соответствующую матрицу вращения, являющуюся произведением двух матриц) обозначим .
— Проекция на плоскость XOY с помощью матрицы
.
— Поворот с помощью матрицы .
— Сдвиг на вектор с помощью матрицы
Полное преобразование, таким образом, определяется матрицей
.