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

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

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






При выполнении предыдущей лабораторной работы использовались параллельная (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; просмотров: 599. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

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