Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Графика Lab2.doc
Скачиваний:
3
Добавлен:
09.07.2019
Размер:
174.59 Кб
Скачать

Лабораторная работа №2

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

Требуется при помощи стандартных функций бибилиотеки (OpenGl или DirectX) изобразить указанные объекты, произвести необходимые преобразования, текстурировать объекты.

Кроме того, требуется выполнить преобразование одного каркасного трехмерного объекта в другой (из числа перечисленных в задании) – осуществить морфирование при помощи опорных точек. При этом начальный и конечный объекты задаются списками вершин. Затем производится расчет промежуточных положений (траектории движения) для каждой вершины исходного объекта с переходом в вершину конечного объекта. Если количество вершин не совпадает, то на определенном шаге часть из них «исчезает» или, наоборот, «появляется». Количество шагов должно быть таким, чтобы морфинг объектов был плавным.

Дополнительно можно реализовать морфинг текстурированных объектов.

Задание 1.

  1. Изобразить каркасный конус высотой 25, основание конуса - окружность с радиусом 5 и центром в точке O (10,10), и каркасную сферу радиусом 5 и центром в точке O (20,20).

  2. Совместить центр основания конуса и центр сферы.

  3. Изобразить тор и цилиндр. Размеры и местоположение примитивов задать самостоятельно.

  4. Наложить текстуры на тор и цилиндр.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 2.

  1. Изобразить каркасный куб со стороной 25 и с центром в точке O (40,30), и описать вокруг него каркасную сферу.

  2. Изобразить конус и цилиндр, где вершина конуса является центром основания цилиндра. Размеры и местоположение примитивов на экране задать самостоятельно.

  3. Наложить текстуры на конус и цилиндр.

  4. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 3.

  1. Изобразить каркасный цилиндр высотой 25, основание - окружность с радиусом 5 и центром в точке O (10,10), и каркасную сферу радиусом 5 и центром в точке O (20,20).

  2. Совместить центр основания цилиндра и центр сферы.

  3. Выполнить перемещение двух объектов на dx=10.

  4. Изобразить куб и цилиндр. Одна вершина куба совпадает с центром основания цилиндра. Размеры примитивов задать самостоятельно.

  5. Наложить текстуры на куб и цилиндр.

  6. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 4.

  1. Изобразить каркасный цилиндр высотой 60 и с центром основания в точке O (50,40), и каркасную сферу радиусом 30 и центром в точке О (50,40).

  2. Изобразить чайник и цилиндр. Размеры и местоположение примитивов на экране задать самостоятельно.

  3. Наложить текстуры на чайник и цилиндр.

  4. Переместить чайник так, чтобы он был расположен на цилиндре.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 5.

  1. Изобразить каркасный куб со стороной 25 и с центром в точке o (40,30), и описать вокруг него каркасную сферу.

  2. Изобразить конус и цилиндр, где вершина конуса является центром основания цилиндра. Размеры и местоположение примитивов на экране задать самостоятельно.

  3. Наложить текстуры на конус и цилиндр.

  4. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 6.

  1. Изобразить каркасный чайник и поместить его в каркасный куб. Размеры и местоположение примитивов на экране задать самостоятельно.

  2. Изобразить конус и сферу, где вершина конуса является центром сферы.

  3. Наложить текстуры на конус и сферу.

  4. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 7.

  1. Изобразить каркасный конус высотой 15, основание - окружность с радиусом 10 и центром в точке O (10,10), и каркасную сферу радиусом 5 и центром в вершине конуса.

  2. Выполнить поворот двух объектов на =-180 вокруг оси Z относительно начала координат.

  3. Изобразить куб и сферу. Одна вершина куба совпадает с центром сферы. Размеры примитивов задать самостоятельно.

  4. Наложить текстуры на куб и сферу.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 8.

  1. Изобразить каркасный тетраэдр и каркасную сферу. Размеры примитивов задать самостоятельно.

  2. Выполнить поворот тетраэдра на =-180 вокруг оси Х, сферы - на =-90 вокруг оси Z относительно начала координат.

  3. Изобразить тор и куб. Одна вершина куба совпадает с центром тора.

  4. Наложить текстуры на куб и тор.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 9.

  1. Изобразить каркасный октаэдр и каркасный куб, совмещая вершину октаэдра с одной из вершин куба.

  2. Выполнить поворот двух объектов на =--45 вокруг оси Х относительно начала координат и сдвиг на dx=5.

  3. Изобразить сферу и тор. Размеры примитивов задать самостоятельно.

  4. Наложить текстуры на тор и сферу.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 10.

  1. Изобразить каркасный додекаэдр и каркасный куб. Размеры примитивов задать самостоятельно.

  2. Выполнить поворот куба на =-30 вокруг оси Z, додекаэдра - на =-45 вокруг оси X относительно начала координат.

  3. Изобразить конус и тор. Вершина конуса совпадает с центром тора.

  4. Наложить текстуры на конус и тор.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 11.

  1. Изобразить каркасный куб со стороной 40 и с центром в точке O (50,50), и вписать вокруг него каркасную сферу.

  2. Выполнить поворот полученных примитивов относительно начала координат на =45 вокруг оси Z.

  3. Изобразить большой и малый куб, где их центры совпадают. Размеры и местоположение примитивов на экране задать самостоятельно.

  4. Наложить текстуры на объекты, считая большой куб полупрозрачным.

  5. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 12.

  1. Изобразить каркасный чайник и каркасную сферу.

  2. Выполнить сдвиг двух примитивов на dx=5, dy= -3.

  3. Изобразить тетраэдр и цилиндр. Размеры и местоположение примитивов задать самостоятельно.

  4. Наложить текстуры на примитивы.

  5. Осуществить сдвиг одного из примитивов таким образом, чтобы выполнить пересечение примитивов.

  6. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 13.

  1. Изобразить каркасный цилиндр и каркасную сферу внутри цилиндра. Размеры объектов задать самостоятельно.

  2. Совместить центр основания цилиндра и центр сферы.

  3. Выполнить перемещение двух объектов на dy=10.

  4. Изобразить тор и октаэдр, считая, что вершина октаэдра совпадает с центром тора. Размеры примитивов задать самостоятельно.

  5. Наложить текстуры на объекты.

  6. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 14.

  1. Изобразить каркасный октаэдр и каркасный конус. Размеры примитивов задать самостоятельно.

  2. Выполнить поворот конуса на =-60 вокруг оси Х, октаэдра - на =90 вокруг оси Y относительно начала координат.

  3. Изобразить чайник и тор произвольных размеров.

  4. Наложить текстуры на чайник и тор.

  5. Переместить объекты до совпадения их вертикальных осей.

  6. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 15.

  1. Изобразить каркасный тор и поместить его в каркасный куб. Размеры и местоположение примитивов на экране задать самостоятельно.

  2. Изобразить конус, сферу и куб, где вершина конуса является центром сферы, куб помещен внутрь сферы (центры куба и сферы совпадают).

  3. Наложить текстуры на конус, сферу и куб, считая сферу прозрачной на 50%.

  4. Произвести пошаговый пересчет координат вершин двух любых (из перечисленных) объектов так, чтобы один из них превращался в другой (морфинг).

Задание 16.