Computer Graphics and Interfaces (2017/2018) - Departamento de Informática

Additional information: http://ctp.di.fct.unl.pt/miei/cgi

Description

The discipline focuses on the process of creation and manipulation of graphics used systematically today, not only to design and solve specific problems, but also to communicate with software or for dissemination of information among peers. Given the high degree of interaction usually involved in these processes, it also becomes important to deepen the study of essential interfaces with the human being. With this discipline, a student will have access to the grounds of the techniques and algorithms underlying the modelling of objects and the rendering of the corresponding images in a computer, either at the level of interactive graphics application programming or at the level of the implementation of graphics systems.

Objectives

Knowledge
• To describe the graphics pipeline and to identify their implications.
• To list and describe the basic techniques for modelling based on polygons and attributes of vertices.
• To identify the basic principles in building the user interface.
Application
• The student should be able to use a modern API to create a graphical application that can be integrated with applications from any other kind.
• The student should manage to translate the principles of design of a GUI into an efficient implementation and atual applicability.
Soft-Skills
• Ability for modelling and abstraction.
• Theoretical assessment of the efficiency of a solution.
• Drafting and following an experimental protocol for evaluation of a solution.

Syllabus

1. Modeling:
- Primitives
- Surfaces
- Scene graphs
2. Geometric projections:
- Parallel and perspetive projections
3. Other essential transformations in the graphics pipeline:
- Window-viewport transformation
- Clipping
- HLHSR
4. Event-driven programming
5. Computer animation in real time
6. Introduction to color models and illumination models
7. Generation and application of texture mapping:
- Digital images and procedural methods
8. Interaction:
- Models
- Styles
- Screen design
- Contexts
9. User interface techniques:
- 2D/3D metaphors
- Physical devices
- Control
- Feedback
- Visualization
- Navigation and manipulation
10. WebGL Programming

Bibliography

•Edward Angel and Dave Shreiner, "Interactive Computer Graphics,A Top-Down Approach with WebGL",Seventh Edition, Addison-Wesley 2015

• John F. Hughes, Andries van Dam, Morgan McGuire, David Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley, "Computer Graphics: Principles and Practice", 3rd Edition, Addison-Wesley Professional (2013)

• J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, "Computer Graphics - Principles and Practice", 2nd edition in C, Addison-Wesley (1996)

• Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale, "Human-Computer Interaction", 3rd edition, Prentice Hall (2004)

Prerequisites

Good programming skills in one of the following languages: Javascript, C/C++ or Java

Basic knowledge of linear algebra and geometry


Student work
  Hours per credit 28
  Hours per week Weeks Hours
Aulas práticas e laboratoriais   28.0
Aulas teóricas   42.0
Avaliação   4.0
Self study   72.0
Orientação tutorial   2.0
Project   14.0
Total hours 162
ECTS 6.0