|
ФИЗИКО-МАТЕМАТИЧЕСКОГО ЛИЦЕЯ № 30 of 30 Phys-Math Lyceum Tough Render LandАвторы:
Научный руководитель проекта: Галинский Виталий Александрович АннотацияПредставляемый проект предназначен для моделирования и построения фотореалистичных изображений на основе аналитически заданных трехмерных сцен. Моделирование трехмерной сцены производится на основе аналитически заданных с помощью разработанного языка описания объектов и источников света (на базе их математического описания). В качестве метода построения используется алгоритм обратной трассировки лучей, позволяющий точно передавать формы объектов, заданных аналитически. Луч задается положением камеры и плоскими координатами на объекте проекции, который относится к камере. Для того чтобы найти цвет точки итогового изображения, необходимо построить соответствующий ей луч и найти ближайшее из пересечений этого луча с объектами задания сцены. После этого рекурсивно строится дальнейший ход луча согласно физической модели (в соответствии с законами отражения, преломления, затуханием света в зависимости от среды и расстояния). Оптимизация синтезирования изображения сцены основана на представлении объектов сцены в виде иерархического дерева, а также выпуклых оболочек, включающих в себя узлы дерева с его поддеревьями. Разработан механизм, упрощающий выполнение необходимых вычислений для объектов геометрии сплошных тел (для осуществления операций объединения, пересечения и вычитания объектов). Моделирование освещения производится на основе модели Уиттеда (Whitted), а также разработанной системе подмены свойств поверхности объекта посредством прикрепления к нему динамического списка элементов, изменяющих его свойства. Примерами таких элементов могут быть: текстурирование, наложение микрорельефа, наложение карты цветов и другие визуальные эффекты. Придуманная система применения элементов изменения свойств поверхности перед этапом вычисления ее освещенности оптимизирует представление объектов в сцене и ускоряет вычислительный процесс. Для устранения эффекта ступенчатости реализованы два алгоритма на основе адаптивного сэмплирования (resampling) и стохастического джиттера (jittering). Реализация проекта выполнена на языке программирования «Си». Литература
|
|