Quaternion predstavlja jedinični kvaternion koji se koristi za kodiranje 3D rotacija. Za razliku od Eulerovih uglova, kvaternioni izbegavaju gimbal lock i interpoliraju glatko. The Transform.rotation svojstvo na čvoru scene čuva a Quaternion.
Komponente se čuvaju kao (w, x, y, z) gde w je skalarni deo i (x, y, z) formiraju vektorski deo.
: aspose.threed.utilities
| |
|---|
Quaternion() | Identitet kvaternion (w=1, x=0, y=0, z=0) |
Quaternion(w, x, y, z) | Eksplicitni konstruktor komponenti |
| | |
|---|
w | float | Skalar (realni) deo |
x | float | Vektor x-komponenta |
y | float | Vektor y-komponenta |
z | float | Vektor z-komponenta |
length | float | Magnituda kvaterniona |
Statičke metode fabrike
| Tip povratne vrednosti | |
|---|
Quaternion.from_euler_angle(pitch, yaw, roll) | Quaternion | Kreira iz Eulerovih uglova u radijanima (pitch=X, yaw=Y, roll=Z). Takođe prihvata a Vector3 kao prvi argument |
Quaternion.from_angle_axis(angle, axis) | Quaternion | Konstrukcije iz ugla (radijani) i Vector3 osa |
Quaternion.from_rotation(orig, dest) | Quaternion | Rotacija najkraćeg luka od pravca orig ka pravcu dest |
Quaternion.interpolate(t, from_q, to_q) | Quaternion | SLERP interpolacija; t u [0, 1] |
Quaternion.slerp(t, v1, v2) | Quaternion | Alias za interpolate |
Metode instance
| Tip povratka | |
|---|
normalize() | Quaternion | Vraća kopiju jedinične dužine |
conjugate() | Quaternion | Vraća konjugat (w, -x, -y, -z) |
inverse() | Quaternion | Vraća multiplikativni inverz; podiže ValueError ako je dužina nula |
dot(q) | float | Skalarni proizvod sa drugim kvaternionom |
concat(rhs) | Quaternion | Hamiltonov proizvod (kompozicija dve rotacije) |
euler_angles() | Vector3 | Izvlači Eulerove uglove (radijani) kao Vector3(roll, pitch, yaw) |
to_matrix(translation=None) | Matrix4 | Konvertuje u 4×4 matricu rotacije; opcionalno ugrađuje translaciju Vector3 |
to_angle_axis(angle, axis) | None | Rasčlanjuje se na ugao (radijani) i osu; rezultati se upisuju u liste sa jednim elementom angle[0] i axis[0] |
Vidi takođe