Quaternion Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет вектор, используемый для кодирования трехмерных физических поворотов.
public value class Quaternion : IEquatable<System::Numerics::Quaternion>
public struct Quaternion : IEquatable<System.Numerics.Quaternion>
type Quaternion = struct
Public Structure Quaternion
Implements IEquatable(Of Quaternion)
- Наследование
- Реализации
Комментарии
Quaternion Структура используется для эффективного поворота объекта о векторе (x,y,z) по углам теты, где:
w = cos(theta/2)
Конструкторы
| Имя | Описание |
|---|---|
| Quaternion(Single, Single, Single, Single) |
Создает кватернион из указанных компонентов. |
| Quaternion(Vector3, Single) |
Создает кватернион из указанных частей вектора и поворота. |
Поля
| Имя | Описание |
|---|---|
| W |
Компонент поворота кватерниона. |
| X |
Значение X компонента вектора кватерниона. |
| Y |
Значение Y векторного компонента кватерниона. |
| Z |
Значение Z компонента вектора кватерниона. |
Свойства
| Имя | Описание |
|---|---|
| Identity |
Возвращает кватернион, представляющий отсутствие поворота. |
| IsIdentity |
Возвращает значение, указывающее, является ли текущий экземпляр кватернионом удостоверения. |
| Item[Int32] |
Возвращает или задает элемент по указанному индексу. |
| Zero |
Возвращает кватернион, представляющий ноль. |
Методы
| Имя | Описание |
|---|---|
| Add(Quaternion, Quaternion) |
Добавляет каждый элемент в одном кватернионе с соответствующим элементом во втором кватернионе. |
| Concatenate(Quaternion, Quaternion) |
Объединяет два кватерниона. |
| Conjugate(Quaternion) |
Возвращает конъюгат указанного кватерниона. |
| Create(Single, Single, Single, Single) |
Создает из Quaternion указанных компонентов. |
| Create(Vector3, Single) |
Quaternion Создает из указанных векторных и поворотных частей. |
| CreateFromAxisAngle(Vector3, Single) |
Создает кватернион из вектора единицы и угла для поворота вокруг вектора. |
| CreateFromRotationMatrix(Matrix4x4) |
Создает кватернион из указанной матрицы поворота. |
| CreateFromYawPitchRoll(Single, Single, Single) |
Создает новый кватернион из заданного рывка, шага и рулона. |
| Divide(Quaternion, Quaternion) |
Делит один кватернион на второй кватернион. |
| Dot(Quaternion, Quaternion) |
Вычисляет точечный продукт двух кватернионов. |
| Equals(Object) |
Возвращает значение, указывающее, равны ли этот экземпляр и указанный объект. |
| Equals(Quaternion) |
Возвращает значение, указывающее, равен ли этот экземпляр и другой кватернион. |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
| Inverse(Quaternion) |
Возвращает обратное кватернион. |
| Length() |
Вычисляет длину кватерниона. |
| LengthSquared() |
Вычисляет квадратную длину кватерниона. |
| Lerp(Quaternion, Quaternion, Single) |
Выполняет линейную интерполяцию между двумя кватернионами на основе значения, указывающего вес второго кватерниона. |
| Multiply(Quaternion, Quaternion) |
Возвращает кватернион, который приводит к умножением двух кватернионов вместе. |
| Multiply(Quaternion, Single) |
Возвращает кватернион, который приводит к масштабированию всех компонентов указанного кватерниона скалярным фактором. |
| Negate(Quaternion) |
Изменяет знак каждого компонента кватерниона. |
| Normalize(Quaternion) |
Делит каждый компонент заданной Quaternion длины. |
| Slerp(Quaternion, Quaternion, Single) |
Интерполирует между двумя кватернионами, используя сферическую линейную интерполяцию. |
| Subtract(Quaternion, Quaternion) |
Вычитает каждый элемент во втором кватернионе из соответствующего элемента в первом кватернионе. |
| ToString() |
Возвращает строку, представляющую этот кватернион. |
Операторы
| Имя | Описание |
|---|---|
| Addition(Quaternion, Quaternion) |
Добавляет каждый элемент в одном кватернионе с соответствующим элементом во втором кватернионе. |
| Division(Quaternion, Quaternion) |
Делит один кватернион на второй кватернион. |
| Equality(Quaternion, Quaternion) |
Возвращает значение, указывающее, равны ли два кватерниона. |
| Inequality(Quaternion, Quaternion) |
Возвращает значение, указывающее, равны ли два кватерниона. |
| Multiply(Quaternion, Quaternion) |
Возвращает кватернион, который приводит к умножением двух кватернионов вместе. |
| Multiply(Quaternion, Single) |
Возвращает кватернион, который приводит к масштабированию всех компонентов указанного кватерниона скалярным фактором. |
| Subtraction(Quaternion, Quaternion) |
Вычитает каждый элемент во втором кватернионе из соответствующего элемента в первом кватернионе. |
| UnaryNegation(Quaternion) |
Изменяет знак каждого компонента кватерниона. |
Методы расширения
| Имя | Описание |
|---|---|
| AsVector128(Quaternion) |
Переинтерпретирует новый Quaternion |
| AsVector4(Quaternion) |
Переинтерпретирует новый QuaternionVector4. |