Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Computer Graphics: Geometry and Simulation (INFR11241)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis course introduces classic and state-of-the-art methodology in computer graphics. We will focus on methods and best practices in geometry and physical simulation, which are the basic building blocks for downstream applications such as animation, industrial design, game engineering, structural analysis, AR/VR, and medical imaging. Our curriculum will cover basic representations of shapes, geometric optimization, analysis, and principles of robust digital simulation of physical scenes. The techniques employed will involve classical numerical analysis up to deep geometric learning.

The course will include programming tasks to implement a few key algorithms in geometry processing, geometric learning, and physical simulation, to the extent that they can independently run and be analysed on modest open-source data.

This course (CGGS) and Computer Graphics: Rendering (CGR) are both courses that require no previous knowledge of computer graphics. These two courses may be taken independently or together. CGGS focusses on the representation, processing, and dynamics of 3D objects in the virtual world while CGR focusses on the rendering of virtual worlds as photo-realistic images.
Course description Delivery Method:

The course will be delivered through a combination of (1) live lectures, (2) tutorials, and (3) an online discussion forum.

Content / Syllabus:
The exact set of methods and algorithms explored in the course will vary slightly from year to year, but will include many of the following topics:

- Overview: geometry and simulation in digital applications.
- Elemental digital representations of geometry: simplicial meshes, point clouds, voxelizations, implicit functions, neural fields
- Elementary principles of discrete simulation: strain and stress tensors, force equations, time integration.
- Geometry acquisition and reconstruction: classical (least-squares based) and modern (neural-network based) algorithms.
- Discrete shape analysis: curvatures, topology, differential operators.
- Finite-element spaces for simulation and analysis, including basic PDEs like elasticity, Stokes equation, and Poisson equation.
- Simulation of rigid bodies with collisions.
- Modern deep-learning techniques for geometry and simulation, such as physics-informed neural networks, graph neural networks, and implicit representations (e.g., signed distance fields)
- Practical aspects of implementation and debugging in geometry: we will discuss how to identify, critically analyse, and improve performance in geometric methods, with emphasis on pitfalls and basic principles in implementation and design.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Computer Graphics: Geometry and Simulation (UG) (INFR11247)
Other requirements Enrolled students are assumed to have:
- Basic algebra and geometry (e.g., vectors, rotations, trigonometry, etc.). Also basic calculus (what are differentiation and integration)
- Recommended: Physics to understand Newton's Laws of Motion. However, there will be a video lecture 0 to cover this material.

Students should be comfortable with programming in Python.
Information for Visiting Students
Pre-requisitesAs above.
High Demand Course? Yes
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 18, Seminar/Tutorial Hours 4, Supervised Practical/Workshop/Studio Hours 4, Feedback/Feedforward Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 70 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) 100% coursework

Coursework will comprise programming exercises where each such exercise will comprise a single major algorithm learned in class. Students will be provided a skeleton code and an automatic self-checker. Examples of possible exercises are:

1. Reconstruction from point clouds.
2. Simulation of multiple rigid bodies.
3. Discrete shape analysis (visualizing quantities on meshes).
4. Elastic deformation with finite elements.
5. Learning functions on meshes.

There will be a choice of two such exercises (each 40% of the grade), where a final exercise (20% percent of the grade) about fixing and debugging problems in geometry will be mandatory.

The core part of each exercise will cover about 70% of the grade, whereas possible creative augmentations to the exercise might top the grade further. The students will need to write a short single page to demonstrate their outcome on that part.

We will include an 'exercise 0' which is not formally graded (although it will have an auto-checker), but that runs through the basics of using the machinery of the course and some basic computational linear algebra. The feedback will be in the form of an automatic checker, where the theoretical aspects will be discussed in the tutorial/lab sessions.
Feedback The students will be able to check their own work on diverse inputs and will have one exercise with specific emphasis on processing feedback from programming in geometry and simulation.
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. identify and isolate geometric problems and produce an algorithm to solve them
  2. implement basic methods in geometry and simulation which would be adequate for either further research or as initial knowledge to find work in the relevant industry (examples of advanced applications in the industry that use this core knowledge: 3D printing, architectural design, medical imaging, weather simulations, robotics)
  3. use software and tools (e.g., Python) to implement geometric algorithms and test their results
  4. identify, fix, and test for possible issues with geometric algorithms in a way that transcends just 'software bugs' but rather problems with a geometric context
Reading List
The course will be self-contained with no required books;

A list of useful resources:
1. Polygon Mesh Processing (
2. A Sampler of Useful Computational Tools for Applied Geometry, Computer Graphics, and Image Processing (
3. Physics for Game Developers, 2nd Edition, By David Bourg, Bryan Bywalec.
4. Physically Based Modeling: Principles and Practice (Online Siggraph '97 Course notes)
Additional Information
Graduate Attributes and Skills Knowledge integration: This course will integrate and apply knowledge from more basic courses (e.g., math) and teach basic techniques that will be useful in latter or parallel courses (robotics, vision, bioinformatics).
Problem-solving skills: The students will develop their problem-solving skills by experimenting empirically with complex algorithms and their possible issues. The 'debugging geometry' subject is particularly useful in this aspect.
Critical and analytical thinking: The students will have to deeply understand and analyse the presented methodology so they could bring it into implementation in the practicals.
KeywordsComputer Graphics,Geometry Processing,Game Physics,Simulation
Course organiserDr Amir Vaxman
Tel: (0131 6)50 8286
Course secretaryMiss Yesica Marco Azorin
Tel: (0131 6)505113
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information