Objetivos
O
cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições
de:
1. Dominar os conceitos básicos de
Computação Gráfica 2D e 3D.
2. Dominar os conceitos básicos de
Processamento de Imagens e Visão Computacional.
3. Implementar um software que envolva técnicas
de Computação Gráfica.
4. Dimensionar um ambiente de
trabalho que envolva periféricos com capacidade gráfica.
Ementa
Apresentação das origens e da
definição de Computação Gráfica. Estudo de técnicas para modelagem e
representação de objetos geométricos utilizados em aplicações Computação
Gráfica. Estudo de algoritmos de Processamento de Imagens, incluindo
aquisição e segmentação, aplicação de filtros e transformações. Estudo de
algoritmos de visão computacional para representação e detecção de forma de
objetos e de análise de movimento em imagens. Estudo das etapas do processo
de visualização bidimensional. Estudo das etapas do processo de
visualização tridimensional e da geração de imagens realistas através de
técnicas de remoção de elementos ocultos, iluminação e aplicação de texturas.
Conteúdo
1)
INTRODUÇÃO À COMPUTAÇÃO GRÁFICA
1.1. Origens
1.2. Conceito
1.3. Áreas relacionadas
1.4. Aplicações
1.4. Hardware Gráfico
2)
BIBLIOTECA GRÁFICA OPENGL
2.1. Inicialização
2.2. Bibliotecas GLUT e SDL
2.3. Definição de Entidades Gráficas
2.4. Uso de Transformações Geométricas
2.5. Uso de Cores
2.6. Funções OpenGL para
Visualização
3)
PROCESSAMENTO DE IMAGENS
3.1. Introdução e Exemplos de Aplicações
3.2. Tipos de Imagens: true-color, HDR e palette
3.3. Algoritmos de Quantização
3.4. Filtros
3.5. Segmentação
3.6. Visão Computacional
4)
REPRESENTAÇÃO DE OBJETOS E CENAS
4.1. Sistema de Coordenadas Cartesianas
4.2. Formas de Representação
4.2.1. Vetorial x Matricial
4.2.2. Enumeração Espacial
4.2.3. Representação Aramada
4.2.4. Superfícies Limitantes
4.2.5. Representação Paramétrica
4.2.6. Grafo de Cena
4.3. Técnicas de Modelagem 3D
4.3.1. Varredura
4.3.2. CSG
4.3.3. Instanciamento de
Primitivas
4.3.4. Fractais
4.3.5. Sistemas de Partículas
5)
PROCESSO DE VISUALIZAÇÃO
5.1. Transformações Geométricas
5.2. Instanciamento
5.3. Conceito de Window e Viewport
5.4. Conceito de Câmera Sintética
5.5. Projeções
5.5.1. Paralela
5.5.2. Perspectiva
5.6. Rasterização
5.6.1. Desenho de Linhas
5.6.2. Preenchimento de Polígonos
6)
CURVAS E SUPERFÍCIES PARAMÉTRICAS
6.1. Representação de Curvas e Superfícies
6.2. Curvas Paramétricas
6.2.1. Bézier
6.2.2. Hermite
6.2.3. B-Spline
6.2.4. Catmull-Rom
6.3. Superfícies Paramétricas
6.3.1. Bézier
6.3.2. B-Spline
7)
ELIMINAÇÃO DE SUPERFÍCIES ESCONDIDAS
7.1. Eliminação de Faces Traseiras
7.2. Algoritmo do Pintor
7.3. Algoritmo Z-Buffer
7.4. Árvores BSP
8)
GERAÇÃO DE IMAGENS COM REALISMO
8.1. Modelos de Iluminação: luz pontual,
direcional, spot
8.2. Modelos de Reflexão: ambiente, difusa, especular
8.3. Métodos de Tonalização: Flat, Gouraud,
Phong
8.4. Mapeamento de Textura
8.5. Conceitos Básicos de Ray Tracing e Radiosidade
Bibliografia
Básica
·
COHEN, Marcelo; MANSSOUR,
Isabel. OpenGL - Uma
Abordagem Prática e Objetiva. São Paulo: Novatec,
2006. 486 p.
·
GONZALEZ, Rafael; Woods,
Richard. Processamento Digital de Imagens.. 3. ed. Longman do Brasil, 2010. 624p.
·
HEARN, Donald. Computer graphics with OpenGL. 3.
ed. Upper Saddle River, NJ : Pearson Education,
2004. 857 p.: il.
Complementar
·
ANGEL, Edward. Interactive computer graphics: a
top-down approach with OpenGL. Reading, MA: Addison-Wesley, 2000. 611 p. ; il.
·
FOLEY, J. et al. Computer graphics
: principles and practice. 2. ed. Reading, MA: Addison-Wesley,
1997. 1175 p. il. (The
Systems Programming Series).
·
GLASSNER, Andrew S. Principles of digital image
synthesis. San Francisco, CA : Morgan Kaufmann,
1995.
·
Shirley , P.; Marschner, S.Fundamentals of Computer Graphics. 3a. Ed. A K
Peters. ISBN; 1568814690. 804p.
·
SHREINER, Dave et al. OpenGL(R) Programming
Guide: The Official Guide to Learning OpenGL (R). Reading, MA:
Addison-Wesley, 5 edition, 2005. 896 p.
Software
de Apoio
·
Compilador C/C++
·
Bibliotecas OpenCV, Freeglut,
SDL
·
Blender
·
GIMP
|
|
Critérios de Avaliação
Quanto à P1:
Prova escrita que aborda, geralmente, os conteúdos das unidades 1 a 4 e parte
da unidade 5. A prova tem o objetivo de avaliar o conhecimento do aluno na
utilização das técnicas de Computação Gráfica.
Quanto à P2:
Prova escrita que aborda, geralmente, os conteúdos das unidades 5 a 8. A
prova tem o objetivo de avaliar o conhecimento do aluno na utilização das
técnicas de Computação Gráfica.
Quanto à PS:
Esta prova escrita será aplicada somente para os alunos que não puderam
comparecer nas provas P1 ou P2, sendo que o conteúdo contempla todas as
unidades.
Quanto ao T1:
Trabalho de implementação, a ser desenvolvido
individualmente ou em dupla. Será solicitado o desenvolvimento de uma
aplicação que utilize alguma técnica de CG vista em aula.
Quanto ao T2:
Trabalho de implementação, a ser desenvolvido
individualmente ou em dupla. Será solicitado o desenvolvimento de uma
aplicação que utilize alguma técnica de CG vista em aula.
OBS. 1:
Todos os trabalhos deverão ser entregues e/ou apresentados na data marcada
com a presença de TODOS os alunos.
OBS. 2: Para todos os
trabalhos haverá registro constando a data de entrega e assinatura do aluno.
Datas das Avaliações
P1
|
20 / 04 / 2016
|
P2
|
15 / 06 / 2016
|
PS
|
27 / 06 / 2016
|
T1
|
02 / 05 / 2016
|
T2
|
22 / 06 / 2016
|
G2
|
04 / 07 / 2016
|
Comentários, dúvidas, sugestões, envie um mail para isabel.manssour at pucrs dot br
Última
alteração em 23 de fevereiro de 2016.
|