Визуализация в 3D

Содержание

Слайд 2

Представление объектов V={V0, V1, V2, V3}={(x0,y0,z0), (x1,y1,z1),…} E*={#V*1, #V*2, #P*1, #P*2}

Представление объектов

V={V0, V1, V2, V3}={(x0,y0,z0), (x1,y1,z1),…}
E*={#V*1, #V*2, #P*1, #P*2}
E0={0,1,0,-1}
E1={1,3,1,-1}
E2={3,2,1,-1}
E3={1,2,0,1}
E4={2,0,0,-1}
P*={#V*1, #V*2, #V*3

, #E*1 , #E*2 , #E*3}
P0={0,1,2,0,3,4}
P1={1,3,2,1,2,3}
Слайд 3

Представление объектов

Представление объектов

Слайд 4

Иерархическое моделирование Работа в «контексте»: openStructure(Id1); setLocalTranformation(rotateX(...)); addPolygon(...); setLocalTranformation(rotateX(...)); openStructure(Id2); setLocalTranformation(rotateX(...));

Иерархическое моделирование

Работа в «контексте»:
openStructure(Id1);
setLocalTranformation(rotateX(...));
addPolygon(...);
setLocalTranformation(rotateX(...));
openStructure(Id2);
setLocalTranformation(rotateX(...));
addPolygon(...);
...

closeStructure();
openStructure(Id2);
setLocalTranformation(rotateX(...));
addPolygon(...);
...
closeStructure();
...
closeStructure();
Слайд 5

Иерархическое моделирование функции: openStructure(Id); closeStructure(); setPolygonAttribute(...); addPolygon(...); setLocalTranformation(matrix_4x4); matrix_4x4 rotateX(angle); matrix_4x4

Иерархическое моделирование

функции:
openStructure(Id);
closeStructure();
setPolygonAttribute(...);
addPolygon(...);
setLocalTranformation(matrix_4x4);
matrix_4x4 rotateX(angle);
matrix_4x4 rotateY(angle);
matrix_4x4 rotateZ(angle);
matrix_4x4 scale(sx, sy, sz);
matrix_4x4 translate(dx, dy, dz);
postRoot();

Слайд 6

Визуализация линиями Визуальный реализм перспектива:

Визуализация линиями

Визуальный реализм
перспектива:

Слайд 7

Визуализация линиями Визуальный реализм depth cueing (изображение глубины): удаление невидимых линий

Визуализация линиями

Визуальный реализм
depth cueing (изображение глубины):
удаление невидимых линий

Слайд 8

Визуализация закрашенных фигур Визуальный реализм удаление невидимых поверхностей цвет

Визуализация закрашенных фигур

Визуальный реализм
удаление невидимых поверхностей
цвет

Слайд 9

Визуализация закрашенных фигур Визуальный реализм освещение

Визуализация закрашенных фигур

Визуальный реализм
освещение

Слайд 10

Визуализация закрашенных фигур Визуальный реализм закраска и интерполяция

Визуализация закрашенных фигур

Визуальный реализм
закраска и интерполяция

Слайд 11

Визуализация закрашенных фигур Визуальный реализм текстурирование

Визуализация закрашенных фигур

Визуальный реализм
текстурирование

Слайд 12

Текстурирование

Текстурирование

Слайд 13

Визуализация закрашенных фигур Визуальный реализм тени

Визуализация закрашенных фигур

Визуальный реализм
тени

Слайд 14

Закраска (shading) каркасная визуализация (wireframe) плоская закраска (flat shading) интерполяция цвета

Закраска (shading)
каркасная визуализация (wireframe)
плоская закраска (flat shading)
интерполяция цвета – закраска Гуро

(Gouraud shading)
интерполяция нормали – закраска Фонга (Phong shading)
Слайд 15

Pixar Shutterbug 3 Orthographic views Parallel projection Perspective View (no hidden

Pixar Shutterbug

3 Orthographic views

Parallel projection

Perspective View (no hidden lines)

Depth cuing (hidden

lines)

http://www.siggraph.org/education/materials/HyperGraph/shutbug.htm

Слайд 16

Pixar Shutterbug Colored Visible line determination (with facets) Visible surface determination

Pixar Shutterbug

Colored

Visible line determination (with facets)

Visible surface determination (constant shading)

Shaded by

facets

http://www.siggraph.org/education/materials/HyperGraph/shutbug.htm

Слайд 17

Pixar Shutterbug Gouraud shaded (diffuse) Gouraud shaded (specular) Phong shaded (polygon

Pixar Shutterbug

Gouraud shaded (diffuse)

Gouraud shaded (specular)

Phong shaded (polygon based)

Phong shaded (curved

surfaces based)

http://www.siggraph.org/education/materials/HyperGraph/shutbug.htm

Слайд 18

Pixar Shutterbug Multiple lights Texture mapping Bump mapping and shadow Reflection mapping http://www.siggraph.org/education/materials/HyperGraph/shutbug.htm

Pixar Shutterbug

Multiple lights

Texture mapping

Bump mapping and shadow

Reflection mapping

http://www.siggraph.org/education/materials/HyperGraph/shutbug.htm

Слайд 19

Алгоритм плавающего горизонта глобальные массивы: Up[W] и Down[W] Функция точки(x,y): if

Алгоритм плавающего горизонта

глобальные массивы:
Up[W] и Down[W]
Функция точки(x,y):
if (y > Up[x])

{
SetPixel(x,y);
Up[x] = y;
}
if (y < Down[x])
{
SetPixel(x,y);
Down[x] = y;
}
Слайд 20

Backface culling отсечение «задних» поверхностей определение передних и задних многоугольников по

Backface culling

отсечение «задних» поверхностей
определение передних и задних многоугольников по обходу (по

и против часовой стрелке – CW, CCW)
Слайд 21

Алгоритм Робертса Все тела выпуклы (или приводим к такому виду) Удаление

Алгоритм Робертса

Все тела выпуклы (или приводим к такому виду)
Удаление самоперекрывающихся ребер

и граней
Каждое из видимых ребер каждого тела сравнивается с каждым из оставшихся тел для определения перекрытия
Слайд 22

Z-Буфер для каждого мн-ка для каждой точки мн-ка pz = значение

Z-Буфер

для каждого мн-ка
для каждой точки мн-ка
pz = значение z

в (x,y)
если pz <= ZBuf[y][x] тогда
SetPixel(x,y)
ZBuf[y][x] = pz
Слайд 23

Алгоритм художника (list priority) Сортировка многоугольников по оси Z (по глубине)

Алгоритм художника (list priority)

Сортировка многоугольников по оси Z (по глубине) –

ближней или дальней точке

Разрешение всех неоднозначностей при перекрытиях по глубине, «разрезание» при необходимости многоугольников

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

текущий (дальний) мн-к P:
по каждому мн-ку Q,
с которым P пересекается по z:

Оболочки P и Q не пересекаются по x?

Оболочки P и Q не пересекаются по y?

P целиком лежит по другую сторону от
Q по отношению к наблюдателю?

Q целиком лежит по одну сторону от
P по отношению к наблюдателю?

Проекции P и Q на плоскость (x,y) не пересекаются?

Слайд 24

Алгоритмы с разбиением на подпространства

Алгоритмы с разбиением на подпространства

Слайд 25

Алгоритм построчного сканирования z z z z x x x x

Алгоритм построчного сканирования

z

z

z

z

x

x

x

x

Слайд 26

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

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