Ok, so...
I might update this post...
First, I should point that all the math is more precisely explained here: en.wikipedia.org/wiki/Vector_space
Then, for the math part.
A vector space is simply a set of dimensions, like for example this one:
- length,
- height,
- depth,
- alpha,
- time.
These dimensions have units, so we can measure along them.
The zero vector here would be: (0, 0, 0, 0, 0), and the unit vector would be (1, 1, 1, 1, 1).
A vector is a group of n values describing a point in this vector space.
It can used to describe a position, or a displacement, this being a substraction between two positions.
Vectors may be added: +
Vectors may be multiplied: *
Multiplied? Yup, a vector is simply a matrix of dimensions [1, n] or [n, 1]
Now, what interesting physical operations can we use vector for?
- translation: adding a vector (displacement) to a vector (position),
- projection: if I want to get the alpha component of my previous vector space, i just have to multiply it by the matrix [[0, 0, 0, 1, 0]].
- rotation, scaling: well, there we go more into the explanation of matrixes.
We speak of an orthogonal vector space when all projections of unit vectors along each dimension on other dimensions give zero. Physically, they are independent.
And an orthonormal vector space is the same, plus each unit vector along each dimension has the same length when using the same function chosen as "length(vector)".
In 3D worlds, we always use orthonormal vector spaces.