Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КГ_методичка.doc
Скачиваний:
27
Добавлен:
08.03.2016
Размер:
125.44 Кб
Скачать

2. Тени

Для реализации тени требуется построить проекцию объекта на плоскость, куда падает тень. Для этого необходимо найти точки пересечения лучей исходящих из источника света и проходящих через вершины граней. Пусть имеем О - центр источника света, А - точку объекта и плоскость заданную уравнением N*P+d=0, на которой строится тень. Тогда точка пересечения P находится следующим образом:

t=-(N*O+d) / (N*(A-O))

P=O+(A-O)*t

Так как тень будет являться проекцией лицевых граней относительно источника света, то можно уменьшить количество вычислений и искать проекции только лицевых граней.

При построении теней с помощью OpenGL необходимо построить плоскость, на которую падает тень с включенными источниками света, затем отключить освещенность, построить тень, а затем включить освещенность и построить объект.

Задания

Написать программу, демонстрирующую направленный источник света, управление общей освещенностью сцены, и построение тени от объекта на плоскость.

Контрольные вопросы

  1. От чего зависит расчет общей освещенностью объекта?

  2. Почему источник света можно рассматривать как три источника, расположенных в одной точке?

  3. Назовите характеристики материала.

  4. Сколько источников света поддерживает OpenGL?

  5. Какой командой задаются параметры источника света?

  6. Как построить тень с помощью OpenGL?

Лабораторная работа №5

Метод порталов

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

Основные теоретические положения

1. Ограничивающие тела

Ограничивающие тела используются для оптимизации вычислений и представляют собой простое тело. Часто используют прямоугольные параллелепипеды с ребрами параллельными координатным осям. При этом такое тело может описываться двумя тройками чисел. (Xmin, Ymin, Zmin), (Xmax, Ymax, Zmax). В начале вычисления проводятся над плоскостями, ограничивающими тело, и только затем - над телом, заключенным в плоскости.

2. Метод порталов

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

Алгоритм отрисовки следующий: отрисовать все полигоны ячейки, в которой находиться наблюдатель. Затем определить, какие порталы данной ячейки видны наблюдателю. Это можно сделать с помощью пирамиды видимости. Построить ячейки, которые видно через портал. И т.д.

Задания

Написать программу, реализующую движение по лабиринту. Для изображения лабиринта использовать метод порталов.

Контрольные вопросы

  1. Для чего применяют ограничивающие тела?

  2. Дайте определение портала.

  3. Опишите алгоритм отрисовки портала.

  4. Приведите примеры использования метода порталов.

Лабораторная работа №6

Построение полигональной модели

графика двух переменных

Цель работы: изучить метод полигональной модели и освоить на практике построение графика функции двух переменных этим методом.

Основные теоретические положения

1. Построение полигональной модели

Построение графика функции двух переменных в виде полигональной модели заключается в следующем:

  1. Область определения функции х и у разбивается на дискретные части. Обозначим за Nx, Ny количество частей по оси х и оси у соответственно.

  2. В памяти создается двумерный массив значений z, размерность которого равна Nx на Ny.

  3. Вычисляется значение Z для каждого элемента массива.

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

где ni – нормали граней, которым принадлежит точка.

  1. Строятся четырехугольные полигоны. В качестве вершин выступают четыре соседние точки в массиве.