1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi ([email protected])...

46
1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi ([email protected]) Coordenação de Ciência da Computação Web Page: http://virtual01.lncc.br/ ~giraldi/GB-109

Transcript of 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi ([email protected])...

Page 1: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

1

GB-109 – Elementos de Computação Gráfica Professor

Gilson A. Giraldi ([email protected])

Coordenação de Ciência da Computação

Web Page:

http://virtual01.lncc.br/~giraldi/GB-109

Page 2: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

2

1. Introdução à Computação Gráfica 1.1 Conceitos Básicos 1.2 Dispositivos Gráficos 2D e 3D 1.3 Modelagem em Computação Gráfica 1.4 Interação com os objetos de uma Cena 1.5 Sistemas para Visualização de Dados 2. Tecnologia dos Dispositivos Raster 2.1 Algoritmo de Bresenham’s 2.2 Geração do Display – Scan Convertion 2.3 Frame Buffers 2.4 Algoritmos para Preenchimento de Polígonos 2.5 Aliasing 2.6 Teoria de Cores 3. Clipping 3.1 Clipping 2D 3.2 Clipping 3D 4. Superfícies e Linhas Escondidas

Ementa do Curso

Page 3: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

3

5. Transformações no Plano e no Espaço 5.1 Introdução – Matrizes e Computação Gráfica 5.2 Coordenadas Homogêneas 5.3 Transformações de Escala 5.4 Transformações de sisalhamento 5.5 Rotação e Translação 5.6 Reflexão 5.7 Geometrias Afim e Perspectiva 5.8 Projeções: Ortográfica, Axonométrica, Obliqua e Perspectiva 6. Modelagem Geométrica 6.1 Representação Implícita e Paramétrica 6.2 Espaços de Curvas: Bézier e Splines 6.3 Superfícies Implícitas 6.4 Representações Paramétricas de Superfícies 6.5 Superfícies Splines 7. Rendering 7.1 Conceitos básicos 7.2 Modelos de Iluminação 7.3 Determinando o Vetor Normal e Vetor de Reflexão 7.4 Modelos de Phong e Gourand 7.5 Efeitos de Transparência, Sombras e Texturas 7.6 Ray Tracing 7.7 Radiosidade

Ementa do Curso

Page 4: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

4

GB 109 GA 023

GB 500: Topicos em Vis. Cient. e RV

Quarto PeriodoTerceiro Periodo

Segundo Periodo

Computação Visual no LNCC

Page 5: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

5

What is Computer Graphics?

create images with computer

Page 6: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

6

What is CG used for?

graphical user interfaces modeling systems simulation & visualization

Page 7: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

7

What is CG used for?

movies animation special effects

Page 8: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

8

What is CG used for?

computer games

Page 9: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

9

What is CG used for?

images design advertising art

Page 10: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

10

What is CG used for?

Virtual reality and Augmented reality

Page 11: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

11

What is CG used for?

•Scientific Visualization

Page 12: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

12

Main Areas in CG

Hardware Visibility Geometric Modeling Rendering Animation

Page 13: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

13

• I/O Devices

• Virtual Reality (VR)

• Motion Capture

•Displays – VR, Holographic

•GPU and PPU

•Cameras (Image-Based-Rendering)

•Lazer Scanners

Hardware

Page 14: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

14

Hardware Input Devices Mouse 2D/3D, scanners 2D, Haptic Devices

Mouse 3DPhantom - Haptic Device

Page 15: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

15

Hardware Input Devices

Data Glove Motion Capture

Page 16: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

16

Laser Scanners Input Devices

Page 17: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

17

Hardware

Output Devices

Page 18: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

18

Hardware

Output Devices

Holographic Display

Page 19: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

19

3D Local Visualization Model

Page 20: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

20

Simple Illumination Model

• No Transparency effects

• No Shadows

• No Secondary light sources

Page 21: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

21

Perspective Projection

Page 22: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

22

Viewing Transformation: Camera Placement

Page 23: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

23

Clipping

we’ve been assuming that all primitives (lines, triangles, polygons) lie entirely within the viewport in general, this assumption will not hold:

Page 24: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

24

Clipping

analytically calculating the portions of primitives within the viewport

Page 25: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

25

Hidden Lines

Page 26: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

26

Hidden Line Removal

Page 27: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

27

Hidden Surface Removal

Page 28: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

28

Rasterization

Page 29: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

29

Rendering

Page 30: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

30

Gouraud Shading

Page 31: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

31

Specular Reflection

Page 32: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

32

Phong Shading

Page 33: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

33

Surface Representation

Page 34: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

34

Complex Lighting and Shading

Page 35: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

35

Texture Mapping

Page 36: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

36

Global Illumination Model (Ray-Tracing)

Page 37: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

37

Global Illumination

Page 38: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

38

Animation

generating motion interpolating between frames Physics-Based Models Motion Capture

Page 39: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

39

Mathematical Elements for CG Spatial Data Structures (Octree, etc) Geometric Modeling

Surface Representation: Splines, NURBS, Implicit representations Variational Methods Differential Manifolds Models

Light Models Image Based Techniques Kinematics and Dynamic Methods – Physics-Based Modeling Stochastic Methods – Non-Deterministic Fractals

Page 40: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

40

GB-109

Objetivo Principal: Estudo de elementos teóricos básicos para CG no contexto da Modelagem Computacional.

Curso Baseado em: Seminários Trabalhos Teóricos e práticos Duas provas escritas

Linguagem de Programação: C, C++, Java ou Python

Page 41: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

41

Avaliação e Média Final

•Duas Provas (P1 e P2): Notas de 0.0 a 10.00.0 – 2.9 (E) 7.0 – 7.9 (B)3.0 – 4.9 (D) 8.0 – 8.9 (B+)5.0 – 6.9 (C) 9.0 – 10.0 (A)

•Provas com 3/5 das questões baseadas nas listas

•Listas para casa e listas para a sala

•Média dos trabalhos (Listas,implementações, Seminários): MT

•Média Final = (P1 + MT + P2)/3

Page 42: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

42

GB-109

Não é curso state-of-the-art

Não enfoca utilização de aplicativos

Não ensina high-level libraries (OpenGL,etc)

Estes temas poderão ser cobertos em estudos posteriores.

Page 43: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

43

Pré-Requisitos: Lista Exercicios 1

.,:

:

,,:

,

,,,,,

33

321

xAxTT

çõesTransforma

vvvBBases

uvuv

feducbav

2222

rt

cz

s

by

r

ax

Geometria Analítica em 3D: Equações de retas, cônicas, planos, esferas, etc

Cálculo Vetorial e Algebra Linear

Cálculo Diferencial e Integral

dt

dz

dt

dy

dt

dx

dt

rd

tztytxtr

,,

,,,

Page 44: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

44

CUIDADO!

Curso trabalhoso

Enfoque matemático e formal

Implementações exigem tempo para obter os resultados necessários

Page 45: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

45

Perspectivas para Teses

• Computação Gráfica•Modelagem Geométrica via Métodos Variacionais•Modelos Massa-Mola•Realidade Virtual

•Visualização Científica•Visualização de Campos Dependentes do Tempo

•Animação de Fluidos•Multiresolução•Técnicas Baseadas em Partículas

Page 46: 1 GB-109 – Elementos de Computação Gráfica Professor Gilson A. Giraldi (gilson@lncc.br) Coordenação de Ciência da Computação Web Page: giraldi/GB-109.

46

Bibliografia

1) D. F. Rogers. Procedural Elements for Computer Graphics. McGraw-Hill International Editions , 1985.

2) D. F. Rogers and J. A. Adams. Mathematical Elements for Computer Graphics. McGraw-Hill International Editions , Second Edition, 1990.

3) J. D. Foley, A. Dam, S. K. Feiner, and J. F. Hughes. Computer Graphics, Principles and Practice, 2nd ed. Addison Wesley, 1990.

4) Fernando Luiz B. Ribeiro, Introdução à Computação Gráfica, edited by Setor de Publicações e Programação Visual/COPPE, Universidade Federal do Rio de Janeiro.