абораторная работа №3. Исследование пространственных преобразований графических объектов.

Целью работы являетсязакрепление на практике знаний математического аппарата, положенного в основу пространственных преобразований графических объектов (на примере преобразований четырехгранников).

Теоретическая справка.При пространственных преобразованиях графических объектов каждая точка P(x,y,z) в пространстве однозначно отображается содержащей однородные координаты этой точки матрицей (координатным вектором) размером 1´4 вида . Отрезку прямой между точками (x1, y1 ,z1) и (x 2 , y2 ,z2) ставится в соответствие 2´4 матрица вида . Многогранник может быть представлен M´4 матрицей (где M – число вершин многогранника), содержащей однородные координаты его вершин: . Преобразования осуществляются путем умножения таких матриц на матрицу общего преобразования размером 4´4 вида . Результат преобразования зависит от конкретного вида матрицы преобразования. Если координатный вектор преобразованной точки содержит h 1 и h 0, результат нормализуют путем деления всех четырех составляющих однородных координат на h, т.е. приводят к виду , где x* = x¢/h, y* = y¢/h, z* = z¢/h. Равенство нулю координаты h в результате матричного умножения (координатный вектор преобразованной точки при этом имеет вид ) свидетельствует о том, что исходная точка преобразована в точку бесконечности, лежащую на луче, который идет из начала координат через точку (,,).

Матрицы простых пространственных преобразований графических объектов представлены в приложении 2.

Рекомендации по выполнению лабораторной работы:

Ряд последовательных преобразований объекта можно комбинировать: предварительно рассчитав матрицу полного преобразования путем перемножения в строгой последовательности матриц отдельных преобразований, применить ее для преобразования исходного объекта.

1. Согласуйте с ведущим преподавателем номер варианта, в соответствии с которым вы будете проводить исследования. Варианты заданий представлены в таблице 2. Ознакомьтесь с данным вариантом задания (с рекомендуемыми значениями координат вершин исходного четырёхгранника и – при выполнении соответствующих пунктов программы – коэффициентов матрицы общего преобразования или иных параметров преобразования).

2. Осуществите следующие преобразования исходного четырехгранника, удаляя каждый раз перед очередным преобразованием результат предыдущего[2]:

a) локальное масштабирование по координатным осям x и z, используя одну матричную операцию;

b) симметричное отражение относительно координатной плоскости xz (y = 0);

c) симметричное отражение относительно оси x;

d) сдвиг вдоль оси x пропорционально координате z;

e) поворот на – 90° вокруг координатной оси z;

f) поворот на угол f вокруг координатной оси y.

Сформулируйте вывод относительно назначения коэффициентов левой верхней 3´3 подматрицы матрицы общего преобразования.

3. Осуществите перемещения исходного четырехгранника вдоль осей y и z, используя одну матричную операцию.

Сформулируйте вывод относительно назначения коэффициентов левой нижней 1´3 подматрицы матрицы общего преобразования.

4. Реализуйте по отношению к исходному четырехграннику проецирование в однородных координатах.

Сделайте выводы о математическом смысле проведенного преобразования и процедуры нормализации результата умножения матриц. Сформулируйте также вывод относительно назначения коэффициентов правой верхней 3´1 подматрицы матрицы общего преобразования.

5. Реализуйте общее масштабирование исходного четырехгранника.

Сформулируйте вывод относительно назначения коэффициента правой нижней 1´1 подматрицы матрицы общего преобразования.

6. Осуществите поворот исходного четырехгранника на угол f вокруг прямой линии, параллельной координатной оси y и заданной, соответственно, значениями двух координат: x = l, z = n; используйте при этом следующие последовательные преобразования:

a) переместите объект преобразования таким образом, чтобы прямая, относительно которой совершается поворот, совпала с осью y;

b) поверните объект на требуемый угол вокруг оси y;

c) осуществите обратное (по отношению к п/п. a) перемещение объекта.

7. Рассчитайте матрицу полного преобразования, реализованного в предыдущем пункте. Примените ее для преобразования исходного четырехгранника. Сравните результаты, полученные в настоящем и предыдущем пунктах.

8. Осуществите поворот исходного четырехгранника на угол вокруг прямой линии, которая заданна точкой с координатами (0, 0, 0) и направляющим вектором, представленным матрицей ; используйте при этом следующие последовательные преобразования:

a) поверните объект преобразования вокруг двух координатных осей на соответствующие углы таким образом, чтобы прямая, относительно которой совершается поворот, совпала с какой-либо координатной осью;

b) реализуйте поворот на требуемый угол вокруг той координатной оси, с которой в п/п. a совмещена прямая;

c) осуществите обратные (по отношению к п/п. a) повороты в обратной же последовательности.

9. Реализуйте симметричное отражение исходного четырехгранника относительно плоскости , используя при этом следующие последовательные преобразования:

a) определив координаты какой-либо одной точки, принадлежащей плоскости отражения, переместите объект преобразования так, чтобы эта точка попала в начало координат;

b) поверните объект вокруг одной или двух координатных осей таким образом, чтобы плоскость отражения совпала с какой-либо координатной плоскостью;

c) симметрично отразите объект относительно той координатной плоскости, с которой в п/п. b совмещена плоскость отражения;

d) осуществите соответственно один или два обратных (по отношению к п/п. b) поворота (во втором случае – в обратной же последовательности);

e) осуществите обратное (по отношению к п/п. a) перемещение объекта.

По результатам выполнения пунктов 6, 7, 8 и 9 сформулируйте вывод о возможных путях реализации комбинаций пространственных преобразований.

10. Получите такую ортографическую проекцию исходного четырехгранника на плоскость xy (z = 0), в которой какая-либо грань объекта, не параллельная ни одной координатной плоскости, была бы отражена без искажения.

Сформулируйте вывод относительно возможности применения ортографического проецирования для формирования вспомогательных видов и сечений геометрически сложных трехмерных объектов с целью адекватного восприятия их формы.

 

Таблица 2.

Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №1
Координаты вершин исходного четырёхгранника
x1 = 100; y1 = 100; z1 = 50;x2 = 0; y2 = 100;z2 = 150; x3 = 100; y3 = 0; z3 = 150;x4 = 100; y4 = 100; z4 = 150
Пункт/подпункт программы работ Параметры преобразования
2a a = 3; j = 1.5*
2d g = 1.5*
2f f = 30°
m = 100; n = 150*
p = 0.03; q = 0.02*
s = 2*
f = 50°; l = 100; n = 50*
= 105°
D = -50
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)

______________________________________

 

Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №2
Координаты вершин исходного четырёхгранника
x1 = 200; y1 = 100; z1= 200;x2 = 200; y2 = 250; z2= 100; x3 = 100; y3 = 250; z3= 200;x4 = 200; y4 = 250; z4 = 200
Пункт/подпункт программы работ Параметры преобразования
2a a = 0.5; j = 1.5 *
2d g = -0.5*
2f f = 120°
m = 150; n = 100 *
p = 0.003;r = 0.001 *
s = 0.5*
f = 140°; l = 100; n = 100*
= 80°
D = 100
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)
Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №3
Координаты вершин исходного четырёхгранника
x1 = 100;y1 = 250; z1= 50;x2 = 100; y2 = 250; z2= 250; x3 = 200;y3 = 150; z3= 150; x4 = 200; y4 = 250; z4 = 150
Пункт/подпункт программы работ Параметры преобразования
2a a = 2.1; j = 1.2*
2d g = 1.3*
2f f = 45°
m = 50; n = 300 *
q = 0.01;r = 0.02*
s = 3*
f = 80°; l = 300; n = 150*
= 100°
D = 200
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)

______________________________________

 

Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №4
Координаты вершин исходного четырёхгранника
x1 = 100; y1 = 150;z1= 300;x2 = 200; y2 = 150; z2= 200; x3 = 100; y3 = 50; z3= 200;x4 = 100; y4 = 150; z4 = 200
Пункт/подпункт программы работ Параметры преобразования
2a a = 1.6; j = 1.2*
2d g = 1.1*
2f f = 90°
m = 50; n = -100*
p =0.002;q = 0.001;r = 0.003*
s = 0.6 *
f = 115°;l = 150;n = 150*
= 130°
D = -150
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)
Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №5
Координаты вершин исходного четырёхгранника
x1 = -200; y1 = -200;z1= 0;x2 = -100;y2 = -200; z2= 100; x3 = -200;y3 = -100; z3= 100;x4 = -200; y4 = -200; z4 = 100
Пункт/подпункт программы работ Параметры преобразования
2a a = 0.5; j = 0.8*
2d g = 1.2*
2f f = 30°
m = 300; n = 100*
q = 0.002*
s = 1.5*
f = 15°;l = 200;n = 100*
= 160°
D = -200
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)

______________________________________

 

Дисциплина: «Компьютерная графика»
Лабораторная работа №3 Вариант задания №6
Координаты вершин исходного четырёхгранника
x1 = -100; y1 = -100; z1= -300;x2 = +200;y2 = -100; z2= -200; x3 = -100; y3 = -200; z3= -200;x4 = -100; y4 = -100; z4 = -200
Пункт/подпункт программы работ Параметры преобразования
2a a = 0.4; j = 1.3*
2d g = 0.5*
2f f = 60°
m = 300; n = 400*
r = 0.008*
s = 1.8*
f = 250°;l = -400;n = -300*
= 210°
D = 130
* Значения остальных коэффициентов матрицы общего преобразования следует принимать такими же, как в матрице тождественного преобразования (см. приложение 1)