Computer Graphics (6ΚΠ07)
Instructor : Vasileios Drakopoulos
Course typeCompulsory
Semester6
TermSpring Semester
ECTS5
Teaching hours3
Laboratory hours
Description
Introduction to Computer Graphics (CG), CG pipeline and hardware. Rasterisation algorithms of line segments, circles and conic sections, antialiasing techniques, polygon filling algorithms, 2D line and polygon clipping algorithms. 2D and 3D coordinate systems and transformations, composite transformations, homogeneous coordinates, projections and viewing transformations. Model representation and simplification. Parametric curves and surfaces, Bézier and spline surfaces, surface representation and deformation, application to anatomical models. Colour models, halftone and dithering, illumination and shading models. Visualisation of 3D data, surface and volume rendering, applications in biomedical data, Digital Reconstructed Radiograph (DRR) from CT data, surface triangulation algorithms, 3D surface reconstruction, marching cubes algorithm for rendering medical data. Elastic transformations, geometric deformation of images in 2D and 3D with application in spatial cross-modal image registration e.g. CT - Single-photon emission CT (SPECT), in radiotherapy design and surgery simulations, construction of 3D anatomical shape atlases, information fusion from different imaging systems.
Course objectives

A successful student will:

  • Know and be able to describe the general software architecture of programs that use 3D computer graphics.
  • Know and be able to discuss hardware system architecture for computer graphics. This includes, but is not limited to: CG pipeline, frame buffers and graphic accelerators/co-processors.
  • Know and be able to use a current 3D graphics API (e.g., OpenGL or DirectX).
  • Know and be able to use the underlying algorithms, mathematical concepts, supporting computer graphics. These include but are not limited to:
    • Composite 3D homogeneous matrices for translation, rotation, and scaling transformations.
    • Plane, surface normals, cross and dot products.
    • Hidden surface detection and removal.
    • Scene graphs, display lists.
  • Know and be able to select among models for lighting/shading: Color, ambient light; distant and light with sources; Phong reflection model; and shading (flat, smooth, Gourand, Phong).
  • Know and be able to use and select among current models for surfaces (e.g., geometric; polygonal; hierarchical; mesh; curves, splines, and NURBS; particle).
  • Know and be able to design and implement model and viewing transformations, the graphics pipeline and an interactive render loop with a 3D graphics API.
  • Be able to design and implement models of surfaces, lights, sounds, and textures (with texture transformations) using a 3D graphics API.
  • Be able to discuss the application of computer graphics concepts in the development of computer games, information visualization, and business applications.
  • Be able to discuss future trends in computer graphics and quickly learn future computer graphics concepts and APIs.
Textbooks/Bibliography
  • Donald D. Hearn, M. Pauline Baker and Warren Carithers, Computer Graphics with OpenGL, 4th ed., Pearson Prentice Hall, Upper Saddle River, NJ, 2011
  • Theoharis Theoharis, Georgios Papaioannou, Nikolaos Platis, Nicholas M. Patrikalakis, Graphics and Visualization: Principles & Algorithms, A K Peters/CRC Press, Wellesley, MA, 2008