Вообще, матрицы всем перечисленным сразу не занимаются - их задача чисто геометрическая. Ничего сложного в них нет и их применяют в D3D и OpenGL, а вот кватернионы мне видятся ненужной сложностью.
В зависимости от потребности используют матрицы 3х3 (только вращение) и 4х4 (полная). Фишка матриц в том, что можно сделать отдельную матрицу для вращения вокруг одной оси, потом матрицу для другого вращения и прочих нужных преобразований, а потом их перемножить, получив одну результирующую матрицу.
Полная матрица:
r r r p
r r r p
r r r p
t t t z
r - вращение
p - перспектива
t - смещение
z - масштаб
Матрицы для:
0. Пустая матрица
1   0   0   0
0   1   0   0
0   0   1   0
0   0   0   1
1. Вращения вокруг оси X
1   0   0   0
0   Cx  Sx  0
0  -Sx  Cx  0
0   0   0   1
2. Вращение вокруг оси Y
Cy  0   -Sx 0
0   1   0   0
Sy  0   Cy  0
0   0   0   1
3. Вращение вокруг оси Z
Cz  Sz  0   0
-Sz Cz  0   0
0   0   1   0
0   0   0   1
4. Масштабирование
Sx  0   0   0
0   Sy  0   0
0   0   Sz  0
0   0   0   1
5. Смещение
1   0   0   0
0   1   0   0
0   0   1   0
dx  dy  dz  1
Еще о матрицах преобразования: 
http://en.wikipedia.org/wiki/Transformation_matrix