20111106 computer graphics_galinsky_lecture08_tracing

22
1 RTIntro RTIntro Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Введение в алгоритм трассировки лучей URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected]

Transcript of 20111106 computer graphics_galinsky_lecture08_tracing

1

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

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

трассировки лучей

URL: http://www.school30.spb.ru/cgsg/cgc/

E-mail: [email protected]

2

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Ray Casting

3

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Ray Tracing

4

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Ray Tracing

5

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Forward vs. Backward

6

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Алгоритм

7

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Камера & построение луча

8

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Поиск пересечений (intersections)

• Объекты вида:

• Подставляем уравнение луча:

• И решаем относительно t(t>0)

9

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Intersect Threshold

10

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пересечение с плоскостью

11

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пересечение с многоугольником на плоскости

1. Пересечение с плоскостью

2. Проверка принадлежности точки пересечения многоугольнику

12

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пересечение со сферой

13

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Геометрическое решение

14

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Поверхности второго порядка (quadrics)

15

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Поверхности второго порядка (quadrics)

16

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Параллелепипед (box)

• определяется:

• алгоритм

17

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Параллелепипед

18

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Треугольник

• алгоритм:– ищем P – пересечение с плоскостью

– проверяем принадлежность P треугольнику

19

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Вычисление пересечения с треугольником

u,v,w – барицентрические координаты

20

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пересечение с трансформированными объектами

• Луч:

• Точки объекта подвергаются преобразованию M

• Луч преобразуется:

• Ищем пересечение (t)

• Найденное t сокращаем на длину вектора

21

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Constructive Solid Geometry

Необходим поиск ВСЕХ пересечений объекта с лучом•пример:

пересечение: остаются все пересечения, принадлежащие

внутренности второго объекта, из получившегося списка берем ближайшее

22

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

• Практические задания (до 27.11.2011)– Реализовать простейший алгоритм трассировки луча для

сфер. Решить задачу удаления невидимых поверхностей. Сферы представлять разными цветами. Результат записывать в файл с растровым изображением.