-
Presentation
Presentation
The objectives of this curricular unit is to give students basic understanding about mathematics and physics, mainly as tool for the development of games.
In this curricular unit, the students will learn concepts of trigonometry, vector and matrix calculus, coordinate systems, probabilities and statistics, numerical computation, parametric functions and geometric primitives.
They will also be introduced to more practical applications of mathematics, using Python with the libraries NumPy and Pygame for the development of a rudimentary 3d graphics engine.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 4
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULHT1075-17337
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
Cartesian coordinate systems and basic trigonometry
Vectors: definition, properties and operations
Coordinate spaces: practical application, examples and transformations Matrices: definition and geometric interpretation, determinantes, inverse Linear transforms: rotation, scaling, translation, projection
Transform hierarchy and composition
Different representation of 3d rotation: matrices, Euler angles and quaternionsProbability and mathematical distribution
Parametric functions
Geometric primitives
Math for 3d graphics
Examples: NumPy e Pygame
-
Objectives
Objectives
At the end of this CU, the student should:
Master trigonometry and coordinate systems
Have basic knowledge of vector and matrix math, as well as linear transforms
Know the common geometric primitives used in game development, and how to compute distance, intersection, etc
Have basic knowledge of probability and statistics
Master parametric functions, and know how to use them in real world problems.
Have a good grasp of the render pipeline and 3d rendering.
Be able to solve problems involving visualization, interpretation and implementation of virtual worlds in 2d and 3d, on paper and with Python (for example).
-
Teaching methodologies and assessment
Teaching methodologies and assessment
Peer review methodology with "Socrative" software (as an example).
-
References
References
Dunn, F., & Parberry, I. (2011). 3D Math Primer for Graphics and Game Development (2nd ed.). CRC Press.
Craven, P. (2016). Program Arcade Games: With Python and Pygame. Apress.
Brownlee, J. (2018). Basics of Linear Algebra for Machine Learning: Discover the Mathematical Language of Data in Python. Self-published.
-
Office Hours
Office Hours
-
Mobility
Mobility
No