Структура кватерниона

Четырехмерный вектор, используемый для представления поворота.

Кватернион может эффективно повернуть объект о векторе (x, y, z) по углам тета, где w = cos(theta/2). Кватернионы обычно используются для плавной интерполяции между двумя углами, и для предотвращения проблемы с гимбальной блокировкой, которая может возникать с углами Euler.

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

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

Имя Описание
quaternion() Создает неинициализированную кватернион.
quaternion(float x, float y, float z, float w) Создает кватернион с указанными значениями.
quaternion(float3 vectorPart, float scalarPart) Создает кватернион из float3 и скалярного.
quaternion(Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion const& value) Преобразует Microsoft.Graphics.Canvas.Numerics.Quaternion в кватернион .

Функции

Имя Описание
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle) Создает кватернион из вектора и угла для поворота вектора.
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) Создает кватернион из указанных углов рывка, шага и свертки.
quaternion make_quaternion_from_rotation_matrix(float4x4 const& matrix) Создает кватернион из матрицы поворота.
bool is_identity(quaternion const& value) Проверяет, является ли это кватернион удостоверения (без поворота).
float length(quaternion const& value) Вычисляет длину кватерниона.
float length_squared(quaternion const& value) Вычисляет длину квадрата кватерниона.
float dot(quaternion const& quaternion1, quaternion const& quaternion2) Вычисляет точечный продукт двух кватернионов.
quaternion normalize(quaternion const& value) Делит каждый компонент кватерниона на длину кватерниона.
quaternion conjugate(quaternion const& value) Вычисляет свертку кватерниона.
quaternion inverse(quaternion const& value) Вычисляет обратное кватернион.
quaternion slerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) Интерполирует между двумя кватернионами, используя сферическую линейную интерполяцию.
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) Линейно интерполяется между двумя кватернионами.
quaternion concatenate(quaternion const& value1, quaternion const& value2) Сцепление двух кватернионов; Результат представляет первую смену, за которой следует второй поворот.

Методы

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

Операторы

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

Поля

Имя Описание
float x X значение векторного компонента кватерниона.
float y Значение Y компонента вектора кватерниона.
float z Z значение векторного компонента кватерниона.
float w Компонент поворота кватерниона.

Требования

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

См. также

API windowsnumerics.h