Lesson 4: Geometry

  • lesson title

    1. Points, Vectors and Normals

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

  • lesson title

    2. Coordinate Systems

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

  • lesson title

    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.

  • lesson title

    4. Matrices

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

  • lesson title

    5. How Does Matrix Work: Part 1

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

  • lesson title

    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.

  • lesson title

    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.

  • lesson title

    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.

  • lesson title

    9. Matrix Operations

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

  • lesson title

    10. Spherical Coordinates and Trigonometric Functions

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

  • lesson title

    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).

  • lesson title

    12. Transforming Normals

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

  • lesson title

    13. Source Code

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