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

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 10: Строка 10:
 
== Математическое описание алгоритма ==
 
== Математическое описание алгоритма ==
  
<math>O</math> - множество объектов сцены
+
Алгоритм трассировки лучей работает с камерой (наблюдателем), множеством объектов сцены и множеством источников освещения. Камера задается положением (точка в трехмерном пространстве) и ортонормированным базисом (локальная система координат). Поставим перед камерой полотно, разбитое на пиксели. Выпустим через каждый пиксел луч. Найдем первое пересечение луча с объектами сцены, расчитаем цвет объекта в точке пересечения (зависит от положения наблюдателя, положения источников света, материала объекта) и присвоим его соответствующему пикселу.
 
 
<math>L</math> - множество источников освещения
 
 
 
<math>C</math> - камера
 
  
 
== Вычислительное ядро алгоритма ==
 
== Вычислительное ядро алгоритма ==

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

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

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

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

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

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

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

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

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 Литература