Поделиться через


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
Реализации

Комментарии

Структура 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)

Возвращает конъюгат указанного кватерниона.

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)

Изменяет знак каждого компонента кватерниона.

Методы расширения

AsVector4(Quaternion)

Переинтерпретирует Quaternion как новую Vector4.

Применяется к