Methods
Quaternion представляет единичный кватернион, используемый для кодирования 3D вращений. В отличие от углов Эйлера, кватернионы избегают блокировки кардана и плавно интерполируют. The Transform.rotation свойство на узле сцены хранит a Quaternion.
Компоненты хранятся как (w, x, y, z) где w является скалярной частью и (x, y, z) образуют векторную часть.
Methods: aspose.threed.utilities
Methods
| Methods | Methods |
|---|
Quaternion() | Единичный кватернион (w=1, x=0, y=0, z=0) |
Quaternion(w, x, y, z) | Явный конструктор компонентов |
Methods
| Methods | Methods | Methods |
|---|
w | float | Скалярная (вещественная) часть |
x | float | Компонента x вектора |
y | float | Компонента y вектора |
z | float | Компонента z вектора |
length | float | Модуль кватерниона |
Статические фабричные методы
| Methods | Тип возвращаемого значения | Methods |
|---|
Quaternion.from_euler_angle(pitch, yaw, roll) | Quaternion | Создаёт из углов Эйлера в радианах (pitch=X, yaw=Y, roll=Z). Также принимает Vector3 в качестве первого аргумента |
Quaternion.from_angle_axis(angle, axis) | Quaternion | Конструирует из угла (в радианах) и Vector3 ось |
Quaternion.from_rotation(orig, dest) | Quaternion | Поворот по кратчайшей дуге от направления orig к направлению dest |
Quaternion.interpolate(t, from_q, to_q) | Quaternion | SLERP-интерполяция; t в [0, 1] |
Quaternion.slerp(t, v1, v2) | Quaternion | Псевдоним для interpolate |
Методы экземпляра
| Methods | Тип возвращаемого значения | Methods |
|---|
normalize() | Quaternion | Возвращает копию единичной длины |
conjugate() | Quaternion | Возвращает сопряжённое (w, -x, -y, -z) |
inverse() | Quaternion | Возвращает мультипликативную обратную; вызывает ValueError если длина равна нулю |
dot(q) | float | Скалярное произведение с другим кватернионом |
concat(rhs) | Quaternion | Гамильтоново произведение (композиция двух вращений) |
euler_angles() | Vector3 | Извлекает углы Эйлера (в радианах) как Vector3(roll, pitch, yaw) |
to_matrix(translation=None) | Matrix4 | Преобразует в 4×4 матрицу вращения; опционально встраивает трансляцию Vector3 |
to_angle_axis(angle, axis) | None | Разлагается на угол (в радианах) и ось; результаты записываются в списки из одного элемента angle[0] и axis[0] |
Methods
См. также