Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Теоретические основы трехмерной графики

Содержание

3D GraphicsТрехмерная графика (3D Graphics) – визуальное отображение трехмерной сцены или объекта. Для представления трехмерной графики на двумерном устройстве (дисплее) применяют рендеринг.
Теоретические основы трехмерной графикиТеория построения трехмерных изображений и рендеринга. 3D GraphicsТрехмерная графика (3D Graphics) – визуальное отображение трехмерной сцены или объекта. renderingРендеринг (rendering) – процесс создания реалистичных изображений на экране, использующий математические модели Трехмерная модель Из 3D в 2DДля отображения трехмерной модели на двухмерном экране монитора требуется Камера Аффинные преобразованияПри смене позиции наблюдателя требуется произвести преобразования координат, связанные с поворотом Пример преобразованияАффинные преобразования применяются при повороте и трансформации объекта (масштабирование, скос).Допустим, что ОсвещениеМодель начинает выглядеть трехмерной только после моделирования освещения, а это напрямую связано НормалиЕсли взять ровную поверхность, то нормали в каждой ее точке будут одинаковыми Модель освещенности ФонгаВклад в это значение от каждого источника света зависит от Модель освещенности Фонга Модель Фонга-Блинна Дальнейшее развитиеВ дальнейшем, исследователи придумывали иные способы вычисления этой составляющей, более сложные Игра света и тениС целью расчета теней и полутеней (диффузных теней) применяются Первые уроки3D программирование Окно в 3d мир.Структура программыКамераСветОбъектыДействия с объектамиокончаниеголователоноги головаGraphics3D 640,480,16,1  Устанавливает 3D Графический способ.   Синтакс такой: Graphics3D ширина, головаSetBuffer BackBuffer() – установить поток, буфер.  cam=CreateCamera() – это самая основная команда телоcub=CreateCube() – Это мы создаем 3D объект куб.Геометрические объекты:CreateSphere () - сфера телоTurnEntity cub,0.6,0.2,0.3 – вращениеTurnEntity    entity,pitch#, yaw#, roll#, [,global]  телоRepeat  ……………………………. Until KeyHit(1) – Между этими двумя командами будет происходить основной ногиEnd – Завешает программу________________________________________Создаём шаблон Интерфейс программы.Так выглядит окно Blitz3d: Синее текстовое поле является основным – в Запуск и отладка программы:   Для запуска программы нажмите F5 или  Для запуска Graphics3D 640,480,16,2  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()   ……………………………………….   Repeat   ………………………………………… Graphics3D 800,600,32,2 SetBuffer BackBuffer()camera=CreateCamera()PositionEntity camera,0,2,-9 light=CreateLight()cub=CreateCube() RotateEntity light,45,90,45 While Not KeyHit(1)=1RenderWorld()Flip()WendEndкамераПозиция камерысветСтавим Поставим сферу. Graphics3D 800,600,32,2 SetBuffer BackBuffer()camera=CreateCamera()PositionEntity camera,0,2,-9 light=CreateLight()cub=CreateCube() sph=CreateSphere(32) ScaleEntity sph,1,1,1 ScaleEntity cub,1,1,1 EntityAlpha ДОМА:Поставить цилиндр на куб.Используем: CreateCylinder () - цилиндр  CreateCube() - кубPositionEntity cub,0,0,5 Поставим объектGraphics3D 640,480,16,1  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()  cub=CreateCube()   PositionEntity cub,0,0,5  ScaleEntity cub,1,0.3,1  Практическая работа.Изменить параметры света.Изменить размер объекта.Переместить объект вверхПереместить объект вправо.Изменить скорость вращения.Дома: Дома: 1. Установить программу      2. Создать полупрозрачную сферу и внутри цилиндр.
Слайды презентации

Слайд 2 3D Graphics
Трехмерная графика (3D Graphics) – визуальное отображение

3D GraphicsТрехмерная графика (3D Graphics) – визуальное отображение трехмерной сцены или

трехмерной сцены или объекта. Для представления трехмерной графики на

двумерном устройстве (дисплее) применяют рендеринг.

Слайд 3 rendering
Рендеринг (rendering) – процесс создания реалистичных изображений на

renderingРендеринг (rendering) – процесс создания реалистичных изображений на экране, использующий математические

экране, использующий математические модели и формулы для добавления цвета,

тени и т. д.


Слайд 4 Трехмерная модель

Трехмерная модель

Слайд 5 Из 3D в 2D
Для отображения трехмерной модели на

Из 3D в 2DДля отображения трехмерной модели на двухмерном экране монитора

двухмерном экране монитора требуется произвести специальные математические преобразования трехмерных

координат всех точек в двухмерные.


Слайд 6 Камера

Камера

Слайд 7 Аффинные преобразования
При смене позиции наблюдателя требуется произвести преобразования

Аффинные преобразованияПри смене позиции наблюдателя требуется произвести преобразования координат, связанные с

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

перспективы.

Такие преобразования называются аффинными преобразованиями

Слайд 8 Пример преобразования
Аффинные преобразования применяются при повороте и трансформации

Пример преобразованияАффинные преобразования применяются при повороте и трансформации объекта (масштабирование, скос).Допустим,

объекта (масштабирование, скос).

Допустим, что при повороте ординаты точек (у-координаты)

не меняются. Значит, поворот происходит относительно оси y.

Слайд 9 Освещение
Модель начинает выглядеть трехмерной только после моделирования освещения,

ОсвещениеМодель начинает выглядеть трехмерной только после моделирования освещения, а это напрямую

а это напрямую связано с положением плоскостей (полигонов) модели,

точнее, с направлением перпендикуляров к плоскостям – нормалей.

Степень освещенности точки зависит от угла падения лучей света. Чем меньше угол между нормалью и лучом света, тем больше освещенность точки поверхности.

Слайд 10 Нормали
Если взять ровную поверхность, то нормали в каждой

НормалиЕсли взять ровную поверхность, то нормали в каждой ее точке будут

ее точке будут одинаковыми и освещенность также будет одинаковой.
А

если поверхность неровная, то нормали в каждой точке будут разными - и освещенность тоже.

Слайд 11 Модель освещенности Фонга
Вклад в это значение от каждого

Модель освещенности ФонгаВклад в это значение от каждого источника света зависит

источника света зависит от расстояния между источником света и

точкой на поверхности.

Слайд 12 Модель освещенности Фонга

Модель освещенности Фонга

Слайд 13 Модель Фонга-Блинна

Модель Фонга-Блинна

Слайд 14 Дальнейшее развитие
В дальнейшем, исследователи придумывали иные способы вычисления

Дальнейшее развитиеВ дальнейшем, исследователи придумывали иные способы вычисления этой составляющей, более

этой составляющей, более сложные (Blinn, Cook-Torrance, Ward), учитывающие распределение

энергии света, его поглощение материалами и рассеивания в виде диффузной составляющей.

Слайд 15 Игра света и тени
С целью расчета теней и

Игра света и тениС целью расчета теней и полутеней (диффузных теней)

полутеней (диффузных теней) применяются различные алгоритмы – Ray tracing

(трассировка лучей), Radiosity (излучение).
На рисунке представлены результаты просчета теней и диффузной засветки при помощи Radiosity.

Слайд 16 Первые уроки
3D программирование

Первые уроки3D программирование

Слайд 17 Окно в 3d мир.
Структура программы
Камера
Свет

Объекты
Действия с объектами
окончание
голова
тело
ноги

Окно в 3d мир.Структура программыКамераСветОбъектыДействия с объектамиокончаниеголователоноги

Слайд 18 голова
Graphics3D 640,480,16,1 Устанавливает 3D Графический способ.   Синтакс такой: Graphics3D

головаGraphics3D 640,480,16,1 Устанавливает 3D Графический способ.   Синтакс такой: Graphics3D ширина,

ширина, высота, глубина цвета, режим  Ширина, высота – размер создаваемого

экрана Глубина – глубина цвета – 16, 24 или 32 бита на пиксель. 
Режим:  0 – оконный во время разработки (если возможно), полноэкранный в .exe формате;  1 –полноэкранный  2 –оконный  3 –оконный, с возможностью изменения размеров окна. 

Слайд 19 голова
SetBuffer BackBuffer() – установить поток, буфер.  

cam=CreateCamera() –

головаSetBuffer BackBuffer() – установить поток, буфер.  cam=CreateCamera() – это самая основная

это самая основная команда в 3D программах. Если не

будет даже  одной камеры то 3D программа работать не будет, камера-это тоже самое, что и наши глаза, через неё мы видим окружающий 3D мир.  Lit=CreateLight() – Это команда создает источник света. Можно изменять тип света, в скобки вписываем следующие значения:  1:направленный  2:точка  3: пятно 

Слайд 20 тело
cub=CreateCube() – Это мы создаем 3D объект куб.
Геометрические

телоcub=CreateCube() – Это мы создаем 3D объект куб.Геометрические объекты:CreateSphere () - сфера

объекты:
CreateSphere () - сфера CreateCylinder () - цилиндр CreateCone() – конус

PositionEntity cub,0,0,5 –

Эта команда помещает объект в позиции и в 3D месте. 
ScaleEntity cub,1,0.3,1 – Изменяет размер объекта  RotateEntity cub,0,40,0 – Вращает объект так, чтобы это было при абсолютной ориентации. 

Слайд 21 тело
TurnEntity cub,0.6,0.2,0.3 – вращение
TurnEntity entity,pitch#,

телоTurnEntity cub,0.6,0.2,0.3 – вращениеTurnEntity  entity,pitch#, yaw#, roll#, [,global]  Tpitch# -

yaw#, roll#, [,global]  Tpitch# - X угол и эквивалентна наклону

вперед / назад.  Yaw# - Y угол и эквивалентен вращению налево / вправо.  Roll# - Z угол и эквивалентен наклону налево / вправо.  UpdateWorld ()– UpdateWorld [anim_speed#]  anim_speed# (необязательный) – скорость для мультипликации.
Установлен по  умолчанию в 1. 

Слайд 22 тело
Repeat 
…………………………….
Until KeyHit(1) – Между этими двумя командами будет

телоRepeat  ……………………………. Until KeyHit(1) – Между этими двумя командами будет происходить

происходить основной цикл игры. При нажатии кнопки ESC начинает

читать следующую команду. 

Слайд 23 ноги
End – Завешает программу
________________________________________
Создаём шаблон

ногиEnd – Завешает программу________________________________________Создаём шаблон

Слайд 24 Интерфейс программы.
Так выглядит окно Blitz3d:
Синее текстовое поле является

Интерфейс программы.Так выглядит окно Blitz3d: Синее текстовое поле является основным –

основным – в нём пишут программный код. 


Слайд 26 Запуск и отладка программы:  Для запуска программы нажмите F5

Запуск и отладка программы:  Для запуска программы нажмите F5 или  Для запуска

или 
 Для запуска предыдущей программы нажмите F6  Для проверки ошибок нажмите

F7  Для создания .exe файла нажмите: меню Program -> Create Executable  Для включения\отключения отладочного окна: меню Program -> Debug Enabled  В правой части окна находится панель с тремя вкладками:  Funcs – отображает все функции, которые используются в проекте.  Types – отображает все типы, которые используются в проекте.  Label – отображает все метки. 

Слайд 27 Graphics3D 640,480,16,2  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()  ……………………………………….  Repeat  ………………………………………… UpdateWorld  RenderWorld  Flip  Until KeyHit(1)  End

Graphics3D 640,480,16,2  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()  ……………………………………….  Repeat  ………………………………………… UpdateWorld  RenderWorld  Flip  Until KeyHit(1)  End

Слайд 28 Graphics3D 800,600,32,2
SetBuffer BackBuffer()
camera=CreateCamera()

PositionEntity camera,0,2,-9

light=CreateLight()

cub=CreateCube()


RotateEntity light,45,90,45

Graphics3D 800,600,32,2 SetBuffer BackBuffer()camera=CreateCamera()PositionEntity camera,0,2,-9 light=CreateLight()cub=CreateCube() RotateEntity light,45,90,45 While Not KeyHit(1)=1RenderWorld()Flip()WendEndкамераПозиция



While Not KeyHit(1)=1
RenderWorld()
Flip()
Wend
End
камера
Позиция камеры
свет
Ставим куб
Поворот куба
Пока не нажата ESC
Нарисуем

КУБ

Слайд 29 Поставим сферу.

Поставим сферу.

Слайд 30 Graphics3D 800,600,32,2
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera,0,2,-9
light=CreateLight()

cub=CreateCube()

sph=CreateSphere(32)

ScaleEntity

Graphics3D 800,600,32,2 SetBuffer BackBuffer()camera=CreateCamera()PositionEntity camera,0,2,-9 light=CreateLight()cub=CreateCube() sph=CreateSphere(32) ScaleEntity sph,1,1,1 ScaleEntity cub,1,1,1

sph,1,1,1
ScaleEntity cub,1,1,1
EntityAlpha cub,0.5
RotateEntity cub,45,45,45

RotateEntity light, 90,45,45



While Not KeyHit(1)=1
RenderWorld()
Flip()
Wend
End

Размер объекта

Прозрачность объекта


Слайд 31 ДОМА:
Поставить цилиндр на куб.
Используем:
CreateCylinder () - цилиндр CreateCube() - куб

PositionEntity

ДОМА:Поставить цилиндр на куб.Используем: CreateCylinder () - цилиндр CreateCube() - кубPositionEntity cub,0,0,5

cub,0,0,5 – Эта команда помещает объект в

позиции и в 3D месте. 

ScaleEntity cub,1,0.3,1 – Изменяет размер объекта 

Слайд 32 Поставим объект
Graphics3D 640,480,16,1  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()  cub=CreateCube()   PositionEntity cub,0,0,5  ScaleEntity cub,1,0.3,1  RotateEntity cub,0,40,0  Repeat  TurnEntity cub,.6,.2,.3  TurnEntity

Поставим объектGraphics3D 640,480,16,1  SetBuffer BackBuffer()  cam=CreateCamera()  lit=CreateLight()  cub=CreateCube()   PositionEntity cub,0,0,5  ScaleEntity

lit,5,5,0  UpdateWorld  RenderWorld  Flip  Until KeyHit(1)  End


Слайд 33 Практическая работа.
Изменить параметры света.
Изменить размер объекта.
Переместить объект вверх
Переместить

Практическая работа.Изменить параметры света.Изменить размер объекта.Переместить объект вверхПереместить объект вправо.Изменить скорость

объект вправо.
Изменить скорость вращения.
Дома: 1. Установить программу

2. Создать сферу и цилиндр.

  • Имя файла: teoreticheskie-osnovy-trehmernoy-grafiki.pptx
  • Количество просмотров: 206
  • Количество скачиваний: 0