Структура float4x4

Матрица 4x4, используемая для трехмерных преобразований.

Этот тип матрицы использует макет векторов строк. Значения x, y и z вектора перевода этой матрицы соответствуют полям m41, m42, m43.

Этот тип доступен только в C++. Эквивалентом .NET является System.Numerics.Matrix4x4.

Конструкторы

Имя Описание
float4x4() Создает неинициализированный float4x4.
float4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44) Создает float4x4 с указанными значениями.
explicit float4x4(float3x2 value) Создает float4x4 из float3x2.
float4x4(Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4 const& value) Преобразует Microsoft.Graphics.Canvas.Numerics.Matrix4x4 в float4x4.

Функции

Имя Описание
float4x4 make_float4x4_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& cameraUpVector, float3 const& cameraForwardVector) Создает сферический рекламный щит, который вращается вокруг указанного положения объекта с помощью правой системы координат.
float4x4 make_float4x4_?constrained_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& rotateAxis, float3 const& cameraForwardVector, float3 const& objectForwardVector) Создает цилиндрический рекламный щит, который вращается вокруг указанной оси, используя правую систему координат.
float4x4 make_float4x4_translation(float3 const& position) Создает матрицу трансляции.
float4x4 make_float4x4_translation(float xPosition, float yPosition, float zPosition) Создает матрицу трансляции.
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale) Создает матрицу масштабирования, центрированную по источнику.
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale, float3 const& centerPoint) Создает матрицу масштабирования по центру указанной точки.
float4x4 make_float4x4_scale(float3 const& scales) Создает матрицу масштабирования, центрированную по источнику.
float4x4 make_float4x4_scale(float3 const& scales, float3 const& centerPoint) Создает матрицу масштабирования по центру указанной точки.
float4x4 make_float4x4_scale(float scale) Создает матрицу масштабирования, центрированную по источнику.
float4x4 make_float4x4_scale(float scale, float3 const& centerPoint) Создает матрицу масштабирования по центру указанной точки.
float4x4 make_float4x4_rotation_x(float radians) Создает матрицу поворота оси X, центрированную по источнику.
float4x4 make_float4x4_rotation_x(float radians, float3 const& centerPoint) Создает матрицу поворота оси X по центру указанной точки.
float4x4 make_float4x4_rotation_y(float radians) Создает матрицу поворота оси Y, центрированную по источнику.
float4x4 make_float4x4_rotation_y(float radians, float3 const& centerPoint) Создает матрицу поворота оси Y, центрированную по указанной точке.
float4x4 make_float4x4_rotation_z(float radians) Создает матрицу поворота оси Z, центрированную по источнику.
float4x4 make_float4x4_rotation_z(float radians, float3 const& centerPoint) Создает матрицу поворота оси Z, центрированную по указанной точке.
float4x4 make_float4x4_from_axis_angle(float3 const& axis, float angle) Создает матрицу, которая вращается вокруг произвольного вектора.
float4x4 make_float4x4_perspective_field_of_view(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance) Создает матрицу проекции перспективы на основе поля зрения, используя правую систему координат.
float4x4 make_float4x4_perspective(float width, float height, float nearPlaneDistance, float farPlaneDistance) Создает матрицу проекции перспективы, используя правую систему координат.
float4x4 make_float4x4_perspective_off_center(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance) Создает настраиваемую матрицу проекции перспективы, используя правую систему координат.
float4x4 make_float4x4_orthographic(float width, float height, float zNearPlane, float zFarPlane) Создает матрицу орфографической проекции, используя правую систему координат.
float4x4 make_float4x4_?orthographic_off_center(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane) Создает настраиваемую матрицу орфографической проекции, используя правую систему координат.
float4x4 make_float4x4_look_at(float3 const& cameraPosition, float3 const& cameraTarget, float3 const& cameraUpVector) Создает матрицу представления с помощью правой системы координат.
float4x4 make_float4x4_world(float3 const& position, float3 const& forward, float3 const& up) Создает матрицу мира, используя правую систему координат. Его можно использовать для размещения объектов в трехмерном пространстве.
float4x4 make_float4x4_from_quaternion(quaternion const& quaternion) Создает матрицу поворота из кватерниона.
float4x4 make_float4x4_from_yaw_pitch_roll(float yaw, float pitch, float roll) Создает матрицу поворота на основе указанного поворота, шага и рулона.
float4x4 make_float4x4_shadow(float3 const& lightDirection, plane const& plane) Создает матрицу, которая создает проекцию геометрической фигуры на указанной плоскости подобно отбрасыванию тени от указанного источника света.
float4x4 make_float4x4_reflection(plane const& value) Создает матрицу, отражающую систему координат для указанной плоскости.
bool is_identity(float4x4 const& value) Проверяет, является ли это матрицей удостоверений.
float determinant(float4x4 const& value) Вычисляет детерминант матрицы.
float3 translation(float4x4 const& value) Возвращает вектор преобразования матрицы.
bool invert(float4x4 const& matrix, _Out_ float4x4* result) Вычисляет обратное значение матрицы. Возвращает значение true, если матрица может быть инвертирована; В противном случае значение false.
bool decompose(float4x4 const& matrix, _Out_ float3* scale, _Out_ quaternion* rotation, _Out_ float3* translation) Извлекает скалярные компоненты, компоненты преобразования и поворота из трехмерной матрицы масштабирования, поворота и перевода (SRT). Возвращает значение true, если матрица может быть разложена; В противном случае значение false.
float4x4 transform(float4x4 const& value, quaternion const& rotation) Преобразует матрицу, применяя поворот кватерниона.
float4x4 transpose(float4x4 const& matrix) Транспонирует компоненты матрицы по ее диагонали.
float4x4 lerp(float4x4 const& matrix1, float4x4 const& matrix2, float amount) Линейно интерполирует между соответствующими значениями двух матриц.

Методы

Имя Описание
static float4x4 identity() Возвращает экземпляр матрицы удостоверений.

Операторы

Имя Описание
float4x4 operator+ (float4x4 const& value1, float4x4 const& value2) Добавляет каждый компонент матрицы в другую матрицу.
float4x4 operator- (float4x4 const& value1, float4x4 const& value2) Вычитает каждый компонент матрицы из другой матрицы.
float4x4 operator* (float4x4 const& value1, float4x4 const& value2) Умножает матрицу на другую матрицу. Это имеет эффект объединения двух преобразований.
float4x4 operator* (float4x4 const& value1, float value2) Умножает каждый компонент матрицы на скалярное значение.
float4x4 operator- (float4x4 const& value) Отрицает каждый компонент матрицы.
float4x4& operator+= (float4x4& value1, float4x4 const& value2) На месте добавляет каждый компонент матрицы в другую матрицу.
float4x4& operator-= (float4x4& value1, float4x4 const& value2) На месте вычитает каждый компонент матрицы из другой матрицы.
float4x4& operator*= (float4x4& value1, float4x4 const& value2) На месте умножает матрицу на другую матрицу. Это имеет эффект объединения двух преобразований.
float4x4& operator*= (float4x4& value1, float value2) На месте умножает каждый компонент матрицы на скалярное значение.
bool operator== (float4x4 const& value1, float4x4 const& value2) Определяет, равны ли два экземпляра float4x4.
bool operator!= (float4x4 const& value1, float4x4 const& value2) Определяет, равны ли два экземпляра float4x4.
operator Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4() const Преобразует float4x4 в Microsoft.Graphics.Canvas.Numerics.Matrix4x4.

Поля

Имя Описание
float m11 Значение в строке 1 столбца 1 матрицы.
float m12 Значение в строке 1 столбца 2 матрицы.
float m13 Значение в строке 1 в столбце 3 матрицы.
float m14 Значение в строке 1 столбца 4 матрицы.
float m21 Значение в строке 2 столбца 1 матрицы.
float m22 Значение в строке 2 столбца 2 матрицы.
float m23 Значение в строке 2 столбца 3 матрицы.
float m24 Значение в строке 2, столбце 4 матрицы.
float m31 Значение в строке 3 столбца 1 матрицы.
float m32 Значение в строке 3 столбца 2 матрицы.
float m33 Значение в строке 3 столбца 3 матрицы.
float m34 Значение в строке 3, столбце 4 матрицы.
float m41 Значение в строке 4 столбца 1 матрицы.
float m42 Значение в строке 4, столбце 2 матрицы.
float m43 Значение в строке 4 в столбце 3 матрицы.
float m44 Значение в строке 4, столбце 4 матрицы.

Требования

Требование Значение
Пространство имен Windows::Foundation::Numerics
Заголовок
Windowsnumerics.h

См. также раздел

API-интерфейсы windowsnumerics.h