- •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 Визуализация пространственных реалистических сцен Свето-теневой анализ
- •Метод излучательности
- •Глобальная модель освещения с трассировкой лучей
- •Текстуры
- •Вопросы и упражнения
- •Учебники к курсу
- •Список литературы
Вопросы и упражнения
-
Расположите в убывающем порядке чувствительность рецепторов глаза к цветам: красный, зеленый, синий.
-
Что такое хроматический спектр?
-
Что такое ахроматический спектр?
-
Как осуществляется проекция трехмерного цветового пространства на плоскость?
-
Чем отличается цветовой график МКО от треугольной проекционной области цветового пространства?
-
Что такое дополнительный цвет?
-
Что такое аддитивная и субстрактивная цветовые модели? Чем отличаются их цветовые кубы?
-
Что является основой цветовой модели HSV и HLS?
-
Являются ли цветовые модели HSV и HLS аддитивными или субстрактивными?
-
Постройте алгоритм преобразования модели RGB в HSV.
-
Постройте алгоритм преобразования модели RGB в HLS.
-
В чем состоит главное достоинство цветового пространства Luv?
-
В чем состоит главное достоинство цветового пространства Lab?
Лекция №3 Геометрические преобразования Системы координат и векторы
Для дальнейшего изложения нам понадобятся некоторые сведения из аналитической геометрии и линейной алгебры. Не ставя перед собой задачу подробного рассмотрения всех этих вопросов, приведем (или напомним) те основные понятия и операции, которые используются в алгоритмах компьютерной графики.
Две взаимно перпендикулярные пересекающиеся прямые с заданным масштабом образуют декартову прямоугольную систему координат на плоскости. Точка пересечения O называется началом координат, прямые называются осями координат. Одну из осей называют осью OX, или осью абсцисс, другую - осью OY, или осью ординат. Эти оси также называют координатными осями.
Возьмем произвольную точку на плоскости с заданной системой координат. Пусть и - проекции этой точки на оси абсцисс и ординат соответственно, причем длина отрезка равна , а длина равна . Тогда пара чисел называется декартовыми координатами точки на плоскости (абсциссой и ординатой точки).
Три взаимно перпендикулярные пересекающиеся прямые с заданным масштабом образуют декартову прямоугольную систему координат в пространстве. Так же как и в случае плоскости, точка пересечения O называется началом координат, прямые называются осями координат. Одну из осей называют осью OX, или осью абсцисс, другую - осью OY, или осью ординат, третью - осью OZ, или осью аппликат.
Пусть , и - проекции произвольной точки в пространстве на оси абсцисс, ординат и аппликат соответственно, причем длина отрезка равна , длина равна , а длина равна . Тогда тройка чисел называется декартовыми координатами точки в пространстве (абсциссой, ординатой и аппликатой точки).
Рис. 3.1. Система координат на плоскости
Пусть на плоскости задана декартова система координат. Возьмем две точки с координатами и соответственно. Тогда, используя терему Пифагора, можно получить, что расстояние между этими двумя точками выражается формулой
Расстояние между двумя точками в пространстве с координатами и выражается аналогичной формулой:
Рис. 3.2. Система координат в пространстве
Отрезок на плоскости и в пространстве задается с помощью двух точек, указывающих его границы. Геометрическим вектором, или просто вектором в пространстве, будем называть отрезок, у которого указано, какая из его граничных точек является началом, а какая - концом (т.е. указано направление вектора). Начало вектора называют точкой его приложения. Вектор называется нулевым, если его начало и конец совпадают. Векторы называются коллинеарными, если они лежат на параллельных прямых. Векторы считаются равными, если они коллинеарны, имеют одинаковую длину и одинаковое направление. Таким образом, все векторы, получающиеся параллельным переносом из одного и того же вектора, равны мeжду собой. Любая точка на плоскости и в пространстве может рассматриваться как вектор, начало которого совпадает с началом координат (радиус-вектор), а каждый вектор, перенесенный в начало координат, задает своим концом единственную точку пространства. Поэтому любой вектор может быть представлен совокупностью своих координат в декартовой системе.
Линейными операциями над векторами принято называть операции сложения векторов и операцию умножения вектора на число.
Суммой двух векторов и называется вектор, идущий из начала вектора в конец вектора , при условии, что вектор приложен к концу вектора .
Перечислим основные свойства операции сложения векторов:
-
-
-
Существует нулевой вектор , такой, что для любого вектора .
-
Для каждого вектора существует противоположный ему вектор , такой, что
.
Разностью двух векторов и называется такой вектор , который в сумме с вектором дает вектор .
Произведением вектора на число называется вектор , коллинеарный вектору , имеющий длину и направление, совпадающее с направлением вектора при и противоположное направлению при . Геометрический смысл умножения вектора на число состоит в том, что длина вектора увеличивается в раз.
Операция умножения вектора на число обладает следующими свойствами:
-
(распределительное свойство числового сомножителя относительно суммы векторов);
-
(распределительное свойство векторного сомножителя относительно суммы чисел);
-
(сочетательное свойство числовых сомножителей);
-
если вектор коллинеарен ненулевому вектору , то существует вещественное число , такое, что .
Линейной комбинацией векторов и называется вектор . При этом числа и называются коэффициентами разложения вектора по векторам и .
Если два вектора и заданы своими координатами и , то операции над ними легко выразить через эти координаты:
Векторы , и называются компланарными, если они лежат в одной плоскости.
Векторы называются линейно независимыми, если равенство нулю их линейной комбинации возможно только в случае равенства нулю коэффициентов и .
Справедливы следующие свойства:
-
Каковы бы ни были неколлинеарные векторы и , для любого вектора , лежащего в одной плоскости с ними, существуют числа и , такие, что , причем такая пара чисел для каждого вектора единственная. Такое представление вектора называется разложением по векторам и .
-
Каковы бы ни были некомпланарные векторы , и , для любого вектора существуют числа , и , такие, что , причем эта тройка чисел для каждого вектора - единственная (разложение вектора по векторам ).
-
Любые три вектора в системе координат плоскости являются линейно зависимыми.
-
Любые четыре вектора в системе координат пространства являются линейно зависимыми.
Говорят, что пара линейно независимых векторов на плоскости (тройка линейно независимых векторов в пространстве) образуют базис, поскольку любой вектор может быть представлен в виде линейной комбинации этих векторов. Коэффициенты разложения вектора по базисным векторам называются координатами вектора в этом базисе. Если векторы базиса взаимно перпендикулярны и имеют единичную длину, то базис называется ортонормированным, а векторы базиса называются ортами. Таким образом, базис из единичных векторов, направленных вдоль осей декартовой системы координат, является ортонормированным.
Скалярным произведением векторов и называется число, равное произведению длин этих векторов на косинус угла между ними. Будем обозначать скалярное произведение векторов символом . Тогда скалярное произведение можно выразить формулой
Несложно доказать следующие свойства данной операции.
-
Скалярное произведение двух ненулевых векторов равно нулю тогда и только тогда, когда эти векторы ортогональны.
-
Если угол между двумя векторами острый, то скалярное произведение этих векторов положительно, если же угол тупой, то скалярное произведение отрицательно.
-
(свойство коммутативности).
-
(сочетательное относительно числового множителя свойство).
-
(распределительное относительно суммы векторов свойство).
-
Скалярное произведение вектора самого на себя равно квадрату длины вектора.
Приведем некоторые формулы, связанные с разложением вектора в декартовой системе координат.
Пусть векторы и заданы своими координатами и . Тогда их скалярное произведение может быть вычислено по формуле
(3.1) |
Отсюда следует условие перпендикулярности векторов:
И, наконец, косинус угла между векторами вычисляется по формуле
(3.2) |
Теперь расстояние между двумя точками с координатами и можно выразить через скалярное произведение соответствующих векторов:
Введем еще одно понятие, касающееся векторов. Три вектора называются упорядоченной тройкой, если указано, какой из этих векторов является первым, какой - вторым и какой - третьим. При записи тройки векторов будем располагать эти векторы в порядке их следования. Так, запись означает, что первым вектором тройки является вектор , вторым - , третьим - .
Тройка векторов называется правой (левой), если после приведения к общему началу вектор располагается по ту сторону от плоскости, содержащей векторы , , откуда кратчайший поворот от к кажется совершающимся против часовой стрелки (по часовой стрелке).
Векторным произведением вектора на вектор называется вектор , обозначаемый символом и удовлетворяющий следующим требованиям:
-
длина вектора равна произведению длин векторов , на синус угла между ними, т.е.
-
вектор ортогонален векторам , ;
-
вектор направлен так, что тройка векторов является правой.
Приведем (без доказательства) основные свойства векторного произведения.
-
(антисимметричность);
-
(сочетательное свойство относительно умножения на число);
-
(распределительное свойство относительно сложения);
-
для любого вектора .
Ясно, что векторное произведение двух коллинеарных векторов дает нулевой вектор. Выведем теперь формулу для векторного произведения. Пусть базисные векторы декартовой системы координат образуют правую тройку. Тогда справедливы следующие соотношения:
Если заданы два вектора и , то, учитывая свойства векторного произведения, отсюда легко вывести, что
где
(3.3) |