Цель выполнения задания: практическое изучение средств, необходимых для выполнения сценарных преобразований.
Изучаемые команды
Команды задания геометрических преобразований объектов: glLoadIdentity, glTranslate, glRotate, glScale.
Команды работы с дисплейным списком:glNewList, glEndList, glCallList.
Команды работы со стеком: glPushMatrix, glPopMatrix.
Командыработысбуферомглубины: glEnable(GL_DEPHT_TEST), glClear(GL_DEPTH_BUFFER_BIT).
Варианты задания приведены в таблице 2. В ней точками показано требуемое расположение трех объектов в поле вывода. В графе «Поворот объектов» заданы углы поворота этих объектов в плоскости экрана.Если объектов больше трех, остальные расставляются по усмотрению студента.
Таблица 2
N варианта | Расположение объектов в сцене | Поворот объектов | N варианта | Расположение объектов в сцене | Поворот объектов |
![]() | А 1=30º, А 2=-20º А 3=100º | ![]() | А 1=40º, А 2=-10º А 3=160º | ||
![]() | А 1=50º, А 2=0º А 3=-60º | ![]() | А 1=60º, А 2=-30º А 3=120º | ||
![]() | А 1=70º, А 2=-100º А 3=10º | ![]() | А 1=80º, А 2=-200º А 3=20º | ||
![]() | А 1=90º, А 2=-45º А 3=135º | ![]() | А 1=100º, А 2=80º А 3=-100º | ||
![]() | А 1=110º, А 2=-45º А 3=0º | ![]() | А 1=120º, А 2=0º А 3=30º | ||
![]() | А 1=130º, А 2=-60º А 3=90º | ![]() | А 1=140º, А 2=0º А 3=-90º | ||
![]() | А 1=150º, А 2=-70º А 3=45º | ![]() | А 1=160º, А 2=-80º А 3=60º | ||
![]() | А 1=170º, А 2=-90º А 3=70º | ![]() | А 1=220º, А 2=-100º А 3=-80º | ||
![]() | А 1=230º, А 2=-110º А 3=90º | ![]() | А 1=240º, А 2=120º А 3=-100º | ||
![]() | А 1=250º, А 2=-130º А 3=110º | ![]() | А 1=0º, А 2=-140º А 3=-120º | ||
![]() | А 1=-260º, А 2=150º А 3=-145º | ![]() | А 1=270º, А 2=-160º А 3=-10º | ||
![]() | А 1=280º, А 2=170º А 3=-20º | ![]() | А 1=-290º, А 2=20º А 3=-45º | ||
![]() | А 1=300º, А 2=-30º А 3=-60º | ![]() | А 1=-310º, А 2=-45º А 3=-100º | ||
![]() | А 1=330º, А 2=-60º А 3=75º | ![]() | А 1=-340º, А 2=120º А 3=10º | ||
![]() | А 1=-30º, А 2=330º А 3=180º | ![]() | А 1=-30º, А 2=330º А 3=180º | ||
![]() | А 1=-30º, А 2=330º А 3=180º | ![]() | А 1=-30º, А 2=330º А 3=180º |
|
|
Программа выполнения задания
1. Число объектов в сцене – не менее трех. В качестве объектов сцены использовать геометрические фигуры из задания 1, которые для получения требуемого числа объектов рисуются несколько раз. Спроектировать сцену, выбрав необходимые команды и их параметры. Разработать последовательность геометрических преобразований, необходимых для поворота на заданный угол а) всей сцены, б) каждого объекта сцены в отдельности. Пояснить различие. Выбрать цвета фона и фигур.
2. В программу-заготовку ввести команды сдвига и поворота системы координат. Чтобы упростить размещение объектов в сцене, использовать стек модельно-видовых матриц. Размеры фигур, при необходимости, изменить командой масштабирования. Получить изображение сцены. Надлежащим выбором параметров команд сдвига добиться размещения объектов сцены в соответствии с заданием. Предъявить результат преподавателю.
3. Задать такие параметры команд glTranslate, glRotate, чтобы графические объекты сцены частично перекрывались. Проанализировать вид сцены с включенным и выключенным буфером глубины.
4. Ответить на контрольные вопросы преподавателя.