20111106 computer graphics_galinsky_lecture08_tracing
Post on 31-Jul-2015
343 Views
Preview:
TRANSCRIPT
1
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
Введение в алгоритм
трассировки лучей
URL: http://www.school30.spb.ru/cgsg/cgc/
E-mail: CGSG@yandex.ru
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)– Реализовать простейший алгоритм трассировки луча для
сфер. Решить задачу удаления невидимых поверхностей. Сферы представлять разными цветами. Результат записывать в файл с растровым изображением.
top related