Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Перспектива.





При выполнении предыдущей лабораторной работы использовались параллельная (glOrtho) и центральная (glFrustum) проекции для задания перспективы.

В библиотеке GLU для этой цели служит функция gluPerspective, имеющая следующие 4 параметра: fovy – вертикальный угол конуса обзора; aspect – отношение размера области графического вывода по горизонтали к размеру по вертикали; near – расстояние до передней плоскости отсечения; far – расстояние до задней плоскости отсечения:

gluPerspective(fovy, aspect, near, far)

Для задания области отсечения графического вывода используется функция glViewPort.

Моделирование камеры.

В OpenGL точка обзора по умолчанию располагается в центре координат. Направление зрения – вдоль оси Z противоположно ее направлению (т.е. все, что рисуется, мы видим из центра координат).

Для моделирования камеры можно использовать видовые преобразования (матрица MODELVIEW):

glMatrixMode(GL_MODELVIEW); //видовая матрица

glLoadIdentity(); //установим единичную матрицу

glTranslatef(0, 0, -10); //сдвиг по оси Z вглубь экрана

glRotatef(27, 1, 0, 0); //поворот вокруг оси X

glRotatef(-19, 0, 1, 0); //поворот вокруг оси Y

Теперь наблюдатель (камера) как бы находится на расстоянии 10 единиц от центра координат (и значит от плоскости изображения), причем повернута относительно вертикали на 27 градусов, и развернута в горизонтальной плоскости на 19 градусов. При этом камера всегда смотрит в центр координат.

Для моделирования камеры, которая направлена в произвольную точку пространства и расположена в заданном месте, удобно использовать функцию библиотеки GLU – gluLookAt, например:

glMatrixMode(GL_MODELVIEW); //видовая матрица

glLoadIdentity(); //установим единичную матрицу

gluLookAt (x, y, z, //местоположение камеры

xp, yp, zp, //камера смотрит в эту точку

0, 1, 0); //направление вектора «вверх»

Функция имеет 9 параметров: первые три параметра определяют координаты местоположения камеры; вторая тройка параметров задает координаты точки, в которую нацелена камера; последние три параметра – направление вектора «вверх» – используются для поворотов изображения в плоскости проецирования. Например:

gluLookAt (x, y, z, xp, yp, zp, 1, 0, 0);

определяет поворот изображения на 90 градусов (обычно Вы фотографируете, держа фотоаппарат горизонтально, но иногда бывает удобнее развернуть его вертикально, чтобы сфотографировать, например, высокое дерево – такой поворот и имеется в виду в примере).

Направление вектора «вверх» может быть любым, но не должно быть параллельно вектору нормали к плоскости наблюдения. Удобным является выбор вектора «вверх» параллельным оси Y, т.е. (0, 1, 0).

 

Задания к лабораторной работе.

Задание 1. Установите перспективу в соответствии с вариантом.

Задание 2. Пользуясь командами библиотеки glu изобразите рисунок в соответствии с вариантом.

Задание 3. Установите камеру таким образом, чтобы она была направлена в центр Вашего изображения.

Задание 4. Реализуйте перемещение камеры относительно объекта:

· Объезд камеры вокруг объекта;

· Приближение/удаление камеры относительно объекта;

Задание 5. Реализуйте движение объекта относительно камеры:

· Движение объекта влево/вправо относительно камеры;

· Вращение объекта вокруг своей оси.

Варианты к заданиям лабораторной работы.

1 вариант.

Угол вертикального обзора 45 градусов.

Расстояние до передней плоскости отсечения: 3

Расстояние до задней плоскости отсечения: 10

Объект «Космический корабль»

2 вариант.

Угол вертикального обзора 40 градусов.

Расстояние до передней плоскости отсечения: 5

Расстояние до задней плоскости отсечения: 10

Объект «Солнечная система»

3 вариант.

Угол вертикального обзора 30 градусов.

Расстояние до передней плоскости отсечения: 6

Расстояние до задней плоскости отсечения: 12

Объект «Тележка»

4 вариант.

Угол вертикального обзора 25 градусов.

Расстояние до передней плоскости отсечения: 3

Расстояние до задней плоскости отсечения: 8

Объект «Настольная лампа»

5 вариант.

Угол вертикального обзора 35 градусов.

Расстояние до передней плоскости отсечения: 2

Расстояние до задней плоскости отсечения: 9

Объект «Ваза»







Дата добавления: 2015-10-19; просмотров: 642. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия