Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Четырехмерный вектор, используемый для представления поворота.
Кватернион может эффективно повернуть объект о векторе (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 |
| Заголовок |
|