Участник:Vlamakarenko/Трассировка лучей: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 10: Строка 10:
 
== Математическое описание алгоритма ==
 
== Математическое описание алгоритма ==
  
Алгоритм трассировки лучей работает с камерой (наблюдателем), множеством объектов сцены и множеством источников освещения. Камера задается положением (точка в трехмерном пространстве) и ортонормированным базисом (локальная система координат). Поставим перед камерой полотно, разбитое на пиксели. Выпустим через каждый пиксел луч. Найдем первое пересечение луча с объектами сцены, расчитаем цвет объекта в точке пересечения (зависит от положения наблюдателя, положения источников света, материала объекта) и присвоим его соответствующему пикселу.
+
Алгоритм трассировки лучей работает с камерой (наблюдателем), множеством объектов сцены и множеством источников освещения. Камера задается положением (точка в трехмерном пространстве) и ортонормированным базисом (локальная система координат). Поставим перед камерой полотно, разбитое на пиксели. Выпустим через каждый пиксел луч. Найдем первое пересечение луча с объектами сцены, расчитаем цвет объекта в точке пересечения (зависит от положения наблюдателя, положения источников света, материала объекта; возможно, понадобится выпустить новые лучи из точки пересечения, чтобы расчитать отражения, преломления, тени от других объектов) и присвоим его соответствующему пикселу.
  
 
== Вычислительное ядро алгоритма ==
 
== Вычислительное ядро алгоритма ==
 +
 +
Основные вычисления связаны с:
 +
 +
1) поиском пересечения луча с объектами сцены
 +
 +
2) расчетом теней от каждого источника света (требуется определить, "виден" ли источник света из точки пересечения с объектом).
  
 
== Макроструктура алгоритма ==
 
== Макроструктура алгоритма ==

Версия 03:36, 17 ноября 2016

Основные авторы описания: В.А.Макаренко, Р.А.Габдуллин

1 Свойства и структура алгоритма

1.1 Общее описание алгоритма

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

1.2 Математическое описание алгоритма

Алгоритм трассировки лучей работает с камерой (наблюдателем), множеством объектов сцены и множеством источников освещения. Камера задается положением (точка в трехмерном пространстве) и ортонормированным базисом (локальная система координат). Поставим перед камерой полотно, разбитое на пиксели. Выпустим через каждый пиксел луч. Найдем первое пересечение луча с объектами сцены, расчитаем цвет объекта в точке пересечения (зависит от положения наблюдателя, положения источников света, материала объекта; возможно, понадобится выпустить новые лучи из точки пересечения, чтобы расчитать отражения, преломления, тени от других объектов) и присвоим его соответствующему пикселу.

1.3 Вычислительное ядро алгоритма

Основные вычисления связаны с:

1) поиском пересечения луча с объектами сцены

2) расчетом теней от каждого источника света (требуется определить, "виден" ли источник света из точки пересечения с объектом).

1.4 Макроструктура алгоритма

1.5 Схема реализации последовательного алгоритма

1.6 Последовательная сложность алгоритма

1.7 Информационный граф

1.8 Ресурс параллелизма алгоритма

1.9 Входные и выходные данные алгоритма

1.10 Свойства алгоритма

2 Программная реализация алгоритма

2.1 Особенности реализации последовательного алгоритма

2.2 Локальность данных и вычислений

2.3 Возможные способы и особенности параллельной реализации алгоритма

2.4 Масштабируемость алгоритма и его реализации

2.5 Динамические характеристики и эффективность реализации алгоритма

2.6 Выводы для классов архитектур

2.7 Существующие реализации алгоритма

3 Литература