SPI2005 Applied mathematics for computer graphics and simulation
- Course codeSPI2005
- Number of credits15
- Teaching semester2027 Autumn
- Language of instruction and examinationEnglish
- CampusHamar
- Required prerequisite knowledge
Recommended prerequisite knowledge: SPI1002 Introduction to Game Programming, SPI1003 Fundamental Game Design for Programmers, SPI1004 Game Programming, SPI1005 Game Design and Algorithms
This course gives a solid foundation in the mathematical concepts most relevant to computer graphics, simulation, and game technology. Topics include vector spaces, basis, orthogonality, norms and metrics, and the use of 2D, 3D, and 4D vectors in geometric modelling.
Emphasis is placed on practical application of mathematical tools in engineering and computer science contexts, particularly for graphics, simulation, and game development.
Learning outcome
A candidate who has completed the course has the following learning outcomes:
The candidate
- can explain core mathematical concepts relevant to computer graphics and simulation, including vectors, matrices, transformations, probability, and complex numbers
- is familiar with probability theory, combinatorics, and probability distributions as tools for modelling randomness, AI behavior, and uncertainty in game
- understands the use of complex numbers in game-related mathematical problem-solving, such as rotations and signal processing
- has a solid understanding of vector spaces, bases, orthogonality, norms, and metrics, and their role in modelling positions, movements, and transformations in games
- understands the use of 2D, 3D, and 4D vectors, normal vectors, and plane equations for computer graphics, physics simulations, and collision detection in games
The candidate
- can apply vector and matrix operations to implement geometric transformations, movement, and collision detection in games
- can compute normal vectors, plane equations, and geometric transformations using homogeneous coordinates to model 3D environments and animations
- can use complex numbers to solve game development problems such as rotations, oscillations, and wave-based phenomena
- can apply probability theory and distributions to implement randomized game mechanics, AI decision-making, and procedural generation
- can solve systems of linear equations and assess solution methods for efficiency and stability in game simulations
The candidate
- can connect mathematical theory to practical game development challenges, including graphics, physics, and interactive systems
- can work independently and collaboratively to solve mathematical problems in game development projects
- can critically evaluate mathematical approaches for suitability, efficiency, and performance in real-time games
- can communicate mathematical models, algorithms, and solutions clearly to peers and team members, both orally and in writing
- demonstrates readiness to apply this mathematical foundation in advanced game development courses, including graphics programming, simulation, and game engine design
The students work both individual and in groups to solve given assignments. Teaching is mostly done through pre-recorded videos, presented reading material and through learning activities in class, individual or in groups.
Supervision will be conducted both at an individual level and in groups or project teams.
- 2 individual practical assignments
- 1 group assignment
- 80% attendance in teaching and 100% attendance in specific learning activities according to the teaching plan
| Form of assessment | Grading scale | Grouping | Duration of assessment | Support materials | Proportion | Comments |
|---|---|---|---|---|---|---|
Portfolio examination | ECTS - A-F | Individual | Hour(s) | 100 | ||
Oral examination | Passed - not passed | Individual |