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