Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DirectX.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

Нормализованная матрица

Матрица может быть нормализована на 1, в таких случаях она будет называться нормализованной и её модуль будет равен 1.

Все матрицы вращения являются нормализованными матрицами. При этом сколько вращений бы не происходило, то есть сколько бы таких матриц не перемножалось, их модуль не изменится. Так что последовательность нескльких вращений можно комбинировать в одну матрицу:

Матрицы трансформаций

Трансформации бывают трех видов это:

  • Вращение

  • Масштабирование

  • Перемещение

Матрицы трансформаций пригодятся для помещения объекта в нужное место 3d пространства. Причем последовательность таких операций следующая: Сначала мы масштабируем объект, затем поворачиваем объект на нужный угол, потом перемещаем. Если последовательность будет другая, то результат будет непредсказуем, и где объект окажется в 3d пространстве, вы сможете определить сами, если, конечно найдете этот объект. Матрицы вращения бывают для нескольких осей. В основном нужна матрица для вращения вокруг вертикальной оси, она такая:

Матрица мастшабирования может быть симметричной и несимметричной. Для второго случая матрица выглядит так:

Несимметричное масштабирование означает, что мы вытягиваем объект в одну сторону больше чем в другие. Если вы хотите пропорционально масштабировать объект, то сделайте все компоненты матрицы x, y, z равными друг другу. Матрица для перемещения выглядит так:

Матрицы, используемые в DirectX

Для того, чтобы осуществить все необходимые преобразования с объектом, в DirectX существуют три матрицы. Первая из них располагает в нужном месте 3d пространства объект, остальные две используются для правильного размещения объекта с учетом расположения камеры и перспективы. Итак существуют три матрицы:

  • Мировая матрица

  • Матрица камеры

  • Матрица проекций

В системе DirectX для этих матриц сделаны следующие обозначения: matrix World, View, Projection. Мировая матрица соответственно равна трем матрицам трансформаций, рассмотренным в предыдущем разделе, умноженным друг на друга.

На рисунке представлено влияение матрицы трансформаций: объект был масштабирован и перемещен из начала координат в нужную точку 3d пространства.

Влияение матрицы камеры: все объекты были повернуты таким образом, как будто на них осущствляется взгляд из определенной точки, находящейся в том месте где находится камера.

Влияние матрицы проекций: объекты располагаются и отображается с нужной перспективой.

Заключение

В данном уроке мы произвели небольшой экскурс в математику. Для работы в DirectX11 без всего этого просто не обойтись. Вы узнали, что кроме обычных чисел существуют также числа в виде векторов и матриц. В математике существует специальный раздел, посвященный векторному и тензорному исчислению, соответственно вы можете найти всю необходимую дополнительную информацию. В следующем уроке мы непосредственно применим полученные навыки и установим матрицы для трансформаций, для камеры и проективную матрицу, результатом чего будет являтся то, что мы будем иметь возможность рассматривать сцену с различных точек трехмерного пространства.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]