Структура кватерниона
Статья 06/13/2023
Участники: 4
Обратная связь
В этой статье
Четырехмерный вектор, используемый для представления поворота.
Кватернион может эффективно поворачивать объект вокруг вектора (x, y, z) на угловую тету, где w = cos(theta/2). Кватернионы обычно используются для плавной интерполяции между двумя углами и для предотвращения проблемы блокировки каримбалов, которая может возникнуть с углами Эйлера.
Этот тип доступен только в 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)
На месте nultiplies a quaternion by a скалярное значение.
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