Example
Quaternion представляет единичный кватернион, используемый для вращения. Он избегает блокировки кардана и обеспечивает плавную интерполяцию между ориентациями. The Transform класс хранит вращение как Quaternion доступный через getRotation() / setRotation().
Example: com.aspose.threed
Example
| Example | Example |
|---|
Quaternion() | Единичный кватернион (1, 0, 0, 0) |
Quaternion(double w, double x, double y, double z) | Создаётся из четырёх компонентов |
Публичные поля
Quaternion использует публичные поля для доступа к компонентам (не методы getter/setter):
| Example | Example | Example | Example |
|---|
w | double | q.w | Скалярная (вещественная) часть |
x | double | q.x | X‑компонента векторной части |
y | double | q.y | Y‑компонента векторной части |
z | double | q.z | Z‑компонента векторной части |
Вычисляемые свойства
| Example | Example | Example | Example |
|---|
length | double | getLength() | Модуль кватерниона (должен быть 1.0 для единичного кватерниона) |
Статические поля
| Example | Example | Example |
|---|
IDENTITY | Quaternion | Единичный кватернион (1, 0, 0, 0) – без вращения |
Статические методы
| Example | Тип возвращаемого значения | Example |
|---|
Quaternion.fromEuler(double x, double y, double z) | Quaternion | Создаёт кватернион из углов Эйлера в градусах |
Quaternion.fromAngleAxis(double angle, Vector3 axis) | Quaternion | Создаёт кватернион из угла (в радианах) и оси вращения |
Методы экземпляра
| Example | Тип возвращаемого значения | Example |
|---|
normalize() | Quaternion | Возвращает копию единичной длины |
conjugate() | Quaternion | Возвращает сопряжённое (с отрицательной векторной частью) |
inverse() | Quaternion | Возвращает мультипликативную обратную |
toEulerAngles() | Vector3 | Преобразует в углы Эйлера в градусах |
toMatrix() | Matrix4 | Преобразует в 4x4 матрицу вращения |
Example
См. также