Курсовая работа: Построение реалистичного изображения методом обратной трассировки лучей

где x0 , y0 , z0 – координаты центра параболоида, A, B, C – длины полуосей параболоида. Ось параболоида расположена вдоль оси Oz мировой системы координат.

Для вычисления координат вектора нормали необходимо вычислить частные производные по x, y, z.

Координаты вектора нормали эллипсоида:

Xn = 2(x-x0 )/A2 ,

Yn = 2(y-y0 )/B2 ,

Zn = 2(z-z0 )/С2 .


Направление вектора не изменится, если все его координаты разделить на 2:

Xn = (x-x0 )/A2 ,

Yn = (y-y0 )/B2 ,

Zn = (z-z0 )/С2 .

Координаты вектора нормали параболоида вычисляются аналогично:

Xn = (x-x0 )/A2 ,

Yn = (y-y0 )/B2 ,

Zn = – (z-z0 )/С2 .

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

Вычисление отраженного луча

Пусть задан вектор падающего луча S, а также известен вектор нормали N. Требуется найти вектор отраженного луча R.

Рассмотрим единичные векторы R1 , S1 и N1 . Поскольку векторы нормали, падающего луча и отраженного луча находятся в одной плоскости, то можно записать R1 + S1 = N`, где N` - это вектор, соответствующий диагонали ромба и совпадающий по направлению с нормалью. Длина вектора N` равна 2cosθ. Так как вектор N` по направлению совпадает с N1 , то

N` = N`2cosθ.

Отсюда найдем единичный вектор отраженного луча:


R1 = N1 2cosθ – S1 = N/|N| 2cosθ – S/|S|.

Найдем cosθ. Это можно сделать, используя скалярное произведение векторов N и S:

cosθ = N*S/(|N|*|S|).

Полагая, что искомый вектор отраженного луча будет иметь такую же длину, что и вектор падающего луча, то есть R = |S| R1 , получим

R = N 2NS/|N|2 – S.

Это решение в векторной форме. Запишем координаты вектора:

xR = 2xN (xN xS +yN yS +zN zS )/(xN 2 +yN 2 +zN 2 ) – xS ,

yR = 2yN (xN xS +yN yS +zN zS )/(xN 2 +yN 2 +zN 2 ) – yS ,

zR = 2zN (xN xS +yN yS +zN zS )/(xN 2 +yN 2 +zN 2 ) – zS .

Вычисление преломленного луча

К-во Просмотров: 335
Бесплатно скачать Курсовая работа: Построение реалистичного изображения методом обратной трассировки лучей