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

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

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






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



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

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