Они представляют собой преобразование.В частности, они представляют базисные векторы преобразованной системы координат.Чтобы понять, что это значит, я рекомендую посмотреть " Сущность линейной алгебры " от 3Blue1Brown. Она объясняет все, что вам нужно знать об этих преобразованиях, интуитивно понятным способом.
Практически, что вы 'В основном я хочу сделать 3 вещи: вы хотите масштабировать ваш объект, вы хотите вращать ваш объект, и вы хотите переместить ваш объект.Все это преобразования.Всякий раз, когда вы видите слово «преобразование», читайте его как «матрица».Все эти операции являются матрицами.
Так, например, матрица масштабирования:
sx 0 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1
Где sx
- это величина, которую вы хотите масштабировать в направлении x
и т. Д..
Матрица вращения будет зависеть от оси вращения, например, это матрица вращения, чтобы вращать объект вокруг оси x на угол t
радиан, следуя правилу правой руки:
1 0 0 0
0 cos(t) sin(t) 0
0 -sin(t) cos(t) 0
0 0 0 1
Вы можете найти другие здесь .
Это матрица перевода, используемая для перемещения объекта:
0 0 0 tx
0 0 0 ty
0 0 0 tz
0 0 0 1
Вы комбинируетеэти преобразования путем умножения их вместе.Поэтому, если ваша точка (x, y, z), S
- это ваша матрица масштабирования, R
- ваша матрица вращения, а T
- ваша матрица перевода, вы преобразуете точку следующим образом: p = T*R*S*(x,y,z,1)
.1
в качестве «4-го измерения» используется для проецирования.Графический процессор делит x
, y
и z
на это значение, называемое w
, после завершения обработки вершины.Исследуйте проекционные матрицы, чтобы узнать больше.