Methods
Quaternion представлява единичен кватернион, използван за кодиране на 3D завъртания. За разлика от ъглите на Юлер, кватернионите избягват блокиране на гимбал и интерполират плавно. Това Transform.rotation свойството на възел от сцената съхранява 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). Също приема a 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
Вижте също