Кватернион

открытый класс кватернион

Класс кватерниона Sceneform для поплавков.

Кватернионные операции являются гамильтоновыми с использованием правила правой руки.

Поля

общественное плавание ж
общественное плавание Икс
общественное плавание у
общественное плавание г

Публичные конструкторы

Кватернион ()
Создайте Quaternion и установите Identity
Кватернион (с плавающей запятой x, с плавающей запятой y, с плавающей запятой z, с плавающей запятой w)
Создайте Quaternion и установите каждое значение.
Кватернион ( Quaternion q)
Создайте кватернион, используя значения из другого кватерниона
Кватернион (ось Vector3 , угол плавания)
Создайте кватернион, используя ось/угол, чтобы определить вращение
Кватернион ( Vector3 eulerAngles)
Построить кватернион на основе eulerAngles.

Публичные методы

статический кватернион
axisAngle (ось Vector3 , плавающие градусы)
Получите новый кватернион, используя ось/угол для определения поворота
статическое логическое значение
равно ( Кватернион слева, Кватернион справа)
Сравните два кватерниона

Проверяет равенство путем вычисления скалярного произведения левых и правых сторон.

логический
равно ( объект другой)
Возвращает true, если другой объект является кватернионом, а скалярное произведение равно 1,0 +/- допуск.
статический кватернион
eulerAngles ( Vector3 eulerAngles)
Получите новый кватернион, используя eulerAngles для определения поворота.
статический кватернион
личность ()
Получите кватернион, установленный для идентификации
статический вектор3
Кватернион
перевернутый ()
Получите кватернион с противоположным вращением
статический кватернион
lookRotation ( Vector3 forwardInWorld, Vector3 requiredUpInWorld)
Получите новый кватернион, представляющий вращение в указанном прямом направлении.
статический кватернион
умножить ( кватернион левый, кватернион правый)
Создание кватерниона путем объединения двух кватернионов, умножение (левый, правый) эквивалентно выполнению вращения вправо, а затем влево. Порядок важен для этой операции.
логический
нормализовать ()
Изменяет масштаб кватерниона на единицу длины.
Кватернион
нормализованный ()
Получите кватернион с соответствующим вращением, но масштабированный до единичной длины.
статический вектор3
rotateVector ( Quaternion q, Vector3 src)
Вращает Vector3 на кватернион
статический кватернион
вращениеBetweenVectors (начало Vector3 , конец Vector3 )
Получите новый кватернион, представляющий поворот от одного вектора к другому.
пустота
установить (с плавающей запятой qx, с плавающей запятой qy, с плавающей запятой qz, с плавающей запятой qw)
Установите каждое значение и нормализуйте кватернион
пустота
установить (ось Vector3 , угол плавания)
Обновите этот кватернион, используя ось/угол, чтобы определить вращение
пустота
набор ( кватернион q)
Скопируйте значения из другого кватерниона в этот.
пустота
установитьИдентити ()
Установите кватернион на личность
статический кватернион
slerp (начало кватерниона , конец кватерниона , float t)
Нить

Унаследованные методы

Поля

общественный поплавок w

публичный плавающий x

публичное размещение y

общественный поплавок z

Публичные конструкторы

общественный кватернион ()

Создайте Quaternion и установите Identity

публичный кватернион (с плавающей запятой x, с плавающей запятой y, с плавающей запятой z, с плавающей запятой w)

Создайте Quaternion и установите каждое значение. Кватернион будет нормализован во время строительства

Параметры
Икс
у
г
ж

общедоступный кватернион ( кватернион q )

Создайте кватернион, используя значения из другого кватерниона

Параметры
д

общедоступный кватернион (ось Vector3 , угол плавания)

Создайте кватернион, используя ось/угол, чтобы определить вращение

Параметры
ось Устанавливает направление вращения
угол Размер угла в градусах

публичный кватернион ( Vector3 eulerAngles)

Построить кватернион на основе eulerAngles.

Параметры
Углы Эйлера - угол в градусах для каждой оси.
Смотрите также

Публичные методы

public static Quaternion axisAngle (ось Vector3 , градусы с плавающей запятой)

Получите новый кватернион, используя ось/угол для определения поворота

Параметры
ось Устанавливает направление вращения
градусов Размер угла в градусах

общедоступные статические логические эквиваленты ( Quaternion lhs, Quaternion rhs)

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

Проверяет равенство путем вычисления скалярного произведения левых и правых сторон. lhs и -lhs не будут равны в соответствии с этой функцией.

Параметры
левая
правая сторона

public boolean equals (другой объект )

Возвращает true, если другой объект является кватернионом, а скалярное произведение равно 1,0 +/- допуск.

Параметры
Другой

общедоступный статический кватернион eulerAngles ( Vector3 eulerAngles )

Получите новый кватернион, используя eulerAngles для определения поворота.

Повороты применяются в порядке Z, Y, X. Это совместимо с другими графическими движками. Следует отметить, что системы координат в Sceneform и Unity различаются, поэтому одни и те же углы, используемые здесь, будут иметь другую ориентацию, чем Unity. Внимательно проверьте значения параметров, чтобы получить тот же эффект, что и в других движках.

Параметры
Углы Эйлера - углы в градусах.

публичный статический кватернионный идентификатор ()

Получите кватернион, установленный для идентификации

общедоступный статический Vector3 inverseRotateVector ( Quaternion q, Vector3 src)

Параметры
д
источник

общедоступный перевернутый кватернион ()

Получите кватернион с противоположным вращением

Возвращает
  • противоположное вращение

public static Quaternion lookRotation ( Vector3 forwardInWorld, Vector3 requiredUpInWorld)

Получите новый кватернион, представляющий вращение в указанном прямом направлении. Если upInWorld ортогональна forwardInWorld, то ось Y выровнена по желаемому UpInWorld.

Параметры
вперед в мире
желаемыйUpInWorld

общедоступный статический кватернион умножить ( кватернион левый, кватернион правый)

Создание кватерниона путем объединения двух кватернионов, умножение (левый, правый) эквивалентно выполнению вращения вправо, а затем влево. Порядок важен для этой операции.

Параметры
левая
правая сторона
Возвращает
  • Комбинированное вращение

общедоступная логическая нормализация ()

Изменяет масштаб кватерниона на единицу длины.

Если кватернион не может быть масштабирован, он устанавливается равным Identity и возвращается false.

Возвращает
  • true, если кватернион не равен нулю

общедоступный кватернион нормализован ()

Получите кватернион с соответствующим вращением, но масштабированный до единичной длины.

Возвращает
  • кватернион, масштабированный до единицы длины, или ноль, если это невозможно сделать.

общедоступный статический Vector3 rotateVector ( Quaternion q, Vector3 src)

Вращает Vector3 на кватернион

Параметры
д
источник
Возвращает
  • Повернутый вектор

общедоступное статическое вращение кватернионаBetweenVectors (начало Vector3 , конец Vector3 )

Получите новый кватернион, представляющий поворот от одного вектора к другому.

Параметры
Начало
конец

набор public void (с плавающей запятой qx, с плавающей запятой qy, с плавающей запятой qz, с плавающей запятой qw)

Установите каждое значение и нормализуйте кватернион

Параметры
дх
qy
QZ
qw

открытый набор пустот (ось Vector3 , угол плавания)

Обновите этот кватернион, используя ось/угол, чтобы определить вращение

Параметры
ось
угол

публичный набор пустот ( Quaternion q )

Скопируйте значения из другого кватерниона в этот.

Параметры
д

общественное недействительное setIdentity ()

Установите кватернион на личность

public static Quaternion slerp (начало Quaternion , конец Quaternion , float t)

Параметры
Начало
конец
т

общедоступная строка toString ()