- •Г.М. Набережнов, н.Н. Максимов Установка отображаемого пространства
- •Казань 2007
- •1. Функции, устанавливающие отображаемый объем и положение наблюдателя в 3d
- •2. Обработка событий
- •3. 3D примитивы из библиотеки glut
- •4. Установка источника света
- •5. Удаление невидимых поверхностей
- •Задания для самостоятельного выполнения
Задания для самостоятельного выполнения
Создайте программу, где геометрический примитив из библиотеки GLUT помещен в начало МСК, освещен неподвижным источником и в программе реализованы функции обработки нажатий клавиатуры и клавиш мыши в соответствии с таблицей.
№ п/п |
3D примитив |
Клавиатурные события |
Мышиные события |
1 |
конус |
кл. X – наблюдатель приближается к объекту вдоль вектора E-C кл. Y – наблюдатель удаляется от объекта вдоль вектора E-C |
левая кл. – объект поворачивается вокруг оси X по ч.с. левая кл. – объект поворачивается вокруг оси X против ч.с. |
2 |
тор |
кл. X - наблюдатель вращается в пл. (осьY, Е) вокруг объекта по ч.с. по кл. Y - наблюдатель вращается в пл. (осьY, Е) против ч.с. |
левая кл. – объект масштабируется с увеличением размеров левая кл. – объект масштабируется с уменьшением размеров |
3 |
тетраэдр |
кл. x – наблюдатель смещается в направлении +x; кл. X - наблюдатель смещается в направлении -x кл. y - наблюдатель смещается в направлении +y; кл. Y - наблюдатель смещается в направлении -Y кл. z - наблюдатель смещается в направлении +z; кл. Z - наблюдатель смещается в направлении -Z |
левая кл. - наблюдатель вращается в пл. (осьX, Е) вокруг объекта по ч.с. правая кл. - наблюдатель вращается в пл. (осьX, Е) вокруг объекта против ч.с. |
4 |
октаэдр |
кл. X - наблюдатель вращается в пл. (осьZ, Е) вокруг объекта по ч.с. по кл. Y - наблюдатель вращается в пл. (осьZ, Е) вокруг объекта против ч.с. |
левая кл. – объект масштабируется с увеличением размеров по X,Y правая кл. – объект масштабируется с уменьшением размеров по X,Y |
5 |
додекаэдр |
кл. x– объект масштабируется с увеличением размеров по оси X кл. X– объект масштабируется с уменьшением размеров по оси X
|
левая кл. – объект переходит в состояние вращения вокруг осей X,Y одновременно правая кл. – вращение прекращается |
6 |
икосаэдр |
кл. x– объект переходит в состояние вращения вокруг оси X кл. X– вращение прекращается
|
левая кл. – икосаэдр заменяется на додекаэдр правая кл. – додекаэдр заменяется на икосаэдр |