# Tools Engineer: Core Game Development - Math

#### Knowledge

*list reference from tools-engineer-checklist.md by Geoff Evans*

##### Numbers

- Radix (2: binary, 10: decimal, 16: hexadecimal)

##### Alegbra

- Polynomials
- Conic sections

##### Linear Algebra

- Matrices for representing systems of equations
- The determinant and what it tells you about a matrix

##### Linear Algebra

- All the trigonometric functions
- How each trig function relates to coordinate components on the unit circle

##### ℝ3 and affine transformations:

- Fundamental vector operations: addition, subtraction, dot product, cross product
- Vectors that are "normalized," "orthogonal," and "ortho-normalized"
- Basis vectors of a matrix
- Row-major vs. column-major notation
- The plane equation, and its related to the dot product
- Affine transform composition: scale, rotation, translation
- Affine transform concatenation: global/parent/object space
- Affine transform inversion
- Affine transform decomposition

##### Rotations

- Euler angles, axis-angle, quaternion, rotation matrices
- 3-by-3 Rotation matrices (matrices, normal and non-normal, orthogonal and non-orthogonal)"
- How euler angles are short-hand for rotation matrices
- How to intuit a rotation from a 3-by-3 ortho-normalized matrix
- Euler angle static and rotating frame conventions

### Resources

#### Book Links

- 3D Math Primer for Graphics and Game Development
- Essential Mathematics for Games and Interactive Applications
- Mathematics for 3D Game Programming and Computer Graphics

#### Web Links

- Linear algebra for game developers
- Vectors and Matrices Marq Singer
- The Matrix and Quaternions FAQ
- Math for Game Developers - Jorge Rodriguez
- Immersive Linear Algebra
- Visualizing quaternions