Data Structures for Computer Graphics
- Department of Computer Graphics and Interaction
This course provides you with the fundamentals of data structures commonly used in computer graphics. In contrast to standard binary search trees used in one dimension, the presented theory focuses on multidimensional data used to describe 3D scenes. In addition to the theory, the course emphasizes individual and team projects, where the importance and advantages of multidimensional data are demonstrated on practical examples. The students will gain practical experience through their own individual projects.
Space and runtime complexity of algorithms, binary trees and heaps, tree balancing, search algorithms, priority queues, fundamentals of von Neumann architecture, and good knowledge of C++. The knowledge of C++ will be checked during the first exercise.
- Syllabus of lectures:
1. Lectures overview, review of sorting and searching, review of computer graphics algorithms, questions to the course, rules of the game. Introduction to hierarchical and regular data structures used in CG.
2. Incidence operations used in computer graphics
3. Point based representations and data structures
4. Object based and image based representations in 2D and 3D
5. Proximity search and its applications I.
6. Proximity search and its application II.
7. High-dimensional search algorithms.
8. Ray shooting and its applications I.
9. Ray shooting and its applications II.
10. Visibility algorithms based on z-buffer I.
11. Visibility algorithms based on z-buffer II.
12. Static collision detection.
13. Advanced collision detection.
- Syllabus of tutorials:
1. Introduction to the exercises, description of homework projects
2. Selection of term projects + consultations
3. Examples of incidence operations
4. Consultation to homework projects
5. Project presentations (4 participants)
6. Project presentations (4 participants)
7. Project presentations (4 participants)
8. Consultations to homework projects
9. Written test for 60 minutes (plus perhaps some presentations)
10. Project presentation (4 participants)
11. Project presentations (4 participants)
12. Consultation to the term projects.
13. Demonstration and evaluation of the projects (10x)
14. Demonstration and evaluation of the projects (10x)
- Study Objective:
Students will acquire credits on the basis of term project and it consists of achieved results, the source code documentation, project presentation and the project functionality. There will be a written test in the term. The extent of the exam is given by contents of lectures.
- Study materials:
1. Samet, H: The Design and Analysis of Spatial Data Structures, Addison Wesley 1994.
2. Samet, H: Applications of Spatial Data Structures, Addison Wesley, 1990.
3. Laurini, R. and Thompson D.: Fundamentals of Spatial Information Systems, Academic Press 1992.
4. Samet, H: Foundations of Multidimensional and Metric Data Structures, Morgan Kaufmann Publishers, 2006.
5. E. Langetepe and G. Zachmann: Geometric Data Structures for Computer Graphics, 2006.
6. C. Ericson: Real Time Collision Detection, Morgan Kauffman Publishers, 2005.
7. G. van den Bergen: Collision Detection in Interactive 3D Environments, Elsevier, 2004.
8. D. P. Mehta and S. Sahni: Handbook of Data Structures and Applications, Chapman and Hall/CRC, 2004
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans: