Lesson 4: Geometry

• 1. Points, Vectors and Normals

An simple and informative introduction to Geometry in which you learn the difference between points, vectors and normals.

• 2. Coordinate Systems

Points and vectors are all expressed in relation to a particular frame of reference, which is called a coordinate system.

• 3. Math Operations on Points and Vectors

We will learn some basic math operations on points and vectors such as the dot and cross products.

• 4. Matrices

In this chapter you will learn about what matrices are and how they can be multiplied with each other.

• 5. How Does Matrix Work: Part 1

Learn about the identity, the scaling and the rotation matrix.

• 6. How Does Matrix Work: Part 2

In the chapter we will show how matrices store the axes of Cartesian coordinate systems. We will also explain what an orthogonal matrix and what an affine transformation are.

• 7. Transforming Points and Vectors

In this chapter we will lean why we need to use [4x4] matrix to translate points. We will provide the final code for transforming points and vectors.

• 8. Row Major vs Column Major Vector

Vectors (and points) can either be represented as rows or columns of numbers. This notation convention can be a source of confusion among developers.

• 9. Matrix Operations

Tansposing, inverting or computing the determinant of a matrix are some basic operations that any 3D application needs.

• 10. Spherical Coordinates and Trigonometric Functions

Vectors can also be represented by spherical coordinates, a convenient way of also generating random directions.

• 11. Creating an Orientation Matrix or Local Coordinate System

In the chapter we will learn how to create a local coordinate system from a vector (or a normal).

• 12. Transforming Normals

Normals seem similar to vectors but they need to be transformed differently.

• 13. Source Code

This chapter explains the way we have implemented a generic vector and matrix class in C++.