Code: | CC4009 | Acronym: | CC4009 | Level: | 400 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
Active? | Yes |
Web Page: | https://moodle.up.pt/course/view.php?id=202 |
Responsible unit: | Department of Computer Science |
Course/CS Responsible: | Master in Computer Science |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
M:CC | 17 | Study plan since 2014/2015 | 1 | - | 6 | 42 | 162 |
MI:ERS | 28 | Plano Oficial desde ano letivo 2014 | 4 | - | 6 | 42 | 162 |
The proposed syllabus is taught in lecture classes where the main concepts are introduced and applied examples related to film, games and medical applications are presented. During the labs students will solve practical assignments related to the concepts presented during the lectures by implementing the solutions in C++ or Python using OpenGL. Students must demonstrate that they are capable of understanding advance topics by presenting an article related to one of the subjects presented during the lectures. All learning outcomes are then integrated into a project achieved during the labs.
On completing this course, the students are expected to:
* Understand each module and components of a graphic pipeline
* Apply math principals to 2D and 3D graphics
* Know how to use the basic principles of computer graphics, namely 3D modeling, animation, camera control, texturing, illumination and rendering
* Develop algorithms that allow the representation of 2D and 3D objects, like polygon, curves and surfaces.
* Introduction to computer animation, in particular understand the principals of animation and deformation.
* Experiment with motion capture hardware and implement methods that allows the animation of 3D characters
* Implement first person, third person and dynamic cameras to allow the manipulation and control of characters, objects and 3D environments
* Use OpenGL and explore its potential to deploy the topics presented during the year.
N/A
* Graphic Pipeline and its components
* Math principals applied to computer graphics: Linear Algebra, Transformation Matrices
* Computer Graphics principals. Viewing: viewing transformations, projective transformations, perspective projection. Texturing: 2D and 3D mapping, specific algorithms (eg. bump mapping and displacement maps). Illumination and color: flat shading, gouraud and phong. Camera: first and third person, furstrum and clipping. 3D models: loading and rendering of 3D objects. Animation: introduction to rigging, keyframe animation and skeletal animation
* Introduction to algorithm development like Bezier curves and deformation algorithms like free form deformers
* Computer animation: animation principals, difference between keyframe and motion capture, deformation and character animation
The teaching methodologies adopted are consistent with the enumerated learning outcomes for the following reasons:
* Lectures allow a detail and adequate introduction and explanation of the core concepts described in the syllabus, namely computer graphics principals, algorithms and all the main components of a graphic pipeline, always supported by illustrative examples that are up to date.
* Labs allows students to consolidate the learned concepts and have a hands on experience on concrete graphic programming using C++ or Python and OpenGL
* The article presentation give the student the possibility of acquiring experience on how to understand advance topics on computer graphics and present a state of the art topic on the related field. It will help students be up to date with the latest technology related to computer graphics
* The project allow the students to put together all the learned concepts into one unified application, which can help them understand the importance of each step of the pipeline and each component.
designation | Weight (%) |
---|---|
Teste | 20,00 |
Trabalho laboratorial | 30,00 |
Trabalho prático ou de projeto | 50,00 |
Total: | 100,00 |
designation | Time (hours) |
---|---|
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 |
Lecture classes (T): Content presentation. Discussion of illustrative examples.
Practical classes (P): practical demonstration of the contents given in classes. Problem solving. Discussion and clarification of students’ questions. The students will involve: C++ language or Python and Open GL.
Distributed evaluation with final exam.
a) Assignment Type 1: independent assignment 30%
b) Assignment Type 2: special project/demo competition 50%
c) Final Exam - 20%
Evaluation
•Evaluation is individual even when students work in pairs.