
- •Введение.
- •Цели, задачи и структура курса.
- •Предмет компьютерной графики.
- •Сферы применения компьютерной графики.
- •Отображение информации.
- •Проектирование.
- •Моделирование.
- •Интерфейс пользователя.
- •Графическая система.
- •Объект и наблюдатель.
- •Визуализация изображений.
- •Растровая визуализация.
- •Векторная визуализация.
- •Цвет
- •Свет и изображение.
- •Глаз человека.
- •Характеристики цвета.
- •Цветовые модели.
- •Глубина цвета
- •Палитра
- •Координаты.
- •Прямоугольная система координат на плоскости.
- •Прямоугольная система координат в 3-x мерном пространстве.
- •Прямоугольная система координат в n-мерном пространстве.
- •Полярная система координат.
- •Графическое представление.
- •Трёхмерное расширение.
- •Цилиндрическая система координат.
- •Сферическая система координат.
- •Координаты в матричном виде.
- •Произведение матриц.
- •Преобразование координат.
- •Аффинные преобразования координат.
- •Аффинные преобразования координат на плоскости.
- •Однородные координаты.
- •Аффинные преобразования координат в трехмерном пространстве.
- •Преобразования объектов.
- •Аффинные преобразования объектов на плоскости.
- •Трехмерные аффинные преобразования объектов.
- •Композиция преобразований.
- •Эффективность преобразований.
- •Базовые растровые алгоритмы.
- •Связность.
- •Алгоритмы вывода прямой линии
- •Прямое вычисление координат.
- •Алгоритм Брезенхэма.
- •Алгоритм вывода окружности.
- •Алгоритм Брезенхэма построения окружности.
- •Растеризация многоугольника.
- •Алгоритм со списком реберных пересечений.
- •Алгоритм заполнения со списком активных ребер.
- •Заливка с затравкой.
- •Алгоритмы отсечения.
- •Отсечение отрезков.
- •Алгоритм Коэна-Сазерленда.
- •FC-алгоритм.
- •Алгоритм Лианга-Барски.
- •Двумерный алгоритм Кируса — Бека
- •Проверка выпуклости многоугольника и определение нормалей
- •Алгоритм с использованием векторных произведений
- •Разбиение не выпуклых многоугольников
- •Отсечение многоугольника
- •Алгоритм Сазерленда-Ходгмана
- •Простой алгоритм отсечения многоугольника
- •Алгоритм отсечения многоугольника Вейлера-Азертона
- •Удаление невидимых линий и поверхностей.
- •Алгоритм удаления поверхностей с Z-буфером.
- •Алгоритм разбиения области Варнока.
- •Алгоритм трассировки лучей.
Компьютерная графика.
X =x , |
|
|
1 |
|
0 |
|
0 |
|
0 |
|
Rx (α ) = |
|
0 |
cos α |
sin α |
0 |
. |
||||
Y =y cos α +z sin α , |
|
|||||||||
{Z =−y sinα + z cosα , |
|
[00 |
−sin0 |
α |
cos0 |
α |
10] |
|
||
Поворот вокруг y оси на угол β. |
|
|
|
|
|
|
|
|
|
|
X =x cos β +z sin β , |
|
|
cos β |
0 |
sin β |
0 |
|
|||
|
|
|
0 |
|
1 |
0 |
|
0 |
|
|
{YZ =−=y ,x sin β +z cos β , |
|
|
|
|
|
|
||||
Ry (β ) = [−sin0 |
β |
00 |
cos0 |
β |
10]. |
|||||
Поворот вокруг z оси на угол γ. |
|
|
|
|
|
|
|
|
|
|
X =x cos β +z sin β , |
|
|
cosγ |
sin γ |
0 |
0 |
|
|||
|
−sin γ |
cos γ |
0 |
0 |
|
|||||
{YZ =−=y ,x sin β +z cos β , |
|
|
||||||||
Rz (γ ) = [ |
|
00 |
|
00 |
|
01 |
10]. |
Преобразования объектов.
Преобразование объектов можно описать так. Пусть любая точка, которая принадлежит определенному объекту, имеет координаты (k1 ,k 2 ,k 3 , … ,k n) в n-
мерной системе координат. Тогда преобразование объекта можно определить как изменение положения точек объекта. Новое положение точки пространства отвечает новым значениям координат (m1 ,m2 ,m3 , ... ,mn) .
Соотношение между старыми и новыми |
координатами для всех точек объекта |
(m1 ,m2 ,m3 , ... ,mn)= F (k1 ,k2 ,k3 ,… ,kn ) |
и будет определять преобразование |
объекта, где F — функция преобразования.
Классифицировать преобразования объектов можно согласно типу функции преобразования и типу системы координат.
Например, преобразование объектов на плоскости можно определить так:
{X =Fx( x , y), Y =Fy( x , y).
В трехмерном пространстве:
{X =Fx( x , y , z), Y =Fy (x , y , z) , Z=Fz (x , y , z).
Рассмотрим отдельные типы преобразований объектов.
Аффинные преобразования объектов на плоскости.
Аффинные преобразования объектов на плоскости описываются так:
-26-
Компьютерная графика.
{X =Ax +By+C , Y =Dx +Ey+F.
где А, В, ..., F — константы; (х, у) — координаты до преобразования; (X, Y) — новые координаты точек объектов.
Рассмотрим частные случаи аффинного преобразования Параллельный перенос.
X =x+dx , |
|
1 |
0 |
dx |
|
|
T (dx ,dy) = [00 |
00 |
dy1 ]. |
|
|||
{Y = y+dy , |
|
|||||
Масштабирование. |
|
|
|
|
|
|
X =x sx , |
|
sx |
0 |
0 |
|
|
|
[00 |
sy0 10]. |
|
|||
{Y = y sy , |
S (sx , sy) = |
|
||||
Поворот. |
|
|
|
|
|
|
X =x cos α− y sin α |
cos α |
−sin α |
0 |
|||
[sin0 |
|
cos0 |
|
10] |
||
{Y =x sin α + y cos α R(α) = |
α |
α |
Трехмерные аффинные преобразования объектов.
Приведем в виде формулы:
{X =Ax+By +Cz+ D ,
Y =Ex +Fy+Gz +H ,
Z =Kx +Ly+Mz+N ,
где А, В,..., N — константы.
Рассмотрим частные случаи трехмерного аффинного преобразования объектов. Параллельный перенос.
{X =x+dx Y = y+dy
Z=z+dz
1 |
0 |
0 |
dx |
] |
0 |
1 |
0 |
dy |
|
T (dx ,dy ,dz ) = [00 |
00 |
01 |
dz1 |
Масштабирование.
X =x sx |
S (sx , sy , sz) = [ |
sx |
0 |
0 |
0 |
] |
|
0 |
sy |
0 |
0 |
||||
{YZ==zy szsy |
|||||||
00 |
00 |
sz0 |
10 |
-27-