Сокращая среднюю длину дерева или размер стека, можно уменьшить объем вычислений. Для этого можно, например, записать в стек только те лучи, которые значительно влияют на интенсивность света, попадающего в глаз наблюдателя. В стек лучей заносятся следующие данные о каждом луче: - Номер луча, определяющий луч - Тип луча: - луч, исходящий из глаза наблюдателя и проходящий через пиксель, - отраженный луч, - преломленный луч) - Номер исходного луча, породившего данный луч - Тип исходного луча ( , или ) - Флаг пересечения (1 – у данного луча есть пересечение, 0 – нет) - Координаты пересечение x, y и z
- Направляющие косинусы (определяющие направление луча) - d - расстояние от пересечения исходного луча до пересечения данного - интенсивность пропущенного света в направлении данного луча
- - интенсивность зеркально отраженного света в направлении данного луча.
Когда луч впервые заносится в стек, значения: , , и флаг устанавливаются в 0. Движение по дереву трассировки лучи начинается с построения правой ветви преломления от корневого узла и до окончания ветви.
Затем при обратном проходе вычисляется интенсивность узлов. После этого строится левая ветвь отражения и аналогично находится интенсивность узлов. Этот процесс может повторяться в каждой промежуточной вершине.
Направление стрелки движения вниз соответствует образованию луча (занесение луча в стек), вверх – расчет интенсивностей (извлечение из стека). После того как вклад луча в интенсивность вершины определен, луч отбрасывается. Когда остается только корень дерева, вычисление интенсивности пикселя завершается, и луч посылается на экран.
1. Непосредственное создание трехмерных объектов с использованием трехмерных примитивов. Mesh – простейшее представление объектов в виде аппроксимирующих их поверхность многоугольников. Edge - ребра Face – грани (многоугольники) Vertex - вершины
2. Получение сложных трехмерных объектов, используя булевские операции объединения, вычитания, пересечения элементарных трехмерных объектов. 3. Использование сеток, моделирующих сложные трехмерные поверхности. Узлы сеток управляют кривизной этих поверхностей. 11) Patch – решетка узлов
2) Поверхности на основе Nurbs – Non Uniform Rational B-Splain (Неоднородные Рациональные (т.е. описываются математически) B-Сплайны). Это гладкая кривая, определенная в трехмерном пространстве, нормаль к которой может иметь любое направление.
Возможен переход из одного представления в другое (например из Mesh в Patch и наоборот. Но при любом представлении объекта его визуализация проводится при помощи аппроксимирующих поверхность объекта плоских многоугольников и нормалей.
4. Получение трехмерных объектов из двумерных форм (кривых, сплайнов) путем вращения, перемещения этих форм в пространстве.
Двумерные формы (shapes) – сплайны. Один из распространенных сплайнов это Безье-сплайн. Эти сплайны описываются полиномами параметрически. Используются полиномы 2, 3, 4 порядка. Чаще всего используют кубические полиномы (3-го порядка).
0 t 1
Для управления такой кривой вводится 4 точки P1, P2, P3, P4.
Точка P1 ограничивает кривую, которая проходит через эту точку. Точка P4 также ограничивает эту кривую с другим значением параметра. Точки P2 и P3 определяют направление касательной в точках P1 и P4. Вектор Т1 определяет направление кривой в точке P1, Т2 – в точке P4. Более длинный вектор Т действует на кривую сильнее, чем короткий.
То же самое для y.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.