Алгоритмы компьютерной графики. В 3 ч. Ч. 3 (200
.pdfa b p
c d q ,
m n s
где коэффициенты:
a, b, c и d – отвечают за изменение масштаба, сдвиг и вращение; m и n отвечают за перенос;
p и q отвечают за получение проекций;
s – отвечает за полное изменение масштаба. Для примера:
1 0 0
x y 1 0 1 0 |
x y s |
x / s y / s 1 , |
0 0 s
при s < 1 происходит общее увеличение масштаба по осям координат, при s > 1 – уменьшение.
3.3. Двумерное вращение вокруг произвольной оси
Ранее рассматривалось вращение вокруг начала координат. Однородные координаты обеспечивают вращение относительно произвольной точки. Вращение выполняется в несколько этапов:
–перенос центра вращения в начало координат;
–поворот относительно начала координат;
–перенос центра вращения в исходное положение.
То есть вращение на произвольный угол выглядит следующим образом:
1 |
0 |
0 |
cos |
sin |
0 |
1 |
0 |
0 |
x y 1 0 |
1 |
0 |
sin |
cos |
0 |
0 |
1 |
0 |
n |
m |
1 |
0 |
0 |
1 |
m |
n |
1 |
|
cos |
|
sin |
0 |
x y 1 |
sin |
|
cos |
0 . |
m cos |
1 n sin |
m sin |
n cos 1 |
1 |
|
|
41 |
|
|
Аналогично выполняются и другие преобразования.
3.4. Трехмерные преобразования
Рассмотрим трехмерную декартову систему координат, являю-
щуюся правосторонней (рис. 3.4).
Y
Z X
Рис. 3.4. Декартова система координат
Будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90против часовой стрелки будет переводить одну полуось в другую. На основе этого соглашения строится таблица.
Направления поворота в декартовой системе координат
Ось вращения |
Положительное направление поворота |
|
|
X |
от Y к Z |
|
|
Y |
от Z к Х |
|
|
Z |
от Х к Y |
|
|
Аналогично двумерному пространству точка в трехмерном пространстве описывается вектором
[x y z].
42
И аналогично для реализации трехмерного преобразования перейдем к однородным координатам:
x y z 1 X Y Z H |
X |
|
Y |
|
Z |
1 . |
|
|
|
|
|
||
H |
|
H |
|
H |
||
|
|
|
|
Обобщенная матрица преобразования для трехмерных координат (4 × 4) также делится на 4 части:
a |
b |
c |
p |
|
d |
e |
f |
q |
, |
h |
i |
j |
r |
|
l |
m |
n |
s |
|
где коэффициенты:
a, b, c, d, e, f, h, i и j – отвечают за изменение масштаба, сдвиг и вращение;
l, m и n – отвечают за перенос;
p, q и r – отвечают за преобразования в перспективе; s – отвечает за полное изменение масштаба. Рассмотрим частные случаи:
– изменение масштаба
|
Sx |
0 |
0 |
0 |
|
|
|
|
x y z 1 |
0 |
Sy |
0 |
0 |
Sx x |
Sy y |
Sz z 1 ; |
|
0 |
0 |
Sz |
0 |
|||||
|
|
|
|
|||||
|
0 |
0 |
0 |
1 |
|
|
|
– сдвиг
43
|
|
|
1 |
b |
c |
0 |
x |
y |
z 1 |
d |
1 |
f |
0 |
|
|
|
h |
i |
1 |
0 |
|
|
|
0 |
0 |
0 |
1 |
x yd |
hz |
bx |
y |
iz |
cx |
fy z 1 ; |
– вращение вокруг оси X
|
1 |
0 |
0 |
0 |
T |
0 |
cosθ |
sin θ |
0 . |
|
0 |
sin θ |
cosθ |
0 |
|
0 |
0 |
0 |
1 |
Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и сдвига их не сохраняют.
44
Библиографический список
1.Роджерс Д. Алгоритмические основы машинной графики: пер. с
англ. – М.: Мир, 1989.
2.Роджерс Д., Адамс Дж. Математические основы машинной графики: пер. с англ. – М.: Машиностроение, 1980.
3.Роджерс Д., Адамс Дж. Математические основы машинной графики: пер. с англ. – М.: Мир, 2001.
4.Фоли Дж., вэн Дэм А. Основы интерактивной машинной графики: в 2 кн.; пер. с англ. – M.: Мир, 1985.
5.Вельтмандер П.В. Алгоритмы компьютерной графики: http://ermak.cs.nstu.ru/kg_rivs
6.Демин А.Ю., Кудинов А.В. Компьютерная графика: учеб. пособие. – Томск: Изд-во ТПУ, 2004.
7.Donald Hearn, M. Pauline Baker. Computer graphics: – Prentice Hall, Inc, 1994.
8.Пореев Виктор Н. Компьютерная графика. СПб.: БХВ-Петербург,
2005.
9.Блатнер Д., Фрейзер Б. Реальный мир Adobe Photoshop CS2: пер.
сангл. – М.: ООО «И.Д. Вильямс», 2007.
45
ОГЛАВЛЕНИЕ |
|
1. ПРИНЦИПЫ ФОРМИРОВАНИЯ ОТТЕНКОВ.................................... |
3 |
1.1. Модели смешения .............................................................................. |
3 |
1.2. Цветовые модели................................................................................ |
5 |
1.2.1. Модель RGB ................................................................................. |
5 |
1.2.2. Модели CMY и CMYK ................................................................ |
6 |
1.2.3. Модель YIQ .................................................................................. |
7 |
1.2.4. Модели HSV и HSB ..................................................................... |
8 |
1.2.5. Модель HLS ................................................................................ |
11 |
2. ПОСТРОЕНИЕ РЕАЛИСТИЧЕСКИХ ИЗОБРАЖЕНИЙ .................. |
14 |
2.1. Введение. Свойства человеческого глаза ...................................... |
14 |
2.2. Простая модель освещения ............................................................. |
16 |
2.2.1. Диффузное отражение ............................................................... |
17 |
2.2.2. Зеркальное отражение ............................................................... |
18 |
2.2.3. «Полная» простая модель освещения ...................................... |
20 |
2.2.4. Определение нормали к поверхности ...................................... |
20 |
2.2.5. Определение вектора отражения .............................................. |
23 |
2.3. Закраска методом Гуро .................................................................... |
26 |
2.4. Закраска методом Фонга ................................................................. |
29 |
2.5. Модель Варна ................................................................................... |
30 |
2.6. Прозрачность .................................................................................... |
31 |
46 |
|
3. ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ ....................................... |
34 |
3.1. Двумерные преобразования ............................................................ |
34 |
3.2. Однородные координаты................................................................. |
39 |
3.3. Двумерное вращение вокруг произвольной оси ........................... |
41 |
3.4. Трехмерные преобразования........................................................... |
42 |
Библиографический список ...................................................................... |
45 |
47
Дружинин Алексей Иванович Дружинина Татьяна Алексеевна
АЛГОРИТМЫ КОМПЬЮТЕРНОЙ ГРАФИКИ
Часть 3
Учебное пособие
Редактор Л.Н. Ветчакова
Выпускающий редактор И.П. Брованова
Корректор И.Е. Семенова
Дизайн обложки А.В. Ладыжская Компьютерная верстка Л.А. Веселовская
___________________________________________________________________________________
Подписано в печать 12.10.2009. Формат 60 × 84 1/16. Бумага офсетная. Тираж 100 экз. Уч.-изд. л. 2,79. Печ. л. 3,0. Изд. № 123. Заказ № Цена договорная
___________________________________________________________________________________
Отпечатано в типографии Новосибирского государственного технического университета
630092, г. Новосибирск, пр. К. Маркса, 20