- •153000 Г. Иваново, пр. Ф.Энгельса, 21
- •Лекция №1 Предмет и область применения компьютерной графики
- •1. Отображение информации
- •2. Проектирование
- •3. Моделирование
- •4. Графический пользовательский интерфейс
- •Краткая история
- •Технические средства поддержки компьютерной графики
- •Лекция №2 о природе света и цвета
- •Вопросы и упражнения
- •Цветовой график мко
- •Цветовые модели rgb и cmy
- •Цветовые модели hsv и hls
- •Пространство cie Luv
- •Вопросы и упражнения
- •Лекция №3 Геометрические преобразования Системы координат и векторы
- •Уравнения прямой и плоскости
- •Аналитическое представление кривых и поверхностей
- •Пересечение луча с плоскостью и сферой
- •Лекция №3 (продолжение) Интерполяция функций одной и двух переменных
- •Матрицы
- •Геометрические преобразования (перенос, масштабирование, вращение)
- •Переход в другую систему координат
- •Задача вращения относительно произвольной оси
- •Вопросы и упражнения
- •Лекция №4 Введение в растеризацию кривых
- •Изображение отрезка с целочисленными координатами концов
- •Цифровой дифференциальный анализатор
- •Алгоритм Брезенхема
- •Алгоритм Кастла-Питвея
- •Изображение отрезка с нецелочисленными координатами концов
- •Изображение окружностей
- •Алгоритм Брезенхема
- •Изображение эллипсов
- •Построение по неявной функции
- •Построение путем сжатия окружности
- •Лекция №5 Представление геометрической информации Геометрические примитивы
- •Полигональные модели
- •Воксельные модели
- •Поверхности свободных форм (функциональные модели)
- •Системы координат: мировая, объектная, наблюдателя и экранная
- •Однородные координаты. Задание геометрических преобразований в однородных координатах с помощью матриц
- •Вопросы и упражнения
- •Лекция №6 Отсечение (клиппирование) геометрических примитивов
- •Алгоритм Сазерленда-Коэна отсечения прямоугольной областью
- •Отсечение выпуклым многоугольником
- •Клиппирование многоугольников
- •Вопросы и упражнения
- •Лекция №7 Удаление невидимых поверхностей и линий
- •Удаление нелицевых граней многогранника Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера-Азертона
- •Метод z-буфера
- •Методы приоритетов (художника, плавающего горизонта)
- •Алгоритмы построчного сканирования для криволинейных поверхностей
- •Метод двоичного разбиения пространства
- •Метод трассировки лучей
- •Вопросы и упражнения
- •Лекция №8 Проецирование пространственных сцен Основные типы проекций
- •Параллельные проекции
- •Центральные проекции
- •Математический аппарат
- •Ортогональные проекции
- •Косоугольные проекции
- •Центральные проекции
- •Специальные картографические проекции. Экзотические проекции земной сферы
- •Стереографическая проекция
- •Гномоническая проекция
- •Ортографическая проекция
- •Проекции на цилиндр
- •Проекция Меркатора
- •Проекции на многогранник
- •Необычные проекции
- •Вопросы и упражнения
- •Лекция 9 Растровое преобразование графических примитивов
- •Алгоритм Брезенхема растровой дискретизации отрезка
- •Алгоритмы Брезенхема растровой дискретизации окружности и эллипса
- •Алгоритмы заполнения областей
- •Вопросы и упражнения
- •Лекция 10 Закрашивание. Рендеринг полигональных моделей
- •Простая модель освещения
- •Закраска граней Плоское закрашивание
- •Закраска методом Гуро
- •Закраска методом Фонга
- •Более сложные модели освещения
- •Устранение ступенчатости (антиэлайзинг)
- •Вопросы и упражнения
- •Лекция 11 Визуализация пространственных реалистических сцен Свето-теневой анализ
- •Метод излучательности
- •Глобальная модель освещения с трассировкой лучей
- •Текстуры
- •Вопросы и упражнения
- •Учебники к курсу
- •Список литературы
Косоугольные проекции
Рассмотрим косоугольную проекцию на
плоскость
,
при которой орт
переходит
в вектор
,
т.е. направление проекции задается
вектором
.
Такое преобразование в пространстве
однородных координат можно задать с
помощью матрицы

В проекции кавалье вектор
переходит
в вектор
,
а в кабинетной проекции - в вектор
,
причем в обеих проекциях
.
Центральные проекции
Предположим, что центр проекции находится
в точке
,
а картинная плоскость совпадает с
плоскостью
.
Возьмем произвольную точку изображаемого
объекта
и
определим ее проекцию на выбранную
плоскость (рис.
8.7).

Рис. 8.7. Центральная проекция на плоскость XOY
Прямую, проходящую через точки
и
,
зададим в параметрическом виде:
|
|
(8.1) |
Теперь найдем точку пересечения этой прямой с картинной плоскостью. Она определяется из условия равенства нулю третьей координаты:
![]()
откуда определяем значение параметра
,
при котором точка прямой принадлежит
координатной плоскости:
![]()
Подставляя это значение в формулу (8.1),
мы получим координаты проекции точки
:
|
|
(8.2) |
Фактором, влияющим на перспективное
изменение размеров, является наличие
координаты
в
знаменателе. Чем ближе оказывается
точка к центру проекции, тем больше
знаменатель, а соответственно и координаты
точки.
Мы будем рассматривать ситуацию, когда
центр проекции лежит на оси
,
а сама ось направлена от наблюдателя к
проекционной плоскости, т.е.
.
Тогда формулы (8.2) приобретают вид
|
|
(8.3) |
В однородных координатах такое
преобразование можно записать с помощью
двух операций. Сначала умножаем матрицу
проективного преобразования
на
исходную точку и получаем точку в
четырехмерном пространстве:
|
|
(8.4) |
Затем проецируем эту точку в пространство однородных координат путем деления на четвертую компоненту:
![]()
Посмотрим теперь, что происходит с
пучком параллельных прямых под действием
матрицы проекции. Пусть задан пучок
прямых, параллельных вектору
.
Тогда параметрическое уравнение прямой,
принадлежащей этому пучку, имеет вид
![]()
Из формулы (8.4) следует, что в результате проецирования получим множество точек
![]()
Переходя к однородным координатам и
умножив числитель и знаменатель каждой
дроби на
,
получим точки
вида
![]()
Теперь в каждой компоненте вектора
числитель и знаменатель поделим на
:
![]()
Переходя к пределу при
,
получим точку
![]()
Таким образом, получаем, что после
проецирования пучок параллельных прямых
пересекается в точке схода
.
Понятно, что у каждого пучка своя точка
схода. Если пучок прямых параллелен
плоскости
,
т.е.
,
то точка схода оказывается на бесконечности,
а значит, прямые остаются параллельными.
Для построения перспективной проекции с несколькими точками схода используется матрица перспективного преобразования без проецирования:

Теперь точки пространства сначала подвергаются перспективному преобразованию, а затем осуществляется проекция.
Определим точки схода для прямых,
параллельных осям координат. Для прямых
результатом
проективного преобразования будет
множество точек
,
где
.
При
получим
точку с координатами
.
При проекции на плоскость
получим
точку
.
Пучок прямых
перейдет
в
,
а точкой схода для него будет
,
которая при проецировании перейдет в
точку, лежащую на оси
.
Аналогично для пучка прямых, параллельных
оси
,
получим точку схода на оси
.
Эти три точки на плоскости являются
главными точками схода.


