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
Див. також