Saltar para:
Logótipo
Você está em: Início > CC4009
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Computação Gráfica

Código: CC4009     Sigla: CC4009     Nível: 400

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2021/2022 - 1S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Mestrado em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
M:CC 10 PE a partir do ano letivo de 2014 1 - 6 42 162

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

O programa proposto é leccionado nas aulas teóricas onde os principais conceitos são introduzidos e são apresentados exemplos aplicáveis relacionados com filme, jogos e aplicações na medicina. Nos laboratórios os alunos resolverão trabalhos práticos relacionados com os conceitos apresentados nas aulas práticas, implementando soluções em C++ ou Python utilizando o OpenGL. Os alunos devem demonstrar a capacidade de compreender os tópicos avançados ao apresentar um artigo relacionado com um dos temas apresentado nas aulas teóricas. Os objectivos da aprendizagem serão integrados num projecto desenvolvidos nos laboratórios.

Resultados de aprendizagem e competências

Ao concluírem esta disciplina os alunos irão obter os seguinte conhecimentos:

Compreender cada módulo e componente de um pipeline gráfico

* Aplicar princípios matemáticos em gráficos 2D e 3D

* Como utilizar os princípios básicos de computação gráfica, nomeadamente modelar em 3D, animação, controlo de câmara, texturização, iluminação e renderização

* Desenvolver algoritmos que permitem a representação de objectos 2D e 3D, como polígonos, curvas e superfícies

*Introdução a animação computacional, em particular compreender os princípios de animação e deformação.

*Utilizar hardware de capture de movimento e implementar métodos que permitem a animação de personagens em 3D

*Implementar câmaras na primeira e terceira pessoa e câmaras dinâmicas para permitir a manipulação e controlo de personagens, objetos e ambientes em 3D

*Usar o OpenGL e explorar o seu potencial para aplicar os tópicos apresentados durante o ano

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

N/A

Programa

*Pipeline gráfico e os seus componentes

*Princípios matemáticos aplicado em computação gráfica: Álgebra Linear e matriz de transformações lineares

*Princípios de Computação Gráfica. Visualização: visualização de transformações, transformações projectivas, projecção perspectiva. Texturização: mapeamento 2D e 3D, algoritmos específicos (por exemplo: bump mapping e displacement mapping). Iluminação e cor: ambiente, Gouraud e Phong. Câmara: primeira e terceira pessoa, frustrum e clipping. Modelos 3D: exportar e renderizar objectos 3D. Animação: introdução ao rigging, animação de keyframe e animação de esqueleto.

*Introdução ao desenvolvimento de algoritmo, tal como a curva de Bezier e deformações de algoritmos como deformadores free form

* Animação computacional: princípios de animação, diferença entre keyframe e captura de movimentos, deformação e animação de personagens

Bibliografia Obrigatória

Dave Shreiner, Graham Sellers, 
John Kessenich
, Bill Licea-Kane; OpenGL Programming Guide, Eighth Edition (http://proquest.safaribooksonline.com/book/programming/opengl/9780132748445/firstchapter)
Steve Marschner and Peter Shirley, A K Peters; Fundamentals of Computer Graphics, 4th Edition, 2015

Bibliografia Complementar

Dave Shreiner, Graham Sellers, John Kessenich, Bill Licea-Kane; OpenGL Programming Guide, Eight Edition
John. F. Huges, Andries Van Dam, Morgan McGuire, David F. Sklar, James D.Foley, Steven K. Feiner, Kurt Akeley; Computer Graphics: Principles and Practice (3rd Edition), 2014
Tomas Akenine_Moller, Eric Haines, Naty Hoffman; Real-Time Rendering, (3rd Edition), 2008
Eric Lengyel; Mathematics for 3D Game Programming and Computer Graphics (3rd Edition), 2012

Métodos de ensino e atividades de aprendizagem

As metodologias de ensino aplicado são coerente com os objectivos de aprendizagem enumerados porque:

*A teoria permite uma introdução e explicação detalhada e adequada ao conceito descrito no programa, nomeadamente os princípios de computação gráfica, algoritmos e todos os principais componentes do pipeline gráfico, sempre suportado por exemplos ilustrativos actualizados.

*Os laboratórios permitem ao aluno consolidar os conceitos adquiridos e ter um contacto directo com programação gráfica utilizando C++ ou Python e OpenGL.

* A apresentação do artigo dá a possibilidade ao aluno de compreender tópicos avançados em computação gráfica e apresentar um estado de arte num tópico relacionado na área. Isto irá ajudar os alunos em estarem a par com a mais recente tecnologia relacionada com computação gráfica.

* O projecto permite os alunos de reunir os conceitos aprendido numa só aplicação, que irá ajuda na compreensão da importância de todos os passos do pipeline e cada componente.

 

 

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Trabalho laboratorial 50,00
Trabalho prático ou de projeto 50,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 38,00
Elaboração de relatório/dissertação/tese 10,00
Estudo autónomo 20,00
Trabalho laboratorial 50,00
Frequência das aulas 33,00
Trabalho escrito 11,00
Total: 162,00

Obtenção de frequência

Requisitos necessários para obtenção de frequência à disciplina:
- Nota final mínima de 9.5 valores.

Fórmula de cálculo da classificação final

Aulas teóricas (T): Apresentação dos conteúdos. Discussão de exemplos ilustrativos.
Aulas práticas (P): Demonstração prática dos conteúdos dados nas aulas teóricas. Resolução de problemas. Discussão de dúvidas dos alunos. As aulas envolverão: uso da linguagem C++, C# ou Python, e OpenGL.

 

Avaliação distribuída sem exame final
a)  Prova Tipo 1: trabalhos independentes  - peso 50% 
b)  Prova Tipo 2: Projecto especial / competição de demos – peso 50% 


Avaliação
A avaliação é individual, mesmo nos trabalhos de grupos.

Provas e trabalhos especiais

Trabalhos Especiais:

•Tipo 1: (trabalhos individuais) Existem 3 trabalhos de laboratório, cada um com o valor de 10 pontos. Os trabalhos de laboratório correspondem à aplicação prática do conhecimento teórico das aulas.
•Tipo 2: (Projecto especial / competição de demos) Deve ser um projecto baseado na tecnologia. O projecto deve incluir os tópicos apresentados nas palestras (consultar horário). Sugiro uma discussão relativamente ao projecto que gostaria de desenvolver no início do semestre, de forma a poder prestar assistência e ajudar a definir os resultados. No final do semestre haverá uma “demo show” de todos os projectos que consiste numa apresentação em tempo real de um minuto. Portanto, sugiro que explorem ao máximo a vossa criatividade, originalidade e capacidade de persuasão.

Observações

Ficha da cadeira no moodle
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-15 às 00:28:26 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias