- •А.А. Шелестов
- •Содержание
- •Введение
- •1Системы компьютерной графиКи на персональных компьютерах
- •2 Математические основы компьютерной графики
- •2.1 Преобразования на плоскости
- •2.1.1 Матричные операции
- •2.1.2 Преобразование точек
- •2.1.3 Преобразование с помощью однородных координат
- •2.2 Трехмерные преобразования
- •2.2.1 Изменение масштаба
- •2.2.2 Смещение
- •2.2.3 Вращение вокруг координатных осей
- •2.2.4 Отображение относительно координатных плоскостей
- •2.2.5 Пространственный перенос
- •2.2.6 Трехмерное вращение вокруг произвольной оси
- •2.3 Виды плоских проекций
- •2.3.1 Аксонометрические проекции
- •2.3.2 Диметрическая проекция
- •2.3.3 Изометрия, триметрия.
- •2.3.4 Косоугольные проекции
- •2.3.5 Перспективные преобразования и проекции.
- •3 Алгоритмические основы компьютерной графики
- •3.1 Построение реалистических изображений
- •3.2 Простая модель освещения
- •3.3 Определение нормали к поверхности
- •3.4 Определение вектора отражения
- •3.5 Модель освещения со спецэффектами
- •3.6 Создание реалистического изображения
- •3.6.2 Вращение тела
- •3.6.3 Закраска поверхностей и наложение текстуры на поверхность
- •3.6.4 Удаление невидимых граней
- •3.7 Закраска методом Гуро
- •3.8. Закраска Фонга
- •3.9 Яркость и освещенность
- •3.10 Отсечение
- •3.11 Прозрачность
- •3.12 Тени
- •3.13 Текстура
- •3.14 Фактура
- •Контрольная работа по курсу «компьютерная графика»
- •Раздел 1…3. Для каждого задания включить:
- •Раздел 4. Заключение
- •Вопросы по дисциплине "Компьютерная графика"
- •Устройства ввода изображений в кг.
- •Устройства вывода изображений в кг.
- •Список использованных источников
- •Возможности графического представления в microsoft excel Введение
- •Основы работы в Microsoft Excel Структура рабочей книги
- •Заполнение ячеек
- •Создание формул Выполнение быстрых вычислений на листе
- •Вставка итогов для диапазона ячеек
- •Создание общего итога
- •Создание формулы
- •Разрешение вопросов, возникающих при появлении ошибок в формулах
- •Ввод формул
- •Синтаксис формулы
- •Ссылки на ячейку
- •Функции
- •Правка формулы
- •Использование функций для вычисления значений
- •Функции работы с базами данных
- •Диаграммы Алгоритм задания диаграммы
- •Создание диаграмм
- •Создание диаграммы для сводной таблицы с полями страниц
- •Диаграмма для видимых данных
- •Диаграмма для нескольких радов данных
- •Изменение способа отображения данных на диаграмме
- •Изменение значений, отображаемых на диаграмме
- •Изменение формата диаграммы
- •Переход на диаграмму и выбор ее элементов
- •Вставка меток значений
- •Удаление надписей, названий, легенды или сетки
- •Удаление рядов данных
- •Линии тренда на диаграмме
- •Изменение типа диаграммы
- •Работа с географическими картами
- •Рекомендации по настройке данных для создания карты
- •Создание географической карты
- •Ввод данных в географическую карту
2.1.2 Преобразование точек
Рассмотрим результаты матричного
умножения матрицы
,
определяющей точкуРна плоскости,
и матрицы преобразования 22
общего вида:
(2.9)
Эта запись
означает, что координаты точки Р: (x,
y)преобразованы в
,
где
;
.
Проведем анализ этого преобразования,
рассматривая отдельные частные случаи.
1) a = d = 1,c = b = 0
(2.10)
то есть положение точки Рне изменилось.
2) d = 1,b = c = 0
(2.11)
Получили
изменение масштаба по оси x:
или
перемещение точкиРпо осиx.
Еслиa>1, то происходит увеличение
масштаба (перемещение вправо); если0<a<1, то уменьшение масштаба
(перемещение влево). Еслиa<0, то
происходят аналогичные изменения, но
с отображением относительно осиy.
3) a = 1,b = c = 0
![]()
(2.12)
Здесь происходят аналогичные изменения масштаба, но по оси y, и отображение (еслиd<0) относительно осиx.
4) b = c = 0
(2.13)
Изменение масштаба (перемещение) происходит по обеим осям (если a=d, то координаты пропорционально изменяются), отображение, еслиa<0илиd<0, то относительно осейyилиxсоответственно, а еслиa = d < 0вместе, то относительно начала координат.
5) a = d = 1, c = 0
(2.14)
Координата
xточки
не изменяется, а координатаyлинейно
зависит от начала координат. Этот эффект
называется смещением.
6) a = d = 1, b = 0
(2.15)
Здесь все аналогично, но смещение происходит вдоль оси xна величинуcy.
В заключение отметим, что преобразование общего вида (2.1), примененное к началу координат, не изменяет положения начала координат, т.е.:
(2.16)
Иными словами, начало координат инвариантно к преобразованию22. Это является недостатком такого преобразования, который будет преодолен введением однородных координат.
2.1.3 Преобразование с помощью однородных координат
Очень часто используемым преобразованием в компьютерной графике является преобразование переноса начала координат. Раньше мы уже убедились, что такое преобразование нельзя реализовать умножением на матрицу 22 (начало координат инвариантно к умножению на матрицу 22). Эту трудность можно устранить, введя третью компоненту в вектор координат точки и третью строку в матрицу преобразования. Получим:
(2.17)
То есть, введенная третья строка как раз и реализует требуемый перенос.
Однако матрица преобразования 32 не является квадратной и, значит, не имеет обратной матрицы. Это часто оказывается неудобным. Поэтому дополним ее до квадратной матрицы, получим:
(2.18)
Итак, теперь мы имеем трехмерный вектор координат точки на плоскости и матрицу преобразования размера 33.
В случае произвольных значений элементов матрицы 33 получим вектор преобразованных координат вида [x y h].
Представление двумерного вектора трехмерным или, в общем случае, представление n-мерного вектора (n+1)-мерным называетсяоднородным координатным воспроизведением; координатыx,y,h-однородными координатами.
Однородные координаты интерпретируются как результат масштабного преобразования точки [x y], лежащей в плоскости
z = 1, в точку [x y] в плоскостиz= h. При однородном координатном преобразованииn - мерного вектора оно выполняется в (n+1) -мерном пространстве, а конечные результаты вn-мерном пространстве получают как:
.
(2.19)
Очевидно, что для любой точки на плоскости
существует бесконечное множество
однородных координатных представлений
.
Например, однородные координаты (12,8,4),
(6,4,2), (3,2,1) представляют одну и ту же точку
(3,2). Отметим, что все преобразования
матрицей 22 (вращение,
отображение, покоординатное масштабирование,
смещение) реализуются в однородных
координатах с помощью матрицы:

(2.20)
,
(2.21)
то есть результат тот же, что и для матрицы 22:
(2.22)
Введение однородных координат и применение матрицы преобразования 33 общего вида

дает довольно много дополнительных преимуществ.
Влияние элементов m,nтретьей строки матрицы 33 мы уже рассмотрели - они реализуют перенос. Рассмотрим влияние элементов третьего столбца:p,q,s.
1) матрица
,
тогда
(2.23)
(2.24)
Видно, что элемент sреализуетполное изменение масштаба(приs>1– уменьшение; приs<1– увеличение), то есть то же самое, что реализуется в случае использования обычных координат и матрицы 22 вида
![]()
2) матрица

В общем виде
(2.25)
(2.26)
