Computer Graphics – 2016.1s

teapot

Links

I – EMENTA

Visão geral, conceitos básicos e terminologia. Dispositivos de entrada e saída. Recorte e visibilidade. Algoritmos básicos para conversão de primitivas gráficas em duas dimensões: retas, circunferências e elipses. Técnicas de anti-serrilhamento. Síntese de Cores. Sistemas de coordenadas: pontos, vetores e matrizes. Transformações geométricas em duas dimensões e três dimensões. Modelagem de objetos em três dimensões. Projeções geométricas.

 II – OBJETIVOS GERAIS

Apresentar a computação gráfica, enquanto conjunto de aplicações matemáticas, como ferramenta de representação de dados na forma de imagens (síntese de imagens) e desenvolver no aluno a visão espacial.

III – OBJETIVOS ESPECÍFICOS

  • Utilizar as rotinas e conceitos de computação gráfica para desenvolvimento de programas e rotinas para a representação de dados e objetos.
  • Apresentar os padrões de pacotes existentes no mercado e suas aplicações. Estabelecer critérios e estratégias para escolha e dimensionamento de máquinas e pacotes para um projeto específico.
  • Desenvolver projeto de modelagem de sólidos e animações simples.

IV – CONTEÚDO PROGRAMÁTICO

  1. Visão geral. Conceitos básicos e terminologia.
    1. Origens da Computação Gráfica, áreas de atuação, mercado de trabalho.
    2. Arquitetura de sistemas gráficos (o hardware gráfico).
    3. Primitivas como elementos básicos do desenho (pontos, retas, polilinhas, circunferências e elipses)
    4. Primitivas com funções de linguagem (setWindows(), getPixel(), …).
    5. Pacotes gráficos e bibliotecas principais (OpenGL e DirectX).
  2. Primitivas gráficas em duas dimensões.
    1. Pontos, vetores e matrizes em CG.
    2. Sistemas de referência (universo, objeto, dispositivo).
    3. A janela de visualização (viewport) e recorte (clipping)
    4. Mapeamento de pontos (pixels) na janela de visualização
  3. Rasterização de linhas
    1. A Equação da Reta
    2. O Algoritmo DDA (Digital Differencial Analyser)
  4. O Algoritmo de Bresenham.
    1. Extensão para traçado de linhas em qualquer direção.
    2. Técnicas de anti-serrilhamento (antialiasing)
  5. Rasterização de Curvas
    1. A Equação da Circunferência
    2. Traçado de curvas usando coordenadas polares.
    3. Algoritmo de Bresenham para circunferências e elipses
  6. Laboratório
    1. Programa para desenho livre e/ou figuras geométricas.
  7. Síntese de Cores.
    1. Luz e cores e o sistema visual humano.
    2. Sistemas de cores aditivas. Modelo RGB.
    3. Sistemas de cores subtrativas. Modelo CMY/CMYK.
    4. Sistemas de cores HSV.
  8. Laboratório
    1. Criando um gradiente de cores.
  9. Transformações geométricas em duas e três dimensões
    1. Transformações de pontos (translação, reflexão, escala, rotação e cisalhamento).
  10. Concatenação de transformações geométricas.
    1. Coordenadas homogêneas.
    2. Concatenação de transformações.
  11. Representação e modelagem de primitivas em 3D.
    1. Representação de vértices, arestas e faces.
    2. Estrutura de dados baseada em vértices e arestas.
    3. Modelagem de objeto por seus vértices e arestas.
  12. Transformações Projetivas.
    1. Projeções paralelas (ortográficas e oblíquas) e em perspectivas.
    2. Laboratório: Desenvolver um programa que implemente transformações em três dimensões

V – ESTRATÉGIA DE TRABALHO

  • Aulas expositivas nas quais são abordados aspectos teóricos.
  • Aplicações a problemas de interesse da Ciência da Computação, com exercícios em classe (acompanhados pelo professor) e atividades extra-classe (projetos).
  • Apresentação dos resultados dos projetos à comunidade discente.

VI – AVALIAÇÃO

Provas bimestrais e trabalhos práticos.

 VII – BIBLIOGRAFIA

Básica

  • Hughes, John F., and James D. Foley. Computer graphics: principles and practice. Pearson Education, 2013.
  • AZEVEDO, E. CONCI, A. Computação Gráfica: Teoria e Prática. – Ed. Campus, 2003.
  • ZEVEDO, E. CONCI, A. Computação Gráfica – Vol. 2, Ed. Campus, 2007.
  • UNIOR, Annibal Hetem.  Computação Gráfica: Série Fundamentos de Informática – Ed. LTC, 2006.

Complementar

  • AMMERAAL, L. e ZHANG, K. – Computação Gráfica para programadores Java -, 2a. ed. Rio de Janeiro- Ed. LTC.
  • ANGEL, E.  – Interctive Computer Graphics: A top-down approach with OpenGL . 2a. ed. – Ed. Addison-Wesley Publishing Co., 2000.
  • FOLEY, J., et al., “Computer Graphics: Principles and Practice”, 2a. ed (em C), Addison-Wesley Publishing Co., 2003.
  • HARTMAN, J. e WERNECKE, J. “The VRML 2.0 Handbook”, Addison-Wesley Publishing Co., 1996.
  • MENEZES, Marco Antonio Figueiredo. RIBEIRO, Marcello Marinho.  Uma Breve Introdução a Computação Gráfica.  Ed. Ciência Moderna, 2010.

Homework 01: http://goo.gl/forms/r3tScVdeKy

Revisão

http://www.cs.brandeis.edu/~cs155/

http://www.cogsci.rpi.edu/~destem/gamearch/

http://www2.ic.uff.br/~aconci/AI.html

https://inst.eecs.berkeley.edu/~cs184/sp12/slides.html 

http://www1.cs.columbia.edu/~cs4162/slides/

 http://www.cs.arizona.edu/classes/cs433/spring12/syl.html

http://bit.ly/1ENxB35

%d blogueiros gostam disto: