- •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) |
