Fri, Apr 29, 2016
Building a First-Person Shot Camera in C++
A first-person camera captures objects from the viewpoint of a player's character. Some aspects have to be considered, like the characteristics of the camera (orbiting with the mouse and translation with keyboard keys), as well as how we could capture all these characteristics with math and linear algebra. In this article, I analyze the math needed to design and implement a first-person shot camera in C++.
Mon, Mar 7, 2016
Eigenvalues and eigenvectors
An eigenvalue represents how an object scales (or stretches/compresses) a particular direction (or eigenvector) when acted upon by the object. This article covers how to find these values in a square matrix, as well as their applicability in computer graphics.
Wed, Feb 10, 2016
Combining Matrix Transformations
Taking multiple matrices, each encoding a single transformation, and combining them
is how we transform vectors between different spaces. This article covers creating a
transformation matrix that combines a rotation followed by a translation, a translation
followed by a rotation, and creating transformation matrices to transform between different
coordinate systems.
Fri, Feb 5, 2016
Translating Objects with a Transformation Matrix
We build different types of transformation matrices to translate objects along cardinal axes and arbitrary axes in 2D and 3D with matrix multiplication!
Fri, Feb 5, 2016
Shearing Objects with a Transformation Matrix
Shearing is a transformation that skews the coordinate space. The idea is to add a multiple of one coordinate to another.
Tue, Oct 20, 2015
Scaling Objects with a Transformation Matrix
We build different types of transformation matrices to scale objects along cardinal axes and arbitrary axes in 2D and 3D with matrix multiplication!
Thu, Oct 15, 2015
Transformation Matrix
A linear transformation can be represented with a matrix that transforms vectors from one space to another. Transformation matrices allow arbitrary transformations to be displayed in the same format. Also, matrices can be multiplied to enable [composition](../combining-transformations). This article covers how to think and reason about these matrices and the way we can represent them (row vectors vs. column vectors).