Вообще, матрицы всем перечисленным сразу не занимаются - их задача чисто геометрическая. Ничего сложного в них нет и их применяют в 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