Código: | CC4009 | Sigla: | CC4009 | Nível: | 400 |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Ciência de Computadores |
Ativa? | Sim |
Página Web: | https://moodle.up.pt/course/view.php?id=202 |
Unidade Responsável: | Departamento de Ciência de Computadores |
Curso/CE Responsável: | Mestrado em Ciência de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
M:CC | 16 | PE a partir do ano letivo de 2014 | 1 | - | 6 | 42 | 162 |
MI:ERS | 22 | Plano Oficial desde ano letivo 2014 | 4 | - | 6 | 42 | 162 |
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.
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
N/A
*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
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.
Designação | Peso (%) |
---|---|
Teste | 20,00 |
Trabalho laboratorial | 30,00 |
Trabalho prático ou de projeto | 50,00 |
Total: | 100,00 |
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 |
Requisitos necessários para obtenção de frequência à disciplina:
- Nota final mínima de 9.5 valores.
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 com exame final
a) Prova Tipo 1: trabalhos independentes - peso 30%
b) Prova Tipo 2: Projecto especial / competição de demos – peso 50%
c) Exame Final – peso 20%
Avaliação
A avaliação é individual, mesmo nos trabalhos de grupos.
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.