Vectors are fundamental to game programming. Understanding of them allows for flexible, efficient and clean code. In simple terms, a vector is a list of numbers which can be interpreted as a point in space or a direction.
Basis is a very simple concept.
N-dimensional vectors have N independent values, meaning each one of them has a unique meaning that cannot be described using other dimensions. So for a 2D vector (X, Y), changing X will never affect Y and vice versa.
For an N-dimensional space, be it 2D or 3D for instance, given a “good” (will be explained later) set of “starting” vectors, we can combine them in specific proportions to get all vectors in the N-dimensional space. Take a look at this 2D example:
<BasisLab />
Linear Combination Scalars
Transformation Matrix [A | B]
This principle is called linear independency, and those values X and Y are called lineraly independent.
<VectorLab />
Cosine (θ): 0.000
Angle: 0° | 0.000 rad
Pi: 0.00π
Basis Matrix
The app was made using Google Gemini.