RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
1
Введение в алгоритмтрассировки лучей
URL: http://www.school30.spb.ru/cgsg/cgc/
E-mail: [email protected]
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
2Ray Casting
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
3Ray Tracing
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
4Ray Tracing
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
5Forward vs. Backward
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
6Алгоритм
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
7Камера & построение луча
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
8Поиск пересечений (intersections)
• Объекты вида:
• Подставляем уравнение луча:
• И решаем относительно t(t>0)
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
9Intersect Threshold
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
10Пересечение с плоскостью
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
11Пересечение с многоугольником на плоскости
1. Пересечение с плоскостью2. Проверка принадлежности точки пересечения многоугольнику
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
12Пересечение со сферой
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
13Геометрическое решение
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
14Поверхности второго порядка (quadrics)
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
15Поверхности второго порядка (quadrics)
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
16Параллелепипед (box)
• определяется:
• алгоритм
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
17Параллелепипед
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
18Треугольник
• алгоритм:– ищем P – пересечение с плоскостью– проверяем принадлежность P треугольнику
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
19Вычисление пересечения с треугольником
u,v,w – барицентрические координаты
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
20Пересечение с трансформированными объектами
• Луч:
• Точки объекта подвергаются преобразованию M
• Луч преобразуется:
• Ищем пересечение (t)
• Найденное t сокращаем на длину вектора
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
21Constructive Solid Geometry
Необходим поиск ВСЕХ пересечений объекта с лучом•пример:
§пересечение:Ø остаются все пересечения, принадлежащие
внутренности второго объекта, из получившегося списка берем ближайшее
RTIntroRTIntro
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
22
• Практические задания (до 27.11.2011)– Реализовать простейший алгоритм трассировки луча для
сфер. Решить задачу удаления невидимых поверхностей. Сферы представлять разными цветами. Результат записывать в файл с растровым изображением.