Files
godot-docs-l10n/classes/es/class_quat.rst
Rémi Verschelde cf78697eea Add localized class reference as pre-generated RST files
Currently including `zh_CN` and `es` which both have very high completion
ratios. Others will be added once they reach a significant percentage too.

These RST files will be used by godot-docs in place of its `classes` folder
after we sync with https://github.com/godotengine/godot-docs/pull/5458.

The update workflow is manual for now (example for `zh_CN`):

- Build `godotengine/godot` in the branch we currently track (now `3.x`)
- Run `godot --doctool -l zh_CN`
- Run `cd doc && make rst LANGARG=zh_CN`
- Copy `doc/_build/rst/*` to `classes/zh_CN/` here
- Make sure to have `classes/zh_CN/index.rst` copied from `docs/classes`
2021-12-21 16:07:55 +01:00

304 lines
17 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Quat.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Quat:
Quat
====
Cuaternario.
Descripción
----------------------
Un cuaternario unitario utilizado para representar las rotaciones 3D. Los cuaterniones deben ser normalizados para ser usados para la rotación.
Es similar a Basis, que implementa la representación matricial de las rotaciones, y puede ser parametrizada usando tanto un par eje-ángulo como ángulos de Euler. Basis almacena la rotación, la escala y el corte, mientras que Quat sólo almacena la rotación.
Debido a su compactación y a la forma en que se almacena en la memoria, ciertas operaciones (obtener el ángulo del eje y realizar el SLERP, en particular) son más eficientes y robustas contra los errores de reales.
Tutoriales
--------------------
- `Using 3D transforms <../tutorials/3d/using_transforms.html#interpolating-with-quaternions>`__
- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
Propiedades
----------------------
+---------------------------+---------------------------------+---------+
| :ref:`float<class_float>` | :ref:`w<class_Quat_property_w>` | ``1.0`` |
+---------------------------+---------------------------------+---------+
| :ref:`float<class_float>` | :ref:`x<class_Quat_property_x>` | ``0.0`` |
+---------------------------+---------------------------------+---------+
| :ref:`float<class_float>` | :ref:`y<class_Quat_property_y>` | ``0.0`` |
+---------------------------+---------------------------------+---------+
| :ref:`float<class_float>` | :ref:`z<class_Quat_property_z>` | ``0.0`` |
+---------------------------+---------------------------------+---------+
Métodos
--------------
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`Quat<class_Quat_method_Quat>` **(** :ref:`Basis<class_Basis>` from **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`Quat<class_Quat_method_Quat>` **(** :ref:`Vector3<class_Vector3>` euler **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`Quat<class_Quat_method_Quat>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`Quat<class_Quat_method_Quat>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`angle_to<class_Quat_method_angle_to>` **(** :ref:`Quat<class_Quat>` to **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`cubic_slerp<class_Quat_method_cubic_slerp>` **(** :ref:`Quat<class_Quat>` b, :ref:`Quat<class_Quat>` pre_a, :ref:`Quat<class_Quat>` post_b, :ref:`float<class_float>` weight **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`dot<class_Quat_method_dot>` **(** :ref:`Quat<class_Quat>` b **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_euler<class_Quat_method_get_euler>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`inverse<class_Quat_method_inverse>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_equal_approx<class_Quat_method_is_equal_approx>` **(** :ref:`Quat<class_Quat>` quat **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_normalized<class_Quat_method_is_normalized>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`length<class_Quat_method_length>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`length_squared<class_Quat_method_length_squared>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`normalized<class_Quat_method_normalized>` **(** **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_axis_angle<class_Quat_method_set_axis_angle>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_euler<class_Quat_method_set_euler>` **(** :ref:`Vector3<class_Vector3>` euler **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`slerp<class_Quat_method_slerp>` **(** :ref:`Quat<class_Quat>` to, :ref:`float<class_float>` weight **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Quat<class_Quat>` | :ref:`slerpni<class_Quat_method_slerpni>` **(** :ref:`Quat<class_Quat>` to, :ref:`float<class_float>` weight **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`xform<class_Quat_method_xform>` **(** :ref:`Vector3<class_Vector3>` v **)** |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Constantes
--------------------
.. _class_Quat_constant_IDENTITY:
- **IDENTITY** = **Quat( 0, 0, 0, 1 )** --- El cuaternario de identidad, que no representa una rotación. Equivalente a una matriz :ref:`Basis<class_Basis>` de identidad. Si un vector es transformado por un cuaternario de identidad, no cambiará.
Descripciones de Propiedades
--------------------------------------------------------
.. _class_Quat_property_w:
- :ref:`float<class_float>` **w**
+-----------+---------+
| *Default* | ``1.0`` |
+-----------+---------+
Componente W del cuaternario (parte real).
Los componentes del cuaternario normalmente no deben ser manipulados directamente.
----
.. _class_Quat_property_x:
- :ref:`float<class_float>` **x**
+-----------+---------+
| *Default* | ``0.0`` |
+-----------+---------+
Componente X del cuaternario (parte del eje imaginario ``i``).
Los componentes del cuaternario no deberían ser manipulados directamente.
----
.. _class_Quat_property_y:
- :ref:`float<class_float>` **y**
+-----------+---------+
| *Default* | ``0.0`` |
+-----------+---------+
Componente Y del cuaternario (parte del eje imaginario ``j``).
Los componentes del cuaternario normalmente no deben ser manipulados directamente.
----
.. _class_Quat_property_z:
- :ref:`float<class_float>` **z**
+-----------+---------+
| *Default* | ``0.0`` |
+-----------+---------+
Componente Z del cuaternario (parte del eje imaginario ``k``).
Los componentes del cuaternario normalmente no deben ser manipulados directamente.
Descripciones de Métodos
------------------------------------------------
.. _class_Quat_method_Quat:
- :ref:`Quat<class_Quat>` **Quat** **(** :ref:`Basis<class_Basis>` from **)**
Construye un cuaternario a partir de la :ref:`Basis<class_Basis>` dada.
----
- :ref:`Quat<class_Quat>` **Quat** **(** :ref:`Vector3<class_Vector3>` euler **)**
Construye un cuaternario que realizará una rotación especificada por los ángulos de Euler (en la convención YXZ: al descomponerse, primero Z, luego X, y por último Y), dados en el formato vectorial como (ángulo X, ángulo Y, ángulo Z).
----
- :ref:`Quat<class_Quat>` **Quat** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)**
Construye un cuaternario que girará alrededor del eje dado por el ángulo especificado. El eje debe ser un vector normalizado.
----
- :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 **)**
Construye un cuaternario definido por los valores dados.
----
.. _class_Quat_method_angle_to:
- :ref:`float<class_float>` **angle_to** **(** :ref:`Quat<class_Quat>` to **)**
Returns the angle between this quaternion and ``to``. This is the magnitude of the angle you would need to rotate by to get from one to the other.
\ **Note:** This method has an abnormally high amount of floating-point error, so methods such as :ref:`@GDScript.is_zero_approx<class_@GDScript_method_is_zero_approx>` will not work reliably.
----
.. _class_Quat_method_cubic_slerp:
- :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>` weight **)**
Performs a cubic spherical interpolation between quaternions ``pre_a``, this vector, ``b``, and ``post_b``, by the given amount ``weight``.
----
.. _class_Quat_method_dot:
- :ref:`float<class_float>` **dot** **(** :ref:`Quat<class_Quat>` b **)**
Realiza una interpolación esférica cúbica entre cuaterniones.
----
.. _class_Quat_method_get_euler:
- :ref:`Vector3<class_Vector3>` **get_euler** **(** **)**
Devuelve los ángulos de Euler (en la convención YXZ: al descomponerse, primero Z, luego X e Y al final) correspondientes a la rotación representada por la unidad cuaternaria. El vector devuelto contiene los ángulos de rotación en el formato (ángulo X, ángulo Y, ángulo Z).
----
.. _class_Quat_method_inverse:
- :ref:`Quat<class_Quat>` **inverse** **(** **)**
Devuelve el inverso del cuaternario.
----
.. _class_Quat_method_is_equal_approx:
- :ref:`bool<class_bool>` **is_equal_approx** **(** :ref:`Quat<class_Quat>` quat **)**
Returns ``true`` if this quaternion and ``quat`` are approximately equal, by running :ref:`@GDScript.is_equal_approx<class_@GDScript_method_is_equal_approx>` on each component.
----
.. _class_Quat_method_is_normalized:
- :ref:`bool<class_bool>` **is_normalized** **(** **)**
Devuelve si el cuaternario está normalizado o no.
----
.. _class_Quat_method_length:
- :ref:`float<class_float>` **length** **(** **)**
Devuelve la longitud del cuaternario.
----
.. _class_Quat_method_length_squared:
- :ref:`float<class_float>` **length_squared** **(** **)**
Devuelve la longitud del cuaternario, cuadrada.
----
.. _class_Quat_method_normalized:
- :ref:`Quat<class_Quat>` **normalized** **(** **)**
Devuelve una copia del cuaternario, normalizada a la longitud de la unidad.
----
.. _class_Quat_method_set_axis_angle:
- void **set_axis_angle** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)**
Establece el cuaternario a una rotación que gira alrededor del eje por el ángulo especificado, en radianes. El eje debe ser un vector normalizado.
----
.. _class_Quat_method_set_euler:
- void **set_euler** **(** :ref:`Vector3<class_Vector3>` euler **)**
Establece el cuaternario a una rotación especificada por los ángulos de Euler (en la convención YXZ: al descomponerse, primero Z, luego X e Y en último lugar), dada en el formato vectorial como (ángulo X, ángulo Y, ángulo Z).
----
.. _class_Quat_method_slerp:
- :ref:`Quat<class_Quat>` **slerp** **(** :ref:`Quat<class_Quat>` to, :ref:`float<class_float>` weight **)**
Devuelve el resultado de la interpolación lineal esférica entre este cuaternario y ``a`` por cantidad ``peso``.
\ **Nota:** Ambos cuaterniones deben ser normalizados.
----
.. _class_Quat_method_slerpni:
- :ref:`Quat<class_Quat>` **slerpni** **(** :ref:`Quat<class_Quat>` to, :ref:`float<class_float>` weight **)**
Devuelve el resultado de la interpolación lineal esférica entre este cuaternario y ``a`` por cantidad ``peso``, pero sin comprobar si la trayectoria de rotación no es mayor de 90 grados.
----
.. _class_Quat_method_xform:
- :ref:`Vector3<class_Vector3>` **xform** **(** :ref:`Vector3<class_Vector3>` v **)**
Devuelve un vector transformado (multiplicado) por este cuaternario.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`