INF1761 – Computação Gráfica em 2021.1

INF1761 – Computação Gráfica em 2021.1

Atenção: Esta páginas é constantemente atualizada durante o curso. Última atualização:


Professor:

Marcelo Gattass
e-mail: usuário mgattass no domínio tecgraf.puc-rio.br

Formas de comunicação:

Objetivo:

A Computação Gráfica tornou-se onipresente em nossa sociedade na medida que vídeos e imagens passaram a ser comuns no nosso dia a dia. Além das imagens fotográficas, lidamos atualmente muitas vezes com imagens científicas, como por exemplo aquelas resultantes de exames médicos ou de levantamentos sísmicos. Muitas inovações atuais envolvem escrever programas para computadores ou celulares que manipulam vídeos e imagens. Este curso visa complementar a formação d#s estudantes da PUC-Rio que tenham interesse nesta formação de programação.
Especificamente o curso capacita # alun# a desenvolver programas que manipulem cores, imagens gerando gráficos, modelos de objetos 3d e cenas mais complexas.
O curso é baseado na busca de soluções de desafios atuais através do desenvolvimento de programas. Neste semestre, devido ao modelo de ensino remoto, buscamos utilizar ferramentas que # estudante possa fazer todo o desenvolvimento sem apoio dos laboratórios da PUC-Rio. Por isso, os trabalhos do curso neste semestre serão feitos exclusivamente em Python. Para apoiar a instalação domiciliar do ambiente de programação, preparamos o material neste link: instalação de Python com Jupyter Notebook.

Programa:

  1. Apresentação do curso
  2. Luz, Cor, Colorimetria e Sistemas de Cores
  3. Imagem Digital: processamento e detecção de objetos
  4. Algebra e Geometria I
  5. Rastreamento de Raios
  6. Algebra de rotações em 3D
  7. ZBuffer e OpenGL
  8. Curvas, Superfícies e Malhas

Plano as aulas:

Plano tentativo das aulas em 2021.1.

Pré-requisito:

Conhecimentos bem básicos de programação Python.
Conhecimentos básicos de álgebra linear e cálculo.

Trabalhos planejados:

  1. T1 - Sistemas de cor.
  2. T2 - Processamento de Imagem Digital
  3. T3 - Algoritmo de visão em imagens
  4. T4 - Traçado de Raios
  5. T5 - Rotações 3D
  6. T6 - Cirvas e superfícies

Ambiente de desenvolvimento:

Instuções para instalação no seu computador de um ambiente básico de programação para o curso instalação de Python com Jupyter Notebook (com as libs Pandas, Numpy + Scipy , Matplotlib, PyTorch. ipycanvas e PyThreejs). Outras libs devem ser instaladas durante o curso, por isso não deixe de criar uma ambiente virtual no Conda. Não queremos atrapalhar os outros sistemas no seu computador.

O computador para acompanhar o curso não precisa ser especial. Placas de vídeo permitem que os algortimos de rede neural e de computação gráfica fiquem muito mais rápidos, mas não são necessárias para o aprendizado. Podemos fazer todos os trabalhos sem elas. Eu estou preparando o curso num notebook, rodando os trabalhos sem GPU.

Alunos da PUC-Rio que tiverem dificuldades de ter acesso a um equipamento em casa para acompanhar as aulas, por favor entrem em contato comigo, pelo e-mail acima para buscarmos uma solução.

Avaliação:

A avaliação é feita através de trabalhos feitos individualmente que consistem no desenvolvimento de notebooks Python que abordem temas desenvolvidos em aula. A avaliação também leva em conta a participação nas discussões em aula e nos fóruns de discussão do grupo da disciplina.

Caso a avaliação por trabalhos se mostre inviável, poderemos ter duas provas. Uma para o G1 e outra para o G2.

Os alunos que estiverem fazendo TFC no assunto do curso, mesmo que sob a orientação de outro professor podem sumeter relatórios parciais do trabalho para valer nota. Nestes casos é preciso combinar com antecedência.

Código de Ética:

A disciplina segue o Código de Ética do CTC da PUC-Rio.

Bibliografia: