class_quat.rst 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_Quat:
  4. Quat
  5. ====
  6. **Category:** Built-In Types
  7. Brief Description
  8. -----------------
  9. Quaternion.
  10. Member Functions
  11. ----------------
  12. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  13. | :ref:`Quat<class_quat>` | :ref:`Quat<class_Quat_Quat>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)** |
  14. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  15. | :ref:`Quat<class_quat>` | :ref:`Quat<class_Quat_Quat>` **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)** |
  16. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  17. | :ref:`Quat<class_quat>` | :ref:`Quat<class_Quat_Quat>` **(** :ref:`Matrix3<class_matrix3>` from **)** |
  18. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  19. | :ref:`Quat<class_quat>` | :ref:`cubic_slerp<class_Quat_cubic_slerp>` **(** :ref:`Quat<class_quat>` b, :ref:`Quat<class_quat>` pre_a, :ref:`Quat<class_quat>` post_b, :ref:`float<class_float>` t **)** |
  20. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  21. | :ref:`float<class_float>` | :ref:`dot<class_Quat_dot>` **(** :ref:`Quat<class_quat>` b **)** |
  22. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | :ref:`Quat<class_quat>` | :ref:`inverse<class_Quat_inverse>` **(** **)** |
  24. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | :ref:`float<class_float>` | :ref:`length<class_Quat_length>` **(** **)** |
  26. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | :ref:`float<class_float>` | :ref:`length_squared<class_Quat_length_squared>` **(** **)** |
  28. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`Quat<class_quat>` | :ref:`normalized<class_Quat_normalized>` **(** **)** |
  30. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`Quat<class_quat>` | :ref:`slerp<class_Quat_slerp>` **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)** |
  32. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`Quat<class_quat>` | :ref:`slerpni<class_Quat_slerpni>` **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)** |
  34. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`Vector3<class_vector3>` | :ref:`xform<class_Quat_xform>` **(** :ref:`Vector3<class_vector3>` v **)** |
  36. +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. Member Variables
  38. ----------------
  39. - :ref:`float<class_float>` **w**
  40. - :ref:`float<class_float>` **x**
  41. - :ref:`float<class_float>` **y**
  42. - :ref:`float<class_float>` **z**
  43. Description
  44. -----------
  45. Quaternion is a 4 dimensional vector that is used to represent a rotation. It mainly exists to perform SLERP (spherical-linear interpolation) between to rotations obtained by a Matrix3 cheaply. Adding quaternions also cheaply adds the rotations, however quaternions need to be often normalized, or else they suffer from precision issues.
  46. Member Function Description
  47. ---------------------------
  48. .. _class_Quat_Quat:
  49. - :ref:`Quat<class_quat>` **Quat** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)**
  50. .. _class_Quat_Quat:
  51. - :ref:`Quat<class_quat>` **Quat** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
  52. .. _class_Quat_Quat:
  53. - :ref:`Quat<class_quat>` **Quat** **(** :ref:`Matrix3<class_matrix3>` from **)**
  54. .. _class_Quat_cubic_slerp:
  55. - :ref:`Quat<class_quat>` **cubic_slerp** **(** :ref:`Quat<class_quat>` b, :ref:`Quat<class_quat>` pre_a, :ref:`Quat<class_quat>` post_b, :ref:`float<class_float>` t **)**
  56. .. _class_Quat_dot:
  57. - :ref:`float<class_float>` **dot** **(** :ref:`Quat<class_quat>` b **)**
  58. Returns the dot product between two quaternions.
  59. .. _class_Quat_inverse:
  60. - :ref:`Quat<class_quat>` **inverse** **(** **)**
  61. Returns the inverse of the quaternion (applies to the inverse rotation too).
  62. .. _class_Quat_length:
  63. - :ref:`float<class_float>` **length** **(** **)**
  64. Returns the length of the quaternion.
  65. .. _class_Quat_length_squared:
  66. - :ref:`float<class_float>` **length_squared** **(** **)**
  67. Returns the length of the quaternion, squared.
  68. .. _class_Quat_normalized:
  69. - :ref:`Quat<class_quat>` **normalized** **(** **)**
  70. Returns a copy of the quaternion, normalized to unit length.
  71. .. _class_Quat_slerp:
  72. - :ref:`Quat<class_quat>` **slerp** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
  73. Perform a spherical-linear interpolation with another quaternion.
  74. .. _class_Quat_slerpni:
  75. - :ref:`Quat<class_quat>` **slerpni** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
  76. .. _class_Quat_xform:
  77. - :ref:`Vector3<class_vector3>` **xform** **(** :ref:`Vector3<class_vector3>` v **)**