Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка к РГР Сокольников,ПС-31.docx
Скачиваний:
20
Добавлен:
20.04.2019
Размер:
274.1 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Марийский государственный технический университет»

(ФГБОУ ВПО «МарГТУ» )

Кафедра ИиСП

Пояснительная записка к расчетно-графической работе

по дисциплине

«Компьютерная графика»

РАЗРАБОТАЛ:

Студент ПС-31

Сокольников А.М.

ПРОВЕРИЛ:

Малов А.Н.

Йошкар-Ола

2012

Задание

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

Аннотация

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

Содержание

  1. Теоретическая часть

    1. Алгоритм обратной трассировки лучей

    2. Пересечение лучей с эллиптическим параболоидом

    3. Пересечение лучей с гиперболическим параболоидом

    4. Модель освещения Фонга

  2. Практическая часть

    1. Эллиптический параболоид

    2. Гиперболический Параболоид

    3. Тени и составляющие света

    4. Визуализация отражающих свет объектов

  3. Заключение

  4. Список используемых ресурсов

1. Теоретическая часть

1.1 Алгоритм трассировки лучей

Обратная трассировка лучей

А лгоритм выглядит следующим образом: из виртуального глаза через каждый пиксел изображения испускается луч и находится точка его пересечения с поверхностью сцены (для упрощения изложения мы не рассматриваем объемные эффекты вроде тумана). Лучи, выпущенные из глаза, называют первичными. Допустим, первичный луч пересекает некий объект 1 в точке H1 (рис. 1).

Далее необходимо определить для каждого источника освещения, видна ли из него эта точка. Предположим пока, что все источники света точечные. Тогда для каждого точечного источника света, до него испускается теневой луч из точки H1. Это позволяет сказать, освещается ли данная точка конкретным источником. Если теневой луч находит пересечение с другими объектами, расположенными ближе чем источник света, значит, точка H1 находится в тени от этого источника и освещать ее не надо. Иначе, считаем освещение по некоторой локальной модели (Фонг, Кук-Торранс и.т.д.). Освещение со всех видимых (из точки H1) источников света складывается. Далее, если материал объекта 1 имеет отражающие свойства, из точки H1 испускается отраженный луч и для него вся процедура трассировки рекурсивно повторяется. Аналогичные действия должны быть выполнены, если материал имеет преломляющие свойства.

1.2 Пересечение лучей с эллиптическим параболоидом

У равнение эллиптического параболоида, представленного на рисунке слева, имеет вид:

x2+z2-y=0, уравнение луча, его пересекающего:

P = S + Ct. Если разложить луч на координаты, получим следующее: x = (аналогично для y и z). Тогда пересечение луча и параболоида будет иметь вид:

И если вынести t, получится квадратное уравнение, имеющее коэффициенты:

a=

b =

c=

Дискриминант d = и, если он не отрицателен, имеются корни:

;

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